⭐ New Features
- EhCacheCacheManager throws assertion error for ehcache configuration with only default cache configured [SPR-7955] #12610
- SpringContextResourceAdapter does not fulfill whole JCA 1.5 contract [SPR-9162] #13800
- exposeAccessContext should also be available for JndiRmiClientInterceptor [SPR-9428] #14063
- WebApplicationInitializer with AnnotationConfigWebApplicationContext parent gets reset to null by ContextLoaderListener [SPR-9591] #14225
- ResourcePropertySource cannot load JDK 5 properties xml [SPR-9896] #14529
- Concurrent Consumers Not Allowed for Durable Subscription [SPR-10037] #14671
- Unnecessary reading of java.lang.Object input stream [SPR-10058] #14691
- Implement support of Jackson2 for MappingJacksonMessageConverter [SPR-10099] #14732
- EntityManagerFactoryUtils.findEntityManagerFactory() does not search parent contexts if persistence unit name is unspecified [SPR-10160] #14793
- RequestMappingInfoHandlerMapping.handleNoMatch returns null instead of throwing an exception [SPR-10193] #14826
- Remove xsd versions from reference samples [SPR-10010] #14644
- Use ExtendedBeanInfo on an as-needed basis only [SPR-9723] #14357
- Documentation update regarding aspectjrt and aspectjweaver jars usage [SPR-8896] #13537
🪲 Bug Fixes
- MemoryLeak in Cglib2AopProxy.ProxyCallbackFilter [SPR-8008] #12663
- CachedIntrospectionResults cannot be cleared for null class loaders [SPR-9189] #13827
- MimeMessageHelper does not handle attachment file name encoding [SPR-9258] #13896
- BridgeMethodResolver throws exception when trying to find bridged method if method is declired in interface or it is abstract [SPR-9330] #13968
- FreeMarkerConfigurationFactory's instance variable become enlarged whenever call create method. [SPR-9389] #14025
- LocalVariableTableParameterNameDiscoverer doesn't support bridged methods [SPR-9429] #14065
- MBeanExporter#destroy logs warnings about explicitly unregistered mbeans [SPR-9451] #14086
- SimpleDriverDataSource doesn't use the connectionProperties specified [SPR-9461] #14096
- Add migration instructions regarding component-scanning against "org" base package [SPR-9843] #14476
- MockHttpServletResponse.getHeaderNames is incompatible with Servlet 3.0 [SPR-9885] #14518
- ContextLoader incorrectly refreshes already refreshed context [SPR-9996] #14630
- SpringBeanAutowiringInterceptor not closing ApplicationContext after EJB initialisation exception [SPR-10013] #14647
- AbstractCachingViewResolver - caching redirect views leads to memory leak [SPR-10065] #14698
- EclipseLink marks transaction RollbackOnly when applying timeout for "nonread" queries [SPR-10068] #14701
- NamedParameterJdbcTemplate for "insert / select" clause, set NULL value causes JConnect 7 (Sybase) problem - java.io.IOException: JZ0SL: Unsupported SQL type 0. - Affects 3.1.3.RELEASE, works in 3.1.1.RELEASE [SPR-10084] #14717
- HierarchicalUriComponents.equals() incorrectly returns false when other object is not an instance of OpaqueUriComponents [SPR-10088] #14721
- SpEl bug while reading boolean fields [SPR-10091] #14724
- DMLC: JMS resources are never cleared under certain conditions [SPR-10092] #14725
- JMSTemplate.receive() and receiveSelected() don't use "receiveTimeout" property if in a transaction [SPR-10109] #14742
- Processing java.math.BigDecimal via Spring's ExtendedBeanInfo fails sporadically [SPR-10111] #14744
- SpEL support for static finals on interfaces [SPR-10125] #14758
- MessageSourceResourceBundle.containsKey throws NullPointerException [SPR-10136] #14769
- Consider bridge methods in SpEL properties [SPR-10162] #14795
- AbstractMessageConverterMethodProcessor returns allSupportedMediaTypes with HttpMediaTypeNotAcceptableException [SPR-10175] #14808
- Attribute mode removed from annotation-driven definition in spring-task.xsd [SPR-10177] #14810
- FormHttpMessageConverter#writePart NPE on 'partBody.getClass()' [SPR-10187] #14820
- MockHttpServletRequest must not throw an exception on getParameter(null) [SPR-10192] #14825
- HttpEntityMethodProcessor does not support HttpEntity/ResponseEntity subclasses [SPR-10207] #14840
- MBeanExporter/MBeanRegistrationSupport leaks ObjectNames in registeredBeans [SPR-10957] #15585
- Handling of BeanInfo broken [SPR-10040] #14674
- Deadlock in DefaultListableBeanFactory/DefaultSingletonBeanRegistry [SPR-10020] #14654
- ReflectivePropertyAccessor should not consider bridge methods [SPR-9994] #14628
- IntrospectionException: type mismatch between indexed and non-indexed methods [SPR-9943] #14576
- Prevent duplicate
@Import
processing and ImportBeanDefinitionRegistrar invocation [SPR-9925] #14558 - Ensure LineNumberReader is always closed in ResourceDatabasePopulator [SPR-9912] #14545
- ExtendedBeanInfo exception - java.beans.IntrospectionException [SPR-9702] #14336
- Deadlock between DefaultListableBeanFactory and DefaultSingletonBeanRegistry, perhaps due to lazily-instantiated aspect [SPR-7718] #12374
📔 Documentation
- Doc: Bad snippet for CompositeCacheManager [SPR-9064] #13703
- Error in doc on JCA CCI - ConnectionSpecConnectionFactoryAdapter [SPR-9466] #14101
- Example shows deprecated ScheduledTimerTask [SPR-10050] #14683
- Community Download site mentioned in the docs doesn't work [SPR-10171] #14804
- Fix castor website [SPR-10189] #14822
- Backport "Documentation update regarding aspectjrt and aspectjweaver jars usage" [SPR-10009] #14643