Spring v5.2.0.RC1 Release Notes
Release Date: 2019-08-05 // over 4 years ago-
๐ฑ โญ๏ธ New Features
- ๐ Deprecate mutable aspects of MethodParameter #23385
- โ Add status code 425 ("Too Early") to HttpStatus enum #23384
- ๐ Search for annotations on enclosing classes with MergedAnnotations API #23378
- ๐ RSocketRequester.Builder support for ConnectionSetupPayload #23368
- Introduce SimpleUrlHandlerMapping constructor that accepts an order and a Map #23362
- Introduce interface cache for proxied EntityManager and Query types #23345
- Provide functionality similar to Spring Boot's BeanTypeRegistry #23341
- โ Add attribute support for FactoryBean bean definitions #23339
- Consider generics when predicting FactoryBean types #23338
- Cache isFactoryBean detection #23337
- ๐ Retain merged bean definition caches during post processing #23336
- โ Add missing ResolvableType variants of getBeanNamesForType #23335
- โ Add multi-prefix comment support for
@SqlConfig
#23331 - ๐ Support
@TestPropertySource
as a repeatable annotation #23320 - โ Add DataBuffer::toString(Charset) #23317
- ๐ Improvements to RSocketStrategies #23314
- ๐ Support for template routes with encoded separator in RSocketRequester #23310
- Treat null path as non-matching pattern in AntPathMatcher #23297
- โ Add multi-prefix comment support for SQL scripts #23289
- โ Add a ScriptEngine factory to ScriptTemplateConfigurer #23258
- ๐ฒ Log at WARN level in case of contradicting PersistenceUnitManager setup #23257
- ExchangeFilterFunctions.basicAuthentication(String, String) should cache the encoded credentials #23256
- Introduce TransactionOperations.execute(Runnable) convenience method #23250
- ๐ป ExceptionHandlerExceptionResolver warns when re-throwing the exception cause #23233
- ๐ Change
@TestConstructor
.autowire attribute into an enum #23224 - ๐ Improve performance of FormContentFilter #23216
- ๐ MimeTypeUtils.parseMimeType returns null MIME type in case of high concurrency #23211
- โ Add explicit support for multipart/mixed in FormHttpMessageConverter #23209
- ๐ AbstractMessageConverterMethodProcessor results in 406 even when ResponseEntity presets content type #23205
- BasicAuthenticationInterceptor should cache the encoded credentials #23204
- ๐ Introduce addSupportedMediaTypes() in FormHttpMessageConverter #23203
- โ Add no-op TransactionOperations implementation #23198
@CacheEvict
beforeInvocation with transaction does not work #23192- Presort beans in ControllerAdviceBean.findAnnotatedBeans() #23188
- Consider generics on ApplicationListener
@Bean
methods #23178 - ConnectionMapping annotation for handling of RSocket connection-level frames #23177
- ๐ Support for registering handlers in RSocketRequester.Builder #23170
- ๐ Leverage new Kotlin script templating support #23165
- ๐ Improve RSocketRequester.ResponseSpec Kotlin extensions #23164
- ๐ Support Ordered interface for
@ControllerAdvice
beans #23163 - ๐ Support multipart/related and multipart/mixed MediaTypes in RestTemplate #23159
- ๐ RSocket Metadata Mimetype "text/plain" and "application/json" support #23157
- 0๏ธโฃ onStatus throws away default status handler #23155
- Forbid null HttpMessageConverter in RestTemplate and HttpMessageConverterExtractor #23151
- ๐ Support target type in MockMvcResultMatchers.jsonPath() #23141
- UrlBasedViewResolvers should not override custom requestContextAttribute with null #23129
- โ Add queryParams and replaceQueryParams with Collection to UriBuilder #23119
- Provide functionality similar to Spring Boot's BeanTypeRegistry #23056
- ๐ฆ Expose default error handling from RequestHeadersSpec::retrieve for use with RequestHeadersSpec::exchange #22825
- ๐ Use the accepted profiles on the BeanDefinitionDsl #22393
- Consider conditional view caching #22391
- WebClient's ResponseSpec should provide access to response headers #22368
- ๐ Support for non-blocking event listener methods [SPR-17298] #21831
- ๐ Merge class-level and method-level
@Sql
declarations #1835
๐ฑ ๐ Bug Fixes
@TransactionalEventListener
should not receive an event if no transaction is active #23276- ๐คก MockMvc no longer handles UTF-8 characters #23219
- NullPointerException when FormContentFilter handles a request with no content type #23215
- RSocketRequester.ResponseSpec Kotlin extensions issue #23185
- PathPattern::extractPathWithinPattern does not use custom separator #23168
- ๐ PathPatternRouteMatcher should parse routes with custom separator #23167
- 0๏ธโฃ DefaultMultipartMessageReader.FilePartPart.content not available under Reactor Netty #23131
- 0๏ธโฃ DefaultMultipartMessageReader.FilePart.transferTo fails occasionally #23130
๐ Documentation
- ๐ Fix grammar in package-info.java #23401
- โ Add since tag for ClientResponse.Builder.request() #23364
- ๐ Fix typo in data-access.adoc #23247
- ๐ Fix typo in CONTRIBUTING.md #23180
- โ
Document supported
@Transactional
attributes in the TestContext framework #23149 - ๐ Document WebFlux FreeMarker macro support in Reference Manual #23133
- โ Add since for JettyClientHttpConnector change #23128
- ๐ Improve Kotlin integration testing documentation #22875
โฌ๏ธ ๐จ Dependency Upgrades
- โฌ๏ธ Upgrade to RSocket 1.0.0-RC2 #23359
- โฌ๏ธ Upgrade to ASM 7.2 #23156
- โฌ๏ธ Upgrade to JUnit Jupiter 5.5 #23076
๐ฑ โค๏ธ Contributors
๐ We'd like to thank all the contributors who worked on this release!