⭐ New Features
- ContentCachingResponseWrapper should not add “Content-Length” when “Transfer-Encoding” is present #26191
- Register bean definition dependencies when used via configuration class injected fields #26168
- Wildcard is a valid Access-Control-Expose-Headers value #26115
- EntityManagerFactory startup failure in deferred mode is only available on first use #26094
🪲 Bug Fixes
- AbstractJackson2HttpMessageConverter writes partial data when exception occurs during write #26246
- Remove duplicate "property" in PropertyCacheKey.toString() #26242
- DataBuffer Leak in Server Response #26234
- GenericConversionService$Converters.getMatchableConverters throws ConcurrentModificationException on Java 9+ #26184
- ConcurrentModificationException in NativeMessageHeaderAccessor#copyHeaders #26158
- MimeType is no longer actually serializable #26128
- PathMatchingResourcePatternResolver fails to resolve resources from JAR located in path with '#' on JDK 11+ #26105
- UrlPathHelper#removeJsessionid doesn't remove the jsessionid from the URL #26083
- NamedParameterJdbcTemplate.batchUpdate does not individually apply the SQL type from each SqlParameterSource argument #26073
- DataBufferUtils#join may release a DataBuffer more than necessary #26061
📔 Documentation
- Clarify intended advice execution behavior in Spring version 5.2.7+ #26204
- DateTimeFormat ISO.DATE_TIME javadoc contains misleading default note #26135
- Document that
@Transactional
does not propagate to new threads #26102
🔨 Dependency Upgrades
- Upgrade to Reactor Dysprosium-SR15 #26175