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!