⭐ New Features
- SpEL Compiler: problems using primitives with instanceof operator [SPR-14250] #18823
- Timeout problem with Spring and Atomikos [SPR-14239] #18812
- Allow
@Cacheable
method to return java.util.Optional variant of cached value [SPR-14230] #18804 - Add get/set-IfUnmodifiedSince, get/set-IfMatch methods on HttpHeaders [SPR-14228] #18802
- Behavior of checkNotModified(String etag, long lastModifiedTimestamp) does not match HTTP recommendations [SPR-14224] #18798
- Consistent handling of multi-valued headers in HttpHeaders [SPR-14223] #18797
- Refactor HTTP Range support with a new ResourceRegion class [SPR-14221] #18795
- ServletWebRequest.isEtagNotModified does not support commas and spaces in client ETags [SPR-14216] #18790
- Support non-blocking receiveTimeout in AbstractPollingMessageListenerContainer [SPR-14212] #18786
- ScriptTemplateView can't load web-app resources [SPR-14210] #18784
- Support manual ACK and NACK in Stomp Client [SPR-14208] #18782
- HttpSessionRequiredException should have a getter for 'expected session attribute' [SPR-14206] #18780
- ResponseEntity should allow the usage of unassigned HTTP status codes [SPR-14205] #18779
- PathMatchingResourcePatternResolver should not re-resolve root URLs [SPR-14202] #18776
@RequestHeader
doesn't accept RFC-1123 for conversion to java.time.Instant [SPR-14201] #18775- DefaultMessageListenerContainer doesn't shutdown gracefully if long recovery interval is set [SPR-14200] #18774
- Java 8 default methods not detected as bean properties [SPR-14198] #18772
- Add text/markdown to MediaType [SPR-14192] #18765
- Support test annotations on interfaces [SPR-14184] #18755
- Support
@BeforeTransaction
and@AfterTransaction
on interface default methods [SPR-14183] #18754 - Let
@Scheduled
work with a non-void method how is possible with task:scheduled [SPR-14175] #18746 - Rename MimeType's getCharSet() to getCharset() [SPR-14172] #18744
- Improve failure metadata that is available from BeanInstantiationException [SPR-14166] #18738
- RestTemplate: Support default urlVariables at template level [SPR-14147] #18719
- Placeholder resolution for annotation attributes is not active by default [SPR-14140] #18712
- Add method to TestPropertySourceUtils to add properties files directly to the environment [SPR-14131] #18703
- Improve MimeTypeUtils to handle the case of only a delimiter passed [SPR-14124] #18696
- Unable to define empty java.util.Optional bean in spring xml [SPR-14121] #18693
- Possibility to configure a custom WebJarAssetLocator [SPR-14092] #18664
- Proper load-time weaving support for Hibernate 5 [SPR-13886] #18459
- AbstractAdvisorAutoProxyCreator should consistently detect package-visible methods [SPR-14174] #17890
@Scheduled
methods in@Lazy
beans are not scheduled [SPR-12872] #17470- Improve handling of missing JSF session in SessionScope [SPR-12402] #17010
- ScheduledAnnotationBeanPostProcessor should unregister tasks on destruction of individual beans [SPR-12216] #16830
- Detect LoadTimeWeaver bean when declared through
@Bean
method as well [SPR-10856] #15483
🪲 Bug Fixes
- AntPathMatcher Regression for trimTokens=true [SPR-14247] #18820
- CharacterEncodingFilter should have an option to avoid forcing encoding on responses [SPR-14240] #18813
- Annotated class with
@SendToUser
overrides@SendTo
on method [SPR-14238] #18811 - Regression: Handler method detection reporting ambiguous methods for explicit HEAD mapping [SPR-14182] #18753
- MockWebResponseBuilder can't handle null domain in cookie [SPR-14169] #18741
- AntPathMatcher regression in 4.3 RC1 [SPR-14141] #18713