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.
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
Task
- [SPR-8113] - Analyze Spring Framework 3.1 backward compatibility with CLIRR
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 [email protected]
- [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
Refactoring
- [SPR-8779] - FlashMap matching logic fails when URL is rewritten
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.