Spring v5.1.12.RELEASE Release Notes

Release Date: 2019-12-03 // almost 3 years ago
  • ๐Ÿฑ โญ๏ธ New Features

    • 0๏ธโƒฃ Provide default codecs config callback to custom codecs #24119
    • ๐Ÿ‘ Allow ExchangeStrategies customizations in WebClient #24106
    • Cache result of String.getBytes() in ExtendedBeanInfo.PropertyDescriptorComparator #24095
    • IOException "Closed while Pending/Unready" with WebFlux on Jetty #24060
    • Avoid substring allocation in StringUtils.replace #24024
    • ๐Ÿ‘Œ Support for new MySQL 8 error code 3572 #23973
    • WebClient retry() doesn't re-run filters #23909

    ๐Ÿฑ ๐Ÿž Bug fixes

    • ๐Ÿ“œ NullPointerException in JSON codec parsing stream encoded with Jackson Smile #24076
    • Revise AbstractBeanDefinition equals implementation #24054
    • SqlRowSet accessor methods should be marked @nullable #24044
    • ControllerAdviceBean.findAnnotatedBeans() finds proxies as well as their target beans, resulting in double registration #24018
    • Ensure InstantFormatter can properly deserialize ISO-formatted dates #23993
    • ๐Ÿ‘ Allow schemaZip Gradle task to execute on MS Windows #23987
    • Corrupted multipart + correct content-length lead to Flux hanging #23948
    • ShallowETagHeaderFilter overwrites ETag #23941
    • ResponseCookie to allow leading dot in domain name #23928
    • โœ… Regression in spring-test's 5.2.1 MockCookie parse implementation #23920
    • ๐Ÿ‘‰ useSuffixPatternMatch ignored if pathPrefix is also used #23919

    ๐Ÿ“” Documentation

    • TypeDescriptor#getElementTypeDescriptor does not throw IllegalStateException anymore #23997
    • ๐Ÿ”ง Different behavior when injecting beans from local @configuration class vs. external @configuration classes #23990
    • 0๏ธโƒฃ DEFAULT_PHASE of SmartLifecycle interface has incorrect Javadoc #23964
    • Correct Javadoc for WebMvcConfigurer#addInterceptors #23913

    โฌ†๏ธ ๐Ÿ”จ Dependency upgrades

    • โฌ†๏ธ Upgrade to Reactor Californium-SR14 #24038