Skip to content

4.2 RC2 Release

Compare
Choose a tag to compare
@spring-projects-issues spring-projects-issues released this 17 Jan 14:32
· 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

📔 Documentation

  • Documentation definition for ConditionalGenericConverter not the same as the source definition [SPR-13071] #17663
  • Add description of Closeable and AutoCloseable in reference document [SPR-13041] #17633
  • Update links to new Castor website [SPR-12991] #17583