Release Notes - Spring Framework - Version 3.1 RC2 - HTML format

Bug

  • [SPR-7721] - formMultiSelect macro in spring.ftl causes freemarker.template.TemplateException
  • [SPR-7881] - AbstractFileResolvingResource.exists() method incorrectly returns 'true' for non-existent HTTP resources
  • [SPR-7890] - CurrencyEditor#getAsText() documents wrong return value
  • [SPR-7947] - EntityManagerFactoryUtils fails to apply transaction timeout for EclipseLink update and delete queries
  • [SPR-7969] - LinkedCaseInsensitiveMap does not correctly implement putAll()
  • [SPR-8091] - NotificationListenerBean constructor accepts null NotificationListener
  • [SPR-8173] - AbstractCachingViewResolver does not query cache correctly
  • [SPR-8241] - StandardEvaluationContext.setRootObject should test parameter rather than private for null
  • [SPR-8321] - Formatter subsystem's ParserConverter skips Parser invocation if input string is empty
  • [SPR-8628] - RmiClientInterceptorUtils.isConnectFailure() fails to detect java.rmi.MarshalException caused by java.net.SocketException
  • [SPR-8634] - NumberFormatException caused by property paths from JSR-303 based validation with no index into a collection
  • [SPR-8637] - StringUtils.parseLocaleString incorrectly constrains the characters of the variant parts of a locale String
  • [SPR-8661] - form:hidden disabled attribute is created regardless if value is true or false
  • [SPR-8694] - Duplicate "type" attribute rendered in JSP InputTag
  • [SPR-8697] - Media type such as "*/xml" should not be accepted
  • [SPR-8698] - GenericTypeResolver can throw null pointer exception when types cannot be resolved
  • [SPR-8708] - Code example bug in Cache Abstraction document
  • [SPR-8709] - contentLength method is not correctly implemented for all Resource subclasses
  • [SPR-8759] - SimpleMappingExceptionResolver: setStatusCodes getter return not same as setter. Makes override impossible
  • [SPR-8761] - Spring tries to instantiate nested annotation with a @Component annotation
  • [SPR-8770] - RequestDataValueProcessor not called in RedirectView
  • [SPR-8771] - Jpa transaction manager transaction suspension ignores dialect resources
  • [SPR-8772] - AbstractAsyncExecutionAspect setExecutor wrong assignment
  • [SPR-8775] - MethodInvokingJobDetailFactoryBean doesn't actually return the JobDetail if Quartz 2.0 in use
  • [SPR-8776] - java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
  • [SPR-8778] - Transaction synchronization resources are not properly cleaned-up
  • [SPR-8781] - 3.1 RC1 does not work on Google App Engine because direct InitialContext usage (which is restricted)
  • [SPR-8782] - RedirectAttributes parameter results in IllegalArgumentException if using DefaultAnnotationHandlerMapping or AnnotationMethodHandlerAdapter
  • [SPR-8783] - Update and improve AnnotationDrivenBeanDefinitionParser javadoc
  • [SPR-8788] - New non-optional dependencies in org.springframework.web-3.1.0.RC1.jar
  • [SPR-8798] - DefaultFlashMapManager does not support URLs with multiple parameter values
  • [SPR-8800] - Regression: HibernateJpaDialect adding SessionFactory as txResource not getting cleaned up
  • [SPR-8806] - ExtendedBeanInfo raises 'type mismatch' error with covariant property types
  • [SPR-8812] - org.springframework.orm.hibernate4.LocalSessionFactoryBean fails if 'packagesToScan' is not set
  • [SPR-8819] - Unguarded access to first iterator element in RequestMappingInfoHandlerMapping
  • [SPR-8824] - @Configuration class enhancement is not idempotent
  • [SPR-8838] - DateTimeFormat javdoc mistake
  • [SPR-8842] - Misplaced "foo bar" in Reference Documentation under "Classpath scanning and managed components"
  • [SPR-8844] - TransactionSynchronizationManager should not return void ResourceHolder when unbinding
  • [SPR-8846] - JDO PersistenceManager should not be closed until after transaction completion
  • [SPR-8850] - Spring 3.1 RC1 includes stale duplicate of spring-cache XSD
  • [SPR-8852] - JUnit Dependency not in Central
  • [SPR-8858] - Path variable in class-level @RequestMapping not working properly
  • [SPR-8859] - @InitBinder and @ModelAttribute caches in RequestMappingHandlerAdapter ignore "prototype" controllers
  • [SPR-8862] - @RequestMapping(headers="foo!=bar") does not work for non media type headers
  • [SPR-8867] - Truncated HTTP responses
  • [SPR-8872] - SimpleJdbcTestUtils.executeSqlScript doesn't close script InputStream
  • [SPR-8879] - [Documentation] Wrong namespace declaration in c-namespace example in reference guide.

Improvement

  • [SPR-7833] - Add updateOnly option to @Cacheable annotation
  • [SPR-7863] - Poor multithread performance in AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck method
  • [SPR-7996] - Improve documentation of the context caching mechanism in the TestContext framework
  • [SPR-8403] - UriTemplate doesn't encode query parameters
  • [SPR-8605] - MappingJacksonHttpMessageConverter should have getObjectMapper() method
  • [SPR-8629] - Allow for a more flexible @CacheEvict annotation
  • [SPR-8727] - Implement new method from ClassLoadHelper to make Spring work with Quartz 2.1
  • [SPR-8750] - MockServletRequest and MockServletResponse Ignore Content-Type
  • [SPR-8753] - RequestMappingHandlerMapping lacks detectHandlersInAncestorContexts
  • [SPR-8784] - Improve documentation on options for configuring Spring MVC
  • [SPR-8801] - Add a way to easily reverse 'ignoreDefaultModelOnRedirect' default when using mvc:annotation-driven
  • [SPR-8803] - UriComponentsBuilder should also contain subtractive methods
  • [SPR-8808] - Allow @Configuration classes to self-@ComponentScan
  • [SPR-8820] - Add support for setting an MBeanServerForwarder to ConnectorServerFactoryBean
  • [SPR-8823] - Add ServletUriComponentsBuilder
  • [SPR-8830] - introduce meta annotation for declaring multiple @Cache annotations
  • [SPR-8833] - reconsider ValueWrapperImpl name
  • [SPR-8843] - Javadoc for ResourceHolder.isVoid contains misspelling
  • [SPR-8845] - TransactionSynchronizationManager should remove ThreadLocal if removal of void ResourceHolder leaves resources map empty
  • [SPR-8851] - change log level on AbstractWebArgumentResolverAdapter.supportsParameter
  • [SPR-8864] - LocalSessionFactoryBean in Spring 3.1.0.RC1 unable to set NamingStrategy
  • [SPR-8874] - Support by-type lookup/injection of primitive types

New Feature

  • [SPR-7888] - Introduce @EnableSpringConfigured
  • [SPR-8020] - Ease creating Location headers in REST controllers
  • [SPR-8312] - Provide @Configuration support for annotation-based caching
  • [SPR-8755] - Button Tag
  • [SPR-8855] - EhCacheFactoryBean does not support setting setStatisticsEnabled field.
  • [SPR-8869] - Introduce SystemEnvironmentPropertySource

Refactoring

  • [SPR-8779] - FlashMap matching logic fails when URL is rewritten

Task

  • [SPR-8113] - Analyze Spring Framework 3.1 backward compatibility with CLIRR

Edit/Copy Release Notes

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