⭐ New Features
- Efficient handling of conditional HTTP requests #33372
- LocaleEditor cannot parse language tag with script like zh-Hans #33348
- Reinstate qualifier support for legacy JSR-330
@javax.inject.Named
annotation #33345 - SimpleAsyncTaskScheduler stops accepting new tasks when isShutdown #33336
🐞 Bug Fixes
- Fix incorrect weak ETag validation #33374
- Avoid CacheAspectSupport#findInCaches falling through to the reactiveCachingHandler #33371
- ScheduledAnnotationReactiveSupport starts the observation before it is opened #33349
- RestClient observation flags error for UnknownContentTypeException twice #33347
- RestClient instrumentation unnecessarily calls stop on a closed observation #33346
SimpleEvaluationContext
does not enforce read-only semantics #33319- SpEL wraps primitive array in
Object[]
when invoking varargs method #33317 - SpEL no longer supports lists for varargs invocations #33315
- SpEL
Indexer
silently ignores failure to set property as index #33310 - AOT-generated code produces deprecation warnings when using a deprecated class for autowiring #33295
@Scheduled
method in test class not supported anymore #33286- AOT-generated code produces deprecation warnings when referencing a nested class of a deprecated class #33273
- Jaxb2XmlEncoder does not support JAXBElement subtypes #33258
- ShallowEtagHeaderFilter throws a NumberFormatException for responses bigger than 2Gb #33256
- RequestPredicates fail with UnsupportedOperationException with a custom servlet path #33251
- Missing observation for
@JmsListener
response messages #33221 ConversionService
cannot convert primitive array toObject[]
#33212- Spring coroutines AOP is not compatible with
@Cacheable
#33210 - PathMatchingResourcePatternResolver#convertClassLoaderURL drops URLStreamHandler in version 6.1.x #33199
- SpEL cannot invoke varargs
MethodHandle
function with a primitive array #33198 - Trim last allowed origin when parsing comma-delimited string #33181
- Multipart files not deleted after upload is finished with async request #33161
- JaxbContextContainer does not define the ClassLoader to use to retrieve the JAXBContext to use #33158
- Memory Leak in WebFlux application handling HTTP Multipart #33094
- Support invoking bridged suspending functions in
AopUtils
#33045
📔 Documentation
- Fix typo in the bean validation section of the reference manual #33354
- Fix syntax error in
RestClient
documentation #33350 - Add Kotlin example for expectAll() #33341
- Javadoc of ReactorResourceFactory#setConnectionProviderSupplier wrongly states it can be ignored #33338
- Improve EnableCaching & CachingConfigurer Javadoc #33288
- Code sample has wrong reference to configurePathMatching #33277
- Document that NoOpResponseErrorHandler is to be used with the RestTemplate #33276
- Stop referring to Oracle STRUCT and ARRAY as they are deprecated #33248
- Update links in reference manual #33245
🔨 Dependency Upgrades
❤️ Contributors
Thank you to all the contributors who worked on this release:
@GoncaloPT, @crusherd, @genuss, @kashike, @ngocnhan-tran1996, @olbinski, @pcvolkmer, @sheip9, @tafjwr, and @underbell