⭐ New Features
- Default async timeout handling results in Logged Exception for Tomcat 8.5.x [SPR-14739] #19305
- Improve performance of StompEncoder.encode() [SPR-14747] #19313
- StompSubProtocolHandler makes the same assumption about header accessor as SimpleBrokerMessageHandler used to [SPR-14791] #19357
- Normalize resource URL in ResourceServlet [SPR-14946] #19513
🪲 Bug Fixes
- ObjectToObjectConverter should be able to use constructors on non-public classes [SPR-14304] #18876
- Async advisor retrieval blocks when triggered by singleton init method [SPR-14324] #18896
- IPv6 + Origin header + X-Forwarded-Host header gives NumberFormatException (Safari10 / CORS) [SPR-14761] #19327
- SockJs heartbeat causes deadlock with XHR polling [SPR-14833] #19399
- SimpleApplicationEventMulticaster should not generally suppress ClassCastException [SPR-14846] #19412
- NPE PropertyOrFieldReference$AccessorLValue due to concurrency issue [SPR-14850] #19416
- AbstractSockJsSession deadlock when tomcat WsSession is closing [SPR-14917] #19484
- List-to-String conversion exception does not refer to element type [SPR-14971] #19537
- ImportAware.setImportMetadata not invoked if import inherited from superclass with negative condition [SPR-14972] #19538
- Concurrency problem in DeferredResult: potential double execution of handleResult [SPR-14978] #19544
- Pointcut evaluation fails against AbstractHandlerMethodMapping$MappingRegistry with AspectJ 1.8.10 [SPR-15019] #19586
- MBeanExporter fails against null beans [SPR-15031] #19598