Spring v5.3.0-M1 Release Notes
Release Date: 2020-06-25 // almost 4 years ago-
๐ฑ โญ New Features
- ๐ Use @SafeVarargs in Jackson builder and factory #25311
- ๐ Use JDBC 4 API for connection validation #25305
- โฌ๏ธ Reduce String creation in BeanPropertyRowMapper #25301
- 0๏ธโฃ Align DispatcherServlet defaults for Java and XML #25260
- ๐ Make DispatcherServlet.properties loading lazy #25257
- โช Rollback reactive transaction on cancel #25256
- ๐ Support multi-value X-Forwarded-Prefix headers #25254
- ๐จ Refactor method name dispatching to switch statements in AutowireUtils #25199
- ๐ Disable and remove unsupported features from native images #25179
- ๐จ Refactor method name dispatching to switch statements #25170
- ๐จ Refactor method name dispatching to switch statements #25163
- ๐ Provide a flag to disable SpEL support #25153
- ๐ Provide a flag to disable XML support #25151
- ๐ Allow customization of JPA EntityManager before use #25125
- ๐ Make use of HttpServletMapping when available #25100
- โ Add support for R2DBC #25065
- ๐ Support configurable timeout in @transactional #25052
- 0๏ธโฃ Use same default ClassLoader in SpringFactoriesLoader #24992
- SpringFactoriesLoader should filter out duplicates #24985
- 0๏ธโฃ DefaultResourceLoader's default constructor makes it easy to introduce a ClassLoader leak #24957
- Reject "/path/**/other" patterns in PathPatternParser #24952
- ๐ Support for PathPatternParser in Spring MVC #24945
- โ Introduce ClientHttpConnector test suite #24941
- โ Add file parameters as request parts in HtmlUnitRequestBuilder #24926
- BeanNameAutoProxyCreator proxies the wrong beans when custom TargetSourceCreator specified #24915
- ๐ฆ Expose multipart data in ServerRequest #24909
- ๐ VersionResourceResolver should use weak ETags to allow for HTTP compression #24898
- Extend transaction attributes with labels #24890
- Avoid using regex matching for static patterns #24887
- โ Align TransactionManagementConfigurer support in TestContext framework with production #24869
- โ Add Encoder and Decoder for Netty ByteBuf #24866
- ๐ Allow setting SerializationInclusion with JsonInclude.Value #24824
- ๐ป ObjectProvider.ifAvailable throws exception for scoped bean without an active scope #24822
- Wrap XMLStreamException in DecodingException #24778
- ๐ Improve MediaType parsing performance #24769
- โ Add BeanPostProcessors in bulk #24756
- โ Integrate Apache Http client with WebClient #24700
- ๐ Improve performance of AbstractAutowireCapableBeanFactory#predictBeanType #24681
- ๐ Improve efficiency of mutating of ClientHttpResponse and ServerHttpRequest #24680
- ๐ Support user-defined key type in JDBC KeyHolder #24655
- PartsHttpMessageWriter introduced #24535
- ๐ Support URI templates in RequestEntity #24406
- ๐ Allow re-initialization of DataBinder to and from direct field or bean property access #24347
- โ Add support for metadata push to RSocketRequester #24322
- ๐ Support setting spring.test.constructor.autowire.mode via junit-platform.properties file #24285
- Honor generic type information in BeanUtils.copyProperties() #24281
- ๐ Fix behavior in ExceptionHandlerExceptionResolver.setResponseBodyAdvice #24204
- ๐ Support for RxJava 3 #24170
- โ Add Nullable to Joinpoint and MethodInterceptor #24117
- DataSourceTransactionManager does not consider SQLExceptionTranslator on commit #24064
- 0๏ธโฃ Turn off useSuffixPatternMatching by default #23915
- ๐ Support matching against multiple header values in HeaderAssertions #23878
- ๐คก Multipart request support in MockRestServiceServer #23772
- โจ Enhanced form data request support in MockRestServiceServer #23671
- โ Add support for X-Forwarded-For and Forwarded for #23582
- @ExceptionHandler to keep nesting beyond the first cause #23380
- ๐ Support separate annotation introspectors in Jackson2ObjectMapperBuilder #23017
- ๐ Improve GraalVM native support #22968
- Provide access to the WebSocket close status in WebFlux #22079
- ๐ Make WebFlux multipart support fully Reactive [SPR-17122] #21659
- โ Add iterable JDBC template to process large amount of data [SPR-13900] #18474
๐ฑ ๐ Bug fixes
- 0๏ธโฃ AllEncompassingFormHttpMessageConverter now uses both JAXB and Jackson by default #25291
- ๐ Align @RequestPart support in WebFlux with Spring MVC #22973
๐ Documentation
- ๐ Fix obsolete link in Kotlin docs #25192
- Switch to googlecode theme for syntax highlighting in reference manual #24865
- ๐ fix WebRequest.checkNotModified docs #1035
โฌ๏ธ ๐จ Dependency upgrades
- โฌ๏ธ Upgrade to Gradle 6.5 #25180
- โฌ๏ธ Upgrade to Reactor 2020.0.0 M1 #25085
- โฌ๏ธ Upgrade to Dom4j 2.1.3 and Jaxen 1.2.0 #25078
- โฌ๏ธ Upgrade to Gradle 6.4 #25020
- โฌ๏ธ Upgrade to ASM 8.1 #24872
- โฌ๏ธ Upgrade to TestNG 7.1.0 #24298
- โฌ๏ธ Upgrade to Groovy 3.0 #24215
- โฌ๏ธ Upgrade to JUnit 4.13 #22894
๐ฑ โค๏ธ Contributors
๐ Weโd like to thank all the contributors who worked on our current release!
- @eiselems
- @parviz-93
- @LinkedList
- @ijliym
- @eXsio
- @igor-suhorukov
- @marschall
- @vpavic
- @izeye
- @midumitrescu
- @thenx-wei
- @YooInKeun
- @Syquel
- @dreis2211
- @kamilszymanski
- @quaff
- @kobaeugenea
- @encircled
- @stqp
- @kpkunal1406
- @martin-tarjanyi
- @jjohannes
- @97e57e
- @molassar
- @rweisleder
- @spac-valentin
- @yanghuai2020
- @rohitp27
- @mp911de
- @dilsonnn
- @chenqimiao
- @kptfh
- @mdeinum
- @stsypanov