4.2 RC2 Release
·
22460 commits
to main
since this release
⭐ New Features
- Avoid reading (empty) RequestBody for HTTP methods that aren't expected to have a body [SPR-13176] #17768
- Introduce logging support for MvcResult details in the Spring MVC Test framework [SPR-13171] #17762
- Print cookies in human-readable form in Spring MVC Test [SPR-13168] #17759
- Allow MVC handler methods to return any CharSequence type as view name [SPR-13165] #17756
- Support inlined statements in
@Sql
in the TestContext framework [SPR-13159] #17750 - Allow multiple destination per
@JmsListener
[SPR-13147] #17738 - Add an easy way to configure custom StompSubProtocolErrorHandler for StompSubProtocolHandler. [SPR-13142] #17733
- Support for Jetty 9.3 [SPR-13140] #17731
- Status 406 "Not Accepted" is not appropriate when no message converter can handle return type [SPR-13135] #17726
- Allow body of JmsListener annotated method to define returned Message Destination [SPR-13133] #17724
- Support CompletableFuture<> as return type of
@Async
methods [SPR-13128] #17719 - HttpComponentsAsyncClientHttpRequestFactory overrides default request config of httpclient [SPR-13125] #17716
- 400 Bad Request for missing URI template variable is incorrect [SPR-13121] #17712
- Introduce general purpose isEmpty() method in ObjectUtils [SPR-13119] #17710
- Add request timeout to ResponseBodyEmitter [SPR-13104] #17695
- Improve circular import exception, in particular for
@Import
vs import through nesting [SPR-13101] #17692 - Spring does not log deserialization / marshalling errors to the console [SPR-13100] #17691
- Prevent class/classloader retention in GenericConversionService [SPR-13099] #17690
- Reduce memory consumption for caches [SPR-13093] #17684
- Allow annotation to be synthesized from a map with minimal attributes [SPR-13087] #17678
- Transaction Scope [SPR-13085] #17676
- Custom async HandlerMethodReturnValueHandler should work with
@ResponseBody
[SPR-13083] #17674 - Introduce synthesized annotation alternative to getAnnotationAttributes() in AnnotatedElementUtils [SPR-13082] #17673
- Performing an asyncDispatch with MockMvc fails if DeferredResult is not yet set [SPR-13079] #17670
- AsyncResult implementation does not allow for throwing ExecutionException [SPR-13076] #17668
- Support retrieval of nested annotations in AnnotationAttributes [SPR-13074] #17666
- Document public API in AnnotationAttributes [SPR-13072] #17664
- Improve generics matching of ApplicationEvent subtypes with generic payload parameter [SPR-13069] #17661
- Introduce support for synthesizing AnnotationAttributes into an annotation [SPR-13067] #17659
- CORS global configuration support in XML namespace [SPR-13046] #17638
- Base64 support option without Commons Codec dependency on Java 6/7 [SPR-12938] #17531
- Make
@ResponseBody
method return type available to message converters [SPR-12811] #17408 - Maintain original ordering of active profiles in the TestContext framework [SPR-12492] #17098
- UriComponentsBuilder#fromHttpRequest should consider RFC-7239 Forwarded headers [SPR-11856] #16475
- Introduce a comprehensive programming model for meta-annotation support [SPR-11511] #16136
- Introduce aliases for 'value' annotation attributes [SPR-11393] #16020
🪲 Bug Fixes
- Type aware canWrite() method should be called for GenericHttpMessageConverter [SPR-13161] #17752
- MimeType must use case insensitive comparisons for Charsets [SPR-13157] #17748
- Stomp version 1.1 and 1.2 allows headers with empty values [SPR-13111] #17702
- Fix combining class and method level
@CrossOrigin
attributes [SPR-13097] #17688 - CGLIB code generation failure for cross-
@Bean
FactoryBean call [SPR-13095] #17686 - ServletWebRequest.checkNotModified(…) writes Last-Modified header in invalid format [SPR-13090] #17681
- AnnotationUtils.getRepeatableAnnotation() swallows AnnotationConfigurationException [SPR-13084] #17675
- Server Sent Events use "event" as the type prefix [SPR-13080] #17671
- Nested arrays of annotations are synthesized with wrong component type [SPR-13077] #17669
- AnnotationUtils breaks contract for
@Repeatable
annotations [SPR-13068] #17660 - XpathResultMatchers ignores character encoding of XML document [SPR-12676] #17275