⭐ New Features
- distinguish "none found" from "several found" in NoSuchBeanDefinitionException [SPR-10194] #14827
- RequestMappingInfoHandlerMapping.handleNoMatch returns null instead of throwing an exception [SPR-10193] #14826
- Provide a means to ignore the character set in ContentResultMatchers.contentType(MediaType) [SPR-10165] #14798
- EntityManagerFactoryUtils.findEntityManagerFactory() does not search parent contexts if persistence unit name is unspecified [SPR-10160] #14793
- AnnotationAwareOrderComparator does not work on Class objects [SPR-10152] #14785
- Improve documentation regarding which
@MVC
annotations are required on interfaces when proxying [SPR-10132] #14765 - Add support for X-Forwarded-Host in ServletUriComponentsBuilder [SPR-10110] #14743
- Support SpEL in
@initial-delay
for task:scheduled [SPR-10102] #14735 - ContentNegotiationManagerFactoryBean does not provide default value for "parameterName" as stated in doc [SPR-10101] #14734
- Implement support of Jackson2 for MappingJacksonMessageConverter [SPR-10099] #14732
- Support configurable charset for ResourcePropertySource [SPR-10096] #14729
- Support OPTIONS method in the MVC Test framework [SPR-10093] #14726
- Detect split packages at build time [SPR-9990] #14624
- Use parameter names during MBeanInfo assembly [SPR-9985] #14619
- Allow customization of request mappings [SPR-9935] #14568
- ResourcePropertySource cannot load JDK 5 properties xml [SPR-9896] #14529
- Allow TypeDescriptor array construction [SPR-9792] #14425
- Infer "shutdown()" as destroy method for convenient EHCache setup using
@Bean
[SPR-9713] #14347 - AnnotationAwareOrderComparator.sort has very misleading syntax [SPR-9625] #14259
- WebApplicationInitializer with AnnotationConfigWebApplicationContext parent gets reset to null by ContextLoaderListener [SPR-9591] #14225
- Relax jms:listener-container xsd:int attributes to xsd:string in order to allow for SpEL expressions [SPR-9553] #14187
- Improve documentation for validation and data binding [SPR-9437] #14073
- Improve support for registering Validator implementations in Spring MVC [SPR-9436] #14072
- Consistency between scheduling/concurrent factory beans, resulting in inheritance improvement [SPR-9435] #14071
- exposeAccessContext should also be available for JndiRmiClientInterceptor [SPR-9428] #14063
- Update reference documentation on handling 401 response in the RestTemplate [SPR-9367] #14004
- WebContentInterceptor.preHandle(request, response, handler), handler of type HandlerMethod not controller instance [SPR-9248] #13886
- Map "no default value for field" MySQL error code to DataIntegrityViolationException [SPR-9237] #13875
- SpringContextResourceAdapter does not fulfill whole JCA 1.5 contract [SPR-9162] #13800
- Request to switch off heading & trailing whitespaces trim of path segments in AntPathMatcher [SPR-8687] #13329
- Form tag should prepend the contextPath and servletPath if not present [SPR-8684] #13326
- EhCacheCacheManager throws assertion error for ehcache configuration with only default cache configured [SPR-7955] #12610
@Primary
and primary attribute of element are not considered for calls to getBean(Class) [SPR-7854] #12511- BufferedImageHttpMessageConverter not using defaultContentType [SPR-7763] #12419
- Make ResponseStatusExceptionResolver handling of
@ResponseStatus
.reason internationalizable [SPR-6044] #10713 - ThreadPoolExecutor waitForTasksToCompleteOnShutdown doesn't work as expected [SPR-5387] #10060
🪲 Bug Fixes
- MBeanExporter/MBeanRegistrationSupport leaks ObjectNames in registeredBeans [SPR-10957] #15585
- HttpEntityMethodProcessor does not support HttpEntity/ResponseEntity subclasses [SPR-10207] #14840
- Support Date to String in JodaTimeConverters [SPR-10198] #14831
- ClassCastException while using completeAutoload in Tiles 3 [SPR-10195] #14828
- MockHttpServletRequest must not throw an exception on getParameter(null) [SPR-10192] #14825
- FormHttpMessageConverter#writePart NPE on 'partBody.getClass()' [SPR-10187] #14820
- UriComponents break UriTemplate serialization [SPR-10186] #14819
- NoSuchMethodError for Aspects [SPR-10178] #14811
- Attribute mode removed from annotation-driven definition in spring-task.xsd [SPR-10177] #14810
- AbstractMessageConverterMethodProcessor returns allSupportedMediaTypes with HttpMediaTypeNotAcceptableException [SPR-10175] #14808
- RequestMapping fileExtension filling interferes with registration of mapping methods [SPR-10173] #14806
- Consider bridge methods in SpEL properties [SPR-10162] #14795
- spring-aspects is compiled with JDK 1.7 compatibility [SPR-10161] #14794
- Building 3.2.x branch with Java 7 fails - api depends on asmRepackJar [SPR-10151] #14784
- Improve exceptions for multi-operand expressions [SPR-10146] #14779
- NPE in PersistenceExceptionTranslationPostProcessor when instantiate a
@Configurable
Bean [SPR-10144] #14777 - MatrixVariable values are not decoded [SPR-10140] #14773
- error with tomcat 6 and spring 3.2 [SPR-10139] #14772
- HttpServletBean requires overly narrow Environment type [SPR-10138] #14771
- MessageSourceResourceBundle.containsKey throws NullPointerException [SPR-10136] #14769
- SpEL support for static finals on interfaces [SPR-10125] #14758
- Fix SpEL JavaBean compliance for setters [SPR-10122] #14755
- ContentNegotiatingViewResolver - Upgrade from 3.1 to 3.2 causes ClassCastException [SPR-10119] #14752
- Fix GenericConversionService search algorithm [SPR-10116] #14749
- Regression in static setter method support [SPR-10115] #14748
- Processing java.math.BigDecimal via Spring's ExtendedBeanInfo fails sporadically [SPR-10111] #14744
- JMSTemplate.receive() and receiveSelected() don't use "receiveTimeout" property if in a transaction [SPR-10109] #14742
- [regresion] NullPointerException is thrown when beanName is null in AutowireCapableBeanFactory.initializeBean [SPR-10108] #14741
- Autowiring with
@Qualifier
and@Qualifier
meta annotation fails in Spring 3.2 [SPR-10107] #14740 - AutowiredAnnotationBeanPostProcessor made mistake to check the bean is unique [SPR-10106] #14739
- RequestDataValueProcessor produces non-compliant HTML code [SPR-10103] #14736
- 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
- SpringBeanAutowiringInterceptor not closing ApplicationContext after EJB initialisation exception [SPR-10013] #14647
- ContextLoader incorrectly refreshes already refreshed context [SPR-9996] #14630
- Segregate long running performance based junit tests [SPR-9984] #14618
- UnsupportedOperationException when accessing Environment with active SecurityManager [SPR-9970] #14604
- MockHttpServletResponse.getHeaderNames is incompatible with Servlet 3.0 [SPR-9885] #14518
- Add migration instructions regarding component-scanning against "org" base package [SPR-9843] #14476
- Can't component scan for
@Component
and exclude@Controller
(a.k.a., excludeFilters should take precedence over includeFilters) [SPR-9795] #14428 - SimpleDriverDataSource doesn't use the connectionProperties specified [SPR-9461] #14096
- MBeanExporter#destroy logs warnings about explicitly unregistered mbeans [SPR-9451] #14086
- LocalVariableTableParameterNameDiscoverer doesn't support bridged methods [SPR-9429] #14065
- FreeMarkerConfigurationFactory's instance variable become enlarged whenever call create method. [SPR-9389] #14025
- SpringValidatorAdapter is incorrectly resolving rejected value for bean based field level constraints [SPR-9332] #13970
- BridgeMethodResolver throws exception when trying to find bridged method if method is declired in interface or it is abstract [SPR-9330] #13968
- MimeMessageHelper does not handle attachment file name encoding [SPR-9258] #13896
- ScheduledTaskRegistrar shouldn't use InitializingBean#afterPropertiesSet to start scheduled tasks [SPR-9231] #13869
- CachedIntrospectionResults cannot be cleared for null class loaders [SPR-9189] #13827
- EhCacheManagerFactoryBean should use net.sf.ehcache.config.ConfigurationFactory set the name of ehcache manager [SPR-9171] #13809
- Allow null returns with multiple embedded value resolvers [SPR-8565] #13209
📔 Documentation
- Configuring Content Negotiation Example Code Incorrect [SPR-10204] #14837
- Fix castor website [SPR-10189] #14822
- Community Download site mentioned in the docs doesn't work [SPR-10171] #14804
- Error in doc on JCA CCI - ConnectionSpecConnectionFactoryAdapter [SPR-9466] #14101
- JavaDoc of AbstractRefreshableConfigApplicationContext.resolvePath out of date [SPR-9455] #14090
- Doc: Bad snippet for CompositeCacheManager [SPR-9064] #13703