⭐ New Features
- DataBufferUtils does not release DataBuffer on error cases [SPR-16782] #21322
- Support for removeHeader in MockHttpServletRequest [SPR-17295] #21828
- Unnecessary sort in AbstractApplicationEventMulticaster [SPR-17307] #21840
- Sanity checks for HTTP range requests [SPR-17318] #21851
- HeaderResultMatchers susceptible to slight variations in the date format [SPR-17330] #21864
- ServerWebInputException is throw each time Http request with mandatory request parameters is handled. [SPR-17338] #21872
🪲 Bug Fixes
- UriComponentsBuilder.uriComponents doesn't properly clone unmodifiable queryParams [SPR-17256] #21789
- MockHttpServletResponse doesn't propagate Content-Language response header [SPR-17284] #21817
- Concurrency Exception during bean configuration related to not thread safe getBeanPostProcessor access [SPR-17286] #21819
- HTTP 404 for static resources with last modified = 0L (breaks Docker images build with Jib) [SPR-17320] #21853
- ApplicationListener is missing from Collection returned by getApplicationListeners() if it was added after the multicaster was initialised [SPR-17324] #21858
- Integer overflow while uploading big files (> 2.1 GB) using webflux [SPR-17345] #21879
- AnnotationMetadata.getAnnotationAttributes inconsistency for empty array in ASM implementation [SPR-17347] #21881
- MockAsyncContext not found. Did request wrapper not delegate startAsync? [SPR-17353] #21887
- Comparators.nullsLow creates wrong kind of NullSafeComparator [SPR-17357] #21891
- MethodValidationPostProcessor validates FactoryBean methods for which validation is not applicable [SPR-17374] #21907
- DataBufferUtils#join could leak buffers in case of error from the source [SPR-17025] #21563