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!
- Implement reliable invocation order for advice within an