⭐ New Features
- DisconnectedClientHelper should detect presence of RestClientException and WebClientException separately #36141
- Deprecate
PagedListHolderandPropertyComparatorfor removal #36139 - Add DataAccessException and MessagingException to the excluded outermost exceptions in DisconnectedClientHelper #36134
- Support property placeholders in HTTP service registry #36126
- Introduce Spring property to disable context pausing for tests #36117
- Retain original requested bean class for SpringContainedBean #36116
- Add task rejection support to SyncTaskExecutor's concurrency throttle #36114
- Precompute
PropertyDescriptorarray inSimpleBeanInfoFactory#36112 - Add option for
@ConcurrencyLimitto throw rejection exception #36109 - Support HttpComponents 5.6 #36100
- Fix double encoding in
DefaultApiVersionInserter#36097 - Optimize single-char wildcard path matching performance #36095
- Allow WebFlux ApiVersionResolver to return a Mono #36084
- Configure HttpMessageConverters as a list #36083
- HTTP Interface with an
@RequestBody Objectmethod parameter should use class of actual value #36078 - Consistently declare
@Nullableon parameter inequals()implementations #36075 - Support listener registration for
@Transactionaltriggered method rollbacks #36073 - Introduce generalized
MethodFailureEventfor use inEventPublicationInterceptor#36072 - Avoid duplicate flushes in StringHttpMessageConverter #36065
- When no API version is provided, static resources fail to load #36059
- When no API version is provided,
/errorrequests also fail. #36058 - Declare
TaskCallbackreturn value as potentially nullable #36057 - Fix case-insensitive semantics for LinkedCaseInsensitiveMap entrySet #36056
- Update to NullAway 0.12.15 and fix new warnings #36054
- Provide alternative to
execute(Retryable)which avoidsRetryExceptionin favor of rethrowing the last originalRuntimeException#36052 - Avoid unnecessary pausing of application contexts in the TestContext framework #36044
- Simplify TransactionalOperator.executeAndAwait by removing Optional #36039
- Deprecated MockMvcClientHttpRequestFactory is required for tests with HTTP service interface proxy #35989
- Introduce Jackson XML codecs #35752
- Support listener registration for
@Retryabletriggered retry executions #35382
🐞 Bug Fixes
- Fix
SmartFactoryBeantype matching forResolvableType.NONE#36123 AbstractMessageSendingTemplateignores headers inconvertAndSend()variant #36120JmsClient.sendAndReceive()fails if headers are included #36118PropertyDescriptorUtilsdoes not reliably resolve overloaded write methods #36113- Fix context class resolution for nested types in
AbstractJacksonHttpMessageConverter#36111 DefaultApiVersionInserterencodes already encoded URI #36080- ConverterFactory nullness mismatch with Converter #36063
- WiretapConnector leaks data buffers when response body not consumed #36050
- CompilationException should not use -1 for line or column numbers when they are unknown #36041
- org.springframework.core.test.tools.TestCompiler.Errors should handle case where warnings are turned into errors #36037
- UriComponentsBuilder loses the fragment when it consists of only a single character #36029
- Parameter names of the handler method are null in HandlerInterceptor::preHandle during first invocation of an endpoint #36024
PropertyDescriptorUtilsdoes not reliably resolve read/write methods in type hierarchies with generics #36019- Illegal reflection use against Hibernate Validator 9 on module path #36012
📔 Documentation
- Clarify unversioned handler matching precedence #36125
- Clarify meaning of maxAttempts in FixedBackOff vs. maxRetries in RetryPolicy #36119
- Polishing AOT cache documentation #36108
- Upgrade Antora dependencies #36105
- Modernize the DispatcherServlet Locale documentation #36099
- Fix Kotlin example in
Multipart Content#36094 - Remove
@EnableWebFluxfrom documentation code snippets #36091 - Fix Kotlin example in
CORSandFunctional Endpointsreferences #36089 - Extract remaining WebMVC configuration snippets #36088
- Remove the "Other Web Frameworks" documentation #36086
- Fix reference links in
Configurationpage #36079 - Document HttpHeaders#toSingleValueMap() case-sensitive behavior #36070
- Correct
encodeJavadoc forUriComponentsandUriComponentsBuilder#36040 - Fix typos and grammar #36022
- Custom
@ExceptionHandlersilently ignored whenspring.mvc.problemdetails.enabled=truewithout@Order#35982 - Document how to discard response body with WebTestClient #35953
- Modernize the view technologies section #35450
- Remove JavaScript/Kotlin from ScriptEngine documentation #27919
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@JKaplanEmpty-Nes, @MukjepScarlet, @TerryTaoYY, @haydenrear, @jhan0121, @jher235, @marcphilipp, @mipo256, @msridhar, @ngocnhan-tran1996, @parkhojeong, @philipbolting, @playous, @quaff, @thelightway24, and @xyraclius