• spring-projects/spring-framework

    Release notes

    :star: 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

    :beetle: 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

    :notebook_with_decorative_cover: 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

    :heart: Contributors

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