Spring Framework 5.1.8 releases

Spring Framework

The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications – on any kind of deployment platform.

A key element of Spring is infrastructural support at the application level: Spring focuses on the “plumbing” of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.Spring Framework



  • Core technologies: dependency injection, events, resources, i18n, validation, data binding, type conversion, SpEL, AOP.
  • Testing: mock objects, TestContext framework, Spring MVC Test, WebTestClient.
  • Data Access: transactions, DAO support, JDBC, ORM, Marshalling XML.
  • Spring MVC and Spring WebFlux web frameworks.
  • Integration: remoting, JMS, JCA, JMX, email, tasks, scheduling, cache.
  • Languages: Kotlin, Groovy, dynamic languages.

Changelog v5.1.8

⭐️ New Features

  • Thread-safe removal of destruction callbacks in web scopes #23117
  • Guard against ConcurrentModificationExceptions in the systemProperties PropertySource #23063
  • OncePerRequestFilter does not work properly on Error Dispatch on Jetty #22989
  • SimpleMessageListenerContainer – add possibility to disable manual recovery #22987
  • AntPathMatcher#isPattern ignores template variables #22959
  • Avoid expensive assertions in web resource resolution #22955
  • WebFlux: Mono does not invoke onComplete(), but instead cancel() #22952
  • Illegal reflective access on shutdown of ExecutorService #22939
  • Illegal reflective access by SpEL ReflectivePropertyAccessor #22242

🐞 Bug Fixes

  • Fix MockHttpServletRequest.setCookies to produce single Cookie header #23074
  • MappingMediaTypeFileExtensionResolver ConcurrentModificationException #23064
  • Weird behaviour when calling ApplicationContext.getBean() with a null class reference #23045
  • StompSubProtocolHandler does not close the connection after sending an ERROR frame #23039
  • WebFlux AbstractView does not allow null model values anymore #23038
  • Fix ScriptUtils for MS Windows line ending #23019
  • validation error message {0} is not working #23014
  • AnnotatedElementUtils.findMergedAnnotation not working for javax annotations (e.g. NotNull) #22957
  • WebFlux AbstractView does not update BindingResult for resolved async attributes #22933
  • HeaderResultMatchers should not import org.junit.Assert #22932

📔 Documentation

  • Reintroduce author list and copyright notice #23049
  • spring-mvc.xsd stale-if-error attribute documentation incorrect #22983
  • AbstractBeanDefinition.getBeanClass() javadoc misleads about returning null #22960
  • Fix typo in package-info.java #22941