Spring v5.3.1 Release Notes

Release Date: 2020-11-10 // over 3 years ago
  • ๐Ÿฑ โญ New Features

    • ๐Ÿ”ฆ Expose a public method "isClosed" to indicate whether the connection has been closed in WebSocketSession (WebFlux) #26043
    • WebFlux missing programmatic handling of MappingJacksonValue #26035
    • โšก๏ธ Optimize locking in AspectJProxyFactory for concurrent aspect instantiation #26034
    • โšก๏ธ Upgrade SpelCompiler bytecode level to 1.8 and optimize for concurrent access #26033
    • ๐Ÿ”€ MergedAnnotationCollectors.toAnnotationSet() should not create intermediate ArrayList #26031
    • SpEL doesn't work nicely with records #26029
    • ๐Ÿ”Š StompSubProtocolHandler logs failed authentication with error stack trace #26026
    • ๐Ÿ”ฆ Expose toEntityFlux methods in WebClient.ResponseSpec #26023
    • ๐Ÿ‘Œ Improve AdvisedSupport.getAdvisors() #26017
    • ๐Ÿ‘Œ Improve URI/query strings sanitization #26012
    • 0๏ธโƒฃ DefaultSimpUserRegistry prevents event from being published if original SimpMessageHeaderAccessor cannot be found #26010
    • 0๏ธโƒฃ DefaultWebClientBuilder copies references #25992
    • Inefficient request handling inside ServletRequestDataBinder #25986
    • Avoid multiple volatile reads/writes in a row where only one is enough #25899
    • ๐Ÿ‘ Allows Jackson2 encoders to log Throwable reason for not being able to serialize or deserialize #25892
    • Mechanism to access request bound objects in WebClient filter in servlet env #25710

    ๐Ÿฑ ๐Ÿž Bug Fixes

    • Cannot be cast to class Publisher error with non suspending @Transactional functions #26052
    • ๐Ÿ›  Fix wrong reference in UrlPathHelper.removeSemicolonContentInternal() #26050
    • โฑ setTaskScheduler in StompBrokerRelayRegistration breaks chaining #26049
    • โž• Add FullyQualifiedAnnotationBeanNameGenerator.INSTANCE #26025
    • Autowiring does not work reliably in case of dynamically changing prototype bean class #26019
    • โœ… Order of profiles in tests is not preserved #26004
    • โช @Transactional on suspending function returning a value always rollbacks #25998
    • ๐Ÿ‘€ SseEmitter: connection closed after first event #25987
    • @Nonnull annotation breaks ServletRequestMethodArgumentResolver for Principal #25981
    • Spring MVC's locale resolver can no longer be customized in parent context #25290

    ๐Ÿ“” Documentation

    • ๐Ÿ›  Fix kotlin example code which does not compile #26016
    • ๐Ÿ›  Fix a broken Asciidoctor syntax in core-resources.adoc #25999

    ๐Ÿฑ โค๏ธ Contributors

    ๐Ÿš€ We'd like to thank all the contributors who worked on this release!