⭐ New Features
- Poor jackson parsing error message in MappingJackson2HttpMessageConverter [SPR-11603] #16226
- Add support for setting PropertyNamingStrategy in Jackson2ObjectMapperFactoryBean [SPR-11431] #16057
- Minor CompositeCacheManager revision [SPR-11427] #16053
- Allow access to HttpMethod in controller methods [SPR-11425] #16052
- Add status ResultMatcher to express status code ranges [SPR-11424] #16051
- MarshallingView should explicitly skip BindingResult when searching for a model object [SPR-11417] #16044
- Ignore container callback and marker interfaces for auto-proxy decisions [SPR-11416] #16043
- Consistently avoid close() call on Servlet OutputStream [SPR-11413] #16040
- Introduce verify() and reset() methods in AnnotationDrivenStaticEntityMockingControl [SPR-11395] #16022
- Performance degradation in evaluation of SpelExpression with access to Map [SPR-11388] #16015
- Custom headers are not sent in the stomp message [SPR-11387] #16014
- Multiple Converters from same source type to different Collection types not properly supported [SPR-11369] #15995
- Improve error reporting for issues related to
@Controller
types requiring AOP proxing [SPR-11281] #15905 - ShallowEtagHeaderFilter should not set ETags to non-cached resources [SPR-11110] #15736
- CustomizableThreadCreator could use AtomicInteger [SPR-11103] #15729
- HibernateInterceptor variant for Hibernate 4 [SPR-9028] #13667
🪲 Bug Fixes
- Memory leak in ConcurrentReferenceHashMap [SPR-11440] #16066
- No way to set virtual host in StompBrokerRelayMessageHandler [SPR-11433] #16059
- Objects with multi-threaded access should not lazily populate a hash field [SPR-11428] #16054
- Ensure server messages contain a destination matching that of the original subscription for user destinations [SPR-11423] #16050
- resolveFactoryMethodIfPossible should consider nonPublicAccessAllowed flag and SecurityManager scenario [SPR-11422] #16049
- Inclusion of 'overloaded' in equals() and hashCode() for MethodOverride breaks equals() in AbstractBeanDefinition [SPR-11420] #16047
- Update javadoc to conform to JDK8's styling [SPR-11412] #16039
- MarshallingView should not close response output stream [SPR-11411] #16038
- EhCacheCacheManager does not wrap runtime-registered caches with TransactionAwareCacheDecorator [SPR-11407] #16034
- Log caught exception in MappingJackson2HttpMessageConverter [SPR-11403] #16030
- HibernateTemplate's generic signatures break backwards compatibility at source level [SPR-11402] #16029
- aop:scoped-proxy may fail with LinkageError: loader attempted duplicate class definition for name [SPR-11398] #16025
- MvcUriComponentsBuilder does not expand path variables in controller-level
@RequestMapping
[SPR-11391] #16018 - PreparedStatement#getParameterMetaData() calls may trigger unwanted side effects [SPR-11386] #16013
- Fix off-by-one regression in AbstractMethodMockingControl [SPR-11385] #16012
- Potential ClassCastException in RequestContextListener when destroying the request object [SPR-11378] #16005
- Jaxb2RootElementHttpMessageConverter is susceptible to XXE vulnerability [SPR-11376] #16003
- StringIndexOutOfBoundsException in AbstractErrors for class-level JSR-303 validator [SPR-11374] #16001
- NPE if no registered MessageConverter supporting "application/json" MIME type [SPR-11370] #15996
- LiveBeansView generates invalid JSON on specific case [SPR-11366] #15992
- URLs containing %2F (forward slash) are not mapped correctly to
@RequestMapping
methods [SPR-11101] #15727 - Velocity springFormCheckboxes macro does not check preselected items correctly [SPR-10837] #15463
- Method injection causes memory leak [SPR-10785] #15411