v6.1.5
⭐ New Features
- Extract reusable method for URI validations #32440
- Allow UriTemplate to be built with an empty template #32432
- Optimize Coroutine invocations #32390
- Improve exception message when Scheduled tasks that are using Virtual Threads fail on shutdown #32381
- Add query parameters to MockMvc Kotlin DSL #32371
- Optimize content type parsing in ServletServerHttpResponse#32361
- Refine handling of disconnected client error in ExceptionHandlerExceptionResolver #32359
- Refine \*HttpMessageConverter#getContentLengthreturn value null safety #32325
- Optimize HttpHeaders.getAcceptLanguageAsLocales #32318
- SimpleAsyncTaskScheduler: consistently apply default error handling #32298
- Use Spliterator of underlying collection in MutablePropertyValues / MutablePropertySources #32281
🐞 Bug Fixes
- SpEL fails to compile expression indexing into booleanarray #32400
- WebClient Observations are missing error #32389
- WebClient request sent twice instantly when using @Cacheable#32370
- AopUtils.getMostSpecificMethod does not return original method for proxy-derived method anymore #32365
- Fix ServletResponseHttpHeaders#getnull handling #32362
- Compiled SpEL expression fails if #rootor#thisis a non-public type #32356
- Suspend handler methods fail on nullable value classparameters #32353
- Better protect against concurrent error handling for async requests #32340
- Performance degradation due to Kotlin value class checks #32334
- With value referenced from property file in XML configuration, setter selection can be random in case of overloaded setter methods (e.g. on SimpleClientHttpRequestFactory) #32329
- constructor-implof Kotlin- value classis not called #32324
- ContentCachingResponseWrapper no longer honors Content-Type and Content-Length #32317
- Hibernate native image support broken by HHH-17643#32311
- Revisit DatabaseMetadata#getProcedures to only apply fallback if original search yield more than one result #32295
- Remove Observation.Context from WebClient request #32198
📔 Documentation
- Refine "Redirecting to a resource" section code sample #32423
- Javadoc of ReactorNettyClientRequestFactory#setExchangeTimeout methods have wrong default value #32419
- Fix order of 2 sections in the Validation chapter of the reference manual #32408
- Fix Javadoc #32403
- Document that SpEL expressions using array construction cannot be compiled #32401
- Improve documentation for @Sqlexecution phases regarding lifecycle #32343
- Omit parameter names in REST Clients section of reference docs #32335
- Different transaction name when using  TransactionAspectSupport.currentTransactionStatus().transactionName#32310
- Provide guidelines for using Kotlin properties with proxies (@RequestScopeand similar use cases) #32287
- Correct documentation for userDestinationPrefixinMessageBrokerRegistry#32272
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Xednar, @ZeroCyan, @bsgrd, @ddaaac, @kilink, @qeeqez, and @quaff