Release Notes - Spring Framework - Version 3.1.2 - HTML format


  • [SPR-9397] - Backport "JSON (jackson) @RequestBody marshalling throws when body is missing"


  • [SPR-9136] - Backport "Fix regression in @PropertySource placeholder resolution"
  • [SPR-9146] - Backport "Custom condition in request mapping handler does not work as an exclusion filter"
  • [SPR-9147] - Backport "Race condition in AnnotationMethodHandlerExceptionResolver"
  • [SPR-9148] - Backport "Invalid MIME-type causes a 500 error"
  • [SPR-9151] - Backport "'Content-Disposition' in class StandardMultipartHttpServletRequest should be case insensitive"
  • [SPR-9163] - Backport "Avoid infinite loop in AbstractResource#contentLength"
  • [SPR-9168] - Backport "AbstractMessageConverterMethodProcessor ignores quality parameter when selecting a MediaType"
  • [SPR-9185] - Backport "MutablePropertySources#get throws when it should return null"
  • [SPR-9363] - Backport "Scoped-proxy memory leak w/ @Resource injection"
  • [SPR-9396] - Backport "Cannot amend properties in RequestMappingHandlerMapping (e.g. useSuffixPatternMatch) using a bean post processor as ApplicationContextAwareProcessor always fires first initialising RequestMappingHandlerMapping"
  • [SPR-9410] - Backport "Add missing section ids in reference documentation"
  • [SPR-9415] - Backport "Fix regression in ClassPathResource descriptions"
  • [SPR-9419] - Backport "@PathVariable drops extension"
  • [SPR-9432] - Backport "Regression: Incorrect behavior if a @PathVariable has the same name as a @ModelAttribute's object property"
  • [SPR-9440] - Backport "Eliminate package cycle between ContextLoader and WebApplicationContextUtils"
  • [SPR-9442] - Backport "Fix package cycle established by @EnableSpringConfigured"
  • [SPR-9443] - Backport "Enable Executor qualification with @Async"
  • [SPR-9446] - Backport "ApplicationContext environment inheritance may causes child context environment property sources to be lost"
  • [SPR-9447] - Backport "Reduce log level for message re: missing annotation"
  • [SPR-9448] - Backport "Cache by-type lookups in DefaultListableBeanFactory"
  • [SPR-9460] - Backport "HttpClientErrorException should provide access to response headers"
  • [SPR-9465] - Backport "DatabasePopulatorUtils uses non-transactional connection"
  • [SPR-9507] - Backport "Use Jackson 2.0 for Jackson based json processing such as MappingJacksonJsonView"
  • [SPR-9540] - Backport XStreamMarshaller should convert XStream StreamException to Spring exception in case of unmarshalling an empty stream
  • [SPR-9549] - Backport "UriComponentsBuilder.fromUri brakes url encoded query param"
  • [SPR-9554] - Backport "Use BufferedInputStream in SimpleMetaDataReader to double performance"
  • [SPR-9555] - Backport "DispatcherPortlet shouldn't call exposeActionException during event processing"
  • [SPR-9563] - Backport "Quartz 2.x scheduler support (SimpleTriggerFactoryBean) ignores repeatCount attribute"


  • [SPR-8461] - ServletContextResource getFile should not rely on getRealPath (for WebLogic 10 compatibility)
  • [SPR-9173] - org.springframework.context misses Import-Package on javax.inject
  • [SPR-9299] - causes an IOException on Resin
  • [SPR-9392] - Exposure of setStatisticsEnabled/setSampledStatisticsEnabled causes cache not initialized exception when chaches are defined as spring beans.
  • [SPR-9404] - Session not flushed with Hibernate 4.1.3, JTA and Spring transaction management integration
  • [SPR-9561] - Documentation for AbstractResource.getFilename() says 'throws IllegalAccessException' when in fact it returns null

New Feature

  • [SPR-7904] - Setting default charset in StringHttpMessageConverter


  • [SPR-6383] - INDEX.LIST uses incorrect jar names


  • [SPR-7712] - Invalid MIME-type causes a 500 error
  • [SPR-9280] - Clarify @EnableScheduling javadoc re ExecutorService shutdown
  • [SPR-9473] - Resolve nested ${..} placeholders via PropertyResolver/Environment
  • [SPR-9480] - Hibernate 4 smart flushing does not work unless CMTTransactionFactory is being specified

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.