⭐ New Features
- Make sure file storage directory exists before usage in DefaultPartHttpMessageReader #26790
- Allow spring-expression to be more easily repackaged for embedding in third-party JARs #26779
- Support 'Accept-Patch' header in MVC and WebFlux #26759
- Invalid IPv6 Address with X-Forwarded-For leads to number format exception #26748
- awaitBodyOrNull function to handle empty body #26731
- Reactive AbstractErrorWebExceptionHandler#htmlEscape() may be blocking #26712
- Improve Docs on Testing Streaming Responses in Spring MVC #26687
- Exceptions for missing request values should expose information when they are missing after conversion #26679
🪲 Bug Fixes
- Addition of fallback patterns to temporal parser loses cause in Spring 5.3.5 #26777
- ResourceHttpRequestHandler fails to resolve encoded paths when PathPattern is used #26775
- Scheduling a task that runs once a day results in March 28 being skipped #26744
- Support UTF-8 in DefaultPartHttpMessageReader #26736
- Root path resolution for java.nio.Path properties does not work on Linux anymore #26702
@DirtiesContext
not applied when class-level@EnabledIf
evaluates to false #26694- MappedInterceptor in 5.3 does not support all AntPatternMatcher patterns #26690
- BridgeMethodResolver#isBridgeMethodFor return incorrect result for kotlin code in certain circumstance #26585
📔 Documentation
- Update ref docs regarding RequiredAnnotationBeanPostProcessor registration #26783
- Update documentation for
<context:annotation-config/>
#26782 - Fix javadoc link syntax #26776
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!