Spring v5.2.7.RELEASE Release Notes

Release Date: 2020-06-09 // almost 4 years ago
  • ๐Ÿฑ โญ New Features

    • Implement reliable invocation order for advice within an @Aspect #25186
    • ๐ŸŽ Performance enhancement in execution of ResponseEntity.of() #25183
    • ๐Ÿ‘Œ Support for shared GroovyClassLoader in GroovyScriptFactory #25177
    • Suggest making a Set.size() > 0 judgement for AbstractApplicationContext.earlyApplicationEvents #25161
    • ๐Ÿ”ง Make use of custom types configurable in YamlProcessor #25152
    • 0๏ธโƒฃ Avoid need for default constructor in ContextAnnotationAutowireCandidateResolver subclasses #25131
    • ConstructorResolver.resolveConstructorArguments() return value issue #25130
    • Introduce serializeToByteArray/deserializeFromByteArray convenience methods #25117
    • ๐Ÿคก Custom HTTP Method on MockServerHttpRequest #25109
    • Missing null checks in AbstractMessageChannel.addInterceptor/setInterceptors #25088
    • ๐Ÿ”€ Avoid full synchronization in AbstractRefreshableApplicationContext.getBeanFactory() since it can lead to massive thread blocking #25081
    • ๐Ÿ‘ Simplify use of HttpContext in HttpComponentsClientHttpRequestFactory in support of user associated connections #25066
    • ResolvableType forClass fails when a type in the generic signature isn't present #25064
    • ๐ŸŒฒ Include timeout unit in shutdown failure logging #25058
    • โฌ‡๏ธ Drop unnecessary intermediate StringBuilder.toString() call in ServerSentEventHttpMessageReader #25024
    • ๐Ÿ›  Fix concurrency issues in XStreamMarshaller #25017
    • Introduce mechanism to discover whether a reactive type registered in ReactiveAdapterRegistry uses deferred computation #24995
    • ๐ŸŒฒ Avoid logging exception for closed session in AbstractSockJsSession #24986
    • ๐Ÿ‘ป Include response body in RestTemplate exception when there is no suitable HttpMessageConverter #24964

    ๐Ÿฑ ๐Ÿž Bug Fixes

    • ExchangeStrategies custom codec's reader & writer are not registered #25149
    • MultiValueMapAdapter.getFirst fails with IndexOutOfBoundsException in case of empty List #25140
    • ๐Ÿ‘ป WebSphereUowTransactionManager causes exception for PROPAGATION_SUPPORTS when timeout is specified #25132
    • ๐Ÿ”€ Avoid ClassCastException on IllegalArgumentException when invoking sync get cache method #25110
    • ๐Ÿ— DefaultServerRequestBuilder does not respect attributes when building the ServerRequest #25106
    • ๐Ÿ›  Fix race condition in WriteResultPublisher between subscription and error in publishError #25096
    • Jackson message converters and codecs do not respect character encoding in canRead/canWrite #25076
    • 0๏ธโƒฃ DefaultClientResponseBuilder empty logPrefix when creating a DefaultClientResponse based on another #25069
    • HttpHeaders equals may return false without comparing actual content #25034
    • ๐Ÿ›  Fix race condition in WriteResultPublisher between subscription and completion in publishComplete #24989

    ๐Ÿ“” Documentation

    • Javadoc for hibernate5 OpenSessionInViewFilter mentions FlushMode.NEVER #25158
    • Document that the Map backing a MapPropertySource should not contain null values #25142
    • โšก๏ธ Javadoc for JdbcOperations.batchUpdate should mention that negative values are possible #25138
    • ๐Ÿ›  Fix URI pattern example in webflux.adoc #25137
    • Document how reactive transactions work for cancellation in 5.2 and how it will work in 5.3 #25091
    • ๐Ÿ‘€ Document whether code can rely on specific subclasses of HttpClientErrorException/HttpServerErrorException being thrown from DefaultResponseErrorHandler #25067
    • ๐Ÿ›  Fix SpelEvaluationException with example code #25045
    • ๐Ÿšš javadoc: remove a comment documented a limitation on @Lookup annotation #25044
    • Document all predefined variables from ApplicationContext available in SpEL expressions #25037
    • ๐Ÿ‘ Document ReactiveTransactionManager support in reference manual #25036
    • ๐Ÿ‘ Document ReactiveTransactionManager support #25030
    • ๐Ÿ”„ Change to placeholder value in XML is not reevaluated at runtime #25022
    • โž• Add missing @PathVariable declarations in examples in webmvc.adoc #25006

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

    • โฌ†๏ธ Upgrade to Reactor Dysprosium-SR8 #25210

    ๐Ÿฑ โค๏ธ Contributors

    ๐Ÿš€ We'd like to thank all the contributors who worked on this release!