⭐ New Features
- Log warning for single optional constructor when no default constructor to fall back to [SPR-12161] #16775
- HttpHeaders should accept empty Content-Type header [SPR-12173] #16787
- Scheduled/JmsListenerAnnotationBeanPostProcessor needlessly scans every scoped instance [SPR-12189] #16803
- Spring HTTP clients do not enforce RFC 6265 (cookies in a single header) [SPR-12196] #16810
- Make MockRestServiceServer error messages more descriptive [SPR-12230] #16845
- Further locking optimizations for the retrieval of non-singleton beans [SPR-12250] #16864
- Log context cache statistics in the TestContext framework [SPR-12409] #17017
🪲 Bug Fixes
@Qualifier
resolution fails with Spring Batch parent/child context arrangement [SPR-12191] #16805- org.springframework.context.support.LiveBeansView.generateJson(Set) generates invalid JSON when resources already double-quoted [SPR-12252] #16866
- Web Async responses force concurrentResult.toString() call [SPR-12253] #16867
- DataSourceTransactionManager closes JDBC connection on doBegin failure but leaves it attached to transaction object [SPR-12280] #16885
- Provider<...> declaration for
@Value
method argument fails with TypeMismatchException [SPR-12297] #16903 - Private
@Scheduled
methods end up on 'empty' proxy instance in case of CGLIB auto-proxying [SPR-12308] #16913 - Directory traversal with static resource handling (CVE-2014-3625) [SPR-12354] #16959
- Tiles 2.x: TilesConfigurer NPE when no definitions found [SPR-12362] #16967
- ResponseStatusExceptionResolver does not get a MessageSource injected in the MVC Java config [SPR-12380] #16987
- ConfigurationClassUtils fails to introspect inner classes with dot name syntax (and silently ignores it) [SPR-12390] #16998
@Import
in another annotation still results in double scan [SPR-12334] #16939- util:map does not recognize the attribute of value-type [SPR-10994] #15622
📔 Documentation
- ContextLoaderServlet is mentioned in doc, but does not exist [SPR-7725] #12381