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!