Spring Framework - v6.1.0-m2


:star: New Features

  • Refine the log message printed after restoration with CRaC #30876
  • Add HttpExchangeAdapter for RestClient #30869
  • Use latest version of sockjs-client in AbstractSockJsService #30848
  • ClientHttpRequestFactory based on Reactor Netty HttpClient #30835
  • Pause/resume capability for ThreadPoolTaskExecutor and ThreadPoolTaskScheduler #30831
  • Rearrange HttpHeader adapters #30823
  • Support use of MockRestServiceServer with RestClient #30821
  • Allow built ServerResponse to throw exception #30818
  • Method validation error handling by controller method parameter type #30813
  • Add RestClient Kotlin extensions #30807
  • Detect interface parameter annotations also from spring-messaging HandlerMethod #30801
  • Allows JdkClientHttpRequest.DISALLOWED_HEADERS to be customized. #30788
  • Change restore logging to info level #30775
  • Add MultipartFileArgumentResolver for HTTP interface client #30728
  • Align KeyValues of Scheduled-annotated observability with OpenTelemetry conventions #30721
  • Detect invalid transaction configuration for transactional event listeners #30679
  • Blocking execution for WebFlux controller methods #30678
  • Add a CoExchangeFilterFunction for WebClient similar to CoWebFilter #30650
  • Built-in Web Support for Method Bean Validation #30645
  • Spring MVC and WebFlux handling of method validation errors #30644
  • HttpClient based ClientHttpRequestFactory #30478
  • HTTP interface client infrastructure and adapter for RestTemplate #30117
  • Instrument Scheduled-annotated methods for observability #29883
  • Add AOT support for Kotlin constructors with optional parameters #29820
  • Introduce RestClient #29552
  • Space in integer request parameter neither triggers the default value nor generates a 400 #29550
  • Improve 404 error handling in Spring MVC #29491
  • Issue with equals(?)/hashCode() for ResolvableType.forRawClass(?) #28608
  • Introduce ModuleResource for resources loaded from a given Module #28507
  • ArrayToCollectionConverter should default to List if target type is Collection #28048
  • ResolvableType should allow to determine matching type argument for generic return type #27748
  • Parallel graceful shutdown for ThreadPoolTaskExecutor and ThreadPoolTaskScheduler #27090
  • Support target instantiation and binding via constructor in DataBinder #26721
  • Support for MultiValueMap elements in web data binding #26297
  • Add binding support to functional servlet and reactive stack #25943
  • @Scheduled methods in beans created by FactoryBeans are not cancelled #24629
  • ExecutorConfigurationSupport API refinement to control internal executor shutdown #24497
  • DataBinder using constructor parameter should use path variables #22748
  • Add JDBC SqlValue classes for arrays #1850
  • Support Kotlin parameter default values in HTTP handler methods #21139
  • Multiple TaskSchedulers to be supported with @Scheduled [SPR-16271] #20818
  • Let the DataBinder construct nested objects #20806
  • Add support to any Iterable types on PropertyAccessor #907

:lady_beetle: Bug Fixes

  • ScheduledAnnotationBeanPostProcessor fails without Reactive Streams on the classpath #30707
  • @SessionAttributes handler invoked too early if controller method execution is deferred #30337
  • Fix AbstractMessageConverter not delegating to ContentTypeResolver when message header is null #29768
  • JSON deserialization for Kotlin collections on inherited classes #24033

:notebook_with_decorative_cover: Documentation

  • Update documentation on customizing validation errors with MessageSource #30653
  • Update documentation for method validation improvements in spring-context, Spring MVC, and WebFlux #30643

:hammer: Dependency Upgrades

  • Upgrade to Context Propagation 1.1.0-M3 #30882
  • Upgrade to Kotlin 1.9.0 #30719
  • Upgrade to Kotlin Coroutines 1.7.2 #30833
  • Upgrade to Micrometer 1.12.0-M1 #30872
  • Upgrade to Project CRaC 1.3.0 #30812
  • Upgrade to Reactor 2023.0.0-M1 #30856

:heart: Contributors

Thank you to all the contributors who worked on this release:

@OlgaMaciaszek, @erichaagdev, @izeye, @kooixh, @ljtfreitas, @marschall, @mdeinum, @spencergibb, and @yoshikawaa


Details

date
July 13, 2023, 11:48 a.m.
name
v6.1.0-M2
type
Pre-release
👇
Register or login to:
  • 🔍View and search all Spring Framework releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or