Spring Framework - v5.3.24

:star: New Features

  • Avoid reflection for annotation method invocations #29448
  • Avoid unnecessary allocations in StompDecoder#unescape #29443
  • Avoid String allocations in MediaType.checkParameters #29428
  • Reduce allocations caused by producible media types #29412
  • Provide optional SimpleBeanInfoFactory for better introspection performance in 5.3.x #29330
  • Filter out null WebSocket session attributes #29315
  • Introduce TestSocketUtils as a replacement for SocketUtils #29132
  • Avoid Commons Logging API for using LoggingCacheErrorHandler with a custom logger #28678

:lady_beetle: Bug Fixes

  • Missing SessionFactory property (filter AutoCloseable from PropertyDescriptors) #29480
  • SpEL ternary and Elvis expressions are missing enclosing parentheses in toStringAST() #29463
  • If-Unmodified-Since header check removes Last-Modified and Etag headers from response, even if condition passes #29362
  • Annotation searches fail for non-public repeatable annotations #29301
  • AbstractBeanFactory's interaction with BeanPostProcessorCacheAwareList is not fully thread-safe #29299
  • WebTestClient cannot assert custom HTTP status code #29283
  • Body token not expected error when trying to upload a large multipart file #29227
  • Avoid resizing of Maps created by CollectionUtils #29190
  • DefaultWebClient logging sensitive information in URI #29148
  • Fix SimpleMailMessage nullability annotations #29139
  • Webflux fails to apply the rule for controller methods returning void to kotlin suspend functions returning Unit #27629
  • Resource.isFile() return true when the resource path actually not exists #26707
  • AnnotatedElementUtils does not find merged repeatable annotations on other repeatable annotations #20279

:notebook_with_decorative_cover: Documentation

  • Fix two typos in integration.adoc and webflux.adoc #29469
  • Fix typo: "as describe in" -> "as described in" #29393
  • Fix typos #29364
  • Correct documentation for "other return values" from a web controller method #29349
  • Document how to use WebJars without webjars-locator-core dependency #29322
  • Update RestTemplate Javadoc with regards to setting interceptors on startup vs at runtime #29311
  • Document how to switch to the default set of TestExecutionListeners #29281
  • Document limitation of AopTestUtils.getUltimateTargetObject() regarding non-static TargetSource #29276
  • Fix typo in WebSocket reference doc regarding subscription header #29228
  • Fix MockMvc sample setup #29201

:hammer: Dependency Upgrades

  • Upgrade to Reactor 2020.0.25 #29464

:heart: Contributors

We'd like to thank all the contributors who worked on this release!


Nov. 16, 2022, 8:27 a.m.
Register or login to:
  • 🔍View and search all Spring Framework releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google