⭐ New Features
- Add receive-timeout option to jms:listener-container or jms:listener definition [SPR-9114] #13752
- Synchronization issues occur on a form which heavily uses [SPR-9084] #13722
- UriComponentsBuilder.pathSegments(...) should drop empty segments [SPR-9077] #13715
- ServletUriComponentsBuilder should allow normalizing URIs created [SPR-9076] #13714
- ServletUriComponentsBuilder should provide static method to create URI from request without query parameters [SPR-9075] #13713
- SessionAttributes defined in the controller are not populated from the HttpSession object when the web session fails over to a new server in the cluster [SPR-9047] #13686
- org.springframework.dao.EmptyResultDataAccessException doesn't provide cause Throwable [SPR-9041] #13681
- Provide a way to override the ReflectiveMethodResolver so that subclasses can provide thier own static methods [SPR-9038] #13677
- SimpleMessageListenerContainer creates the consumers in the afterPropertySet instead of the start [SPR-9009] #13648
- Couple of ExtendedBeanInfoTests failing on Java 7 [SPR-9007] #13646
- ORM PersistenceExceptionTranslation does not convert Hibernate3 unique ids error to spring DuplicateKeyException [SPR-8996] #13636
- Initialize property sources before invoking ApplicationContextInitializer [SPR-8991] #13631
- Add the ability to Scan Packages for JAXB Marshalling (java example provided) [SPR-8986] #13626
- Add FlashAttributes to Model for view controllers [SPR-8976] #13616
- Flash attributes with RedirectView [SPR-8968] #13608
- Regression: please expose Configuration object in Hibernate 4 LocalSessionFactoryBean [SPR-8961] #13601
- Spring JDBC does not support JBoss 7 Native JDBC connection [SPR-8957] #13597
- How can Spring 3.1 support hibernate 4 such as support Hibernate 3? [SPR-8940] #13580
- Allow SELECT statements in ResourceDatabasePopulator [SPR-8932] #13572
- Please include block in project pom's. [SPR-8927] #13567
- form:errors tag: include object errors in the documentation [SPR-7799] #12455
- Add QueryTimeoutException to the DataAccessException hierarchy [SPR-7680] #12336
- Allow more flexibility for SQLException translation based on state [SPR-7675] #12331
🪲 Bug Fixes
- PDF documentation still missing images (even in 3.1 final) [SPR-9267] #13905
@PropertySource
annotation with multiple values and a name fails to register all property sources [SPR-9127] #13766- BeanNameGenerator strategy provided to AnnotationConfig(Web)ApplicationContext does not apply to nested and imported
@Configuration
classes [SPR-9124] #13762 - ResourceHttpRequestHandler OSGiBundleResource contentLength [cannot be resolved to absolute file path] [SPR-9118] #13756
- StringHttpMessageConverter should use HttpServletRequest encoding for POST body [SPR-9096] #13734
- org.springframework.web.util.UriTemplate not throwing IllegalArgumentException when URIVariables map missing values [SPR-9093] #13731
- Incorrect name in documentation for ByteArrayHttpMessageConverter class [SPR-9085] #13723
- JobDetailFactoryBean missing properties to set description and durability on JobDetail [SPR-9080] #13718
- RequestParamMethodArgumentResolver does not resolve multiparts using HTTP PUT [SPR-9079] #13717
- ServletContextResource.isReadable() returns "true" for directories [SPR-9067] #13706
- After upgrade to 3.1.0 from 3.0.5 we've get "Unexpected ClassLoader type" exception during startup of our application under jboss 5.1 [SPR-9065] #13704
- Spring MVC 3.1.GA 405 problem, can not create two mappings with a same url when using 2 methods (GET, POST) and a PathVariable [SPR-9062] #13701
- IllegalStateException when saving flash attributes if the session does not exist [SPR-9060] #13699
- Make spring-test dependency on spring-aspects optional [SPR-9048] #13687
- PropertiesLoaderSupport no longer works with XML-formatted property files when they're loaded as a FileSystemResource. [SPR-9043] #13683
@ComponentScan
with includeFilters on@Import-ed
context does not work [SPR-9031] #13670- javax.Provider Spring support doesn't work for collections [SPR-9030] #13669
- Beanname of
@Configuration
instance is null when Configuration is imported via@Import
[SPR-9023] #13662 - Two matching produces conditions compared incorrectly if media type in 'Accept' header contains a quality parameter [SPR-9021] #13660
- Provide property in RedirectView to disable treating the redirect URL as a URI template [SPR-9016] #13655
- AbstractEnvironment should not call overridable method from constructor [SPR-9013] #13652
- NPE in Spring-JDBC with sqlite [SPR-9006] #13645
- Javadoc error in AbstractRequestCondition subclasses [SPR-9001] #13641
@ActiveProfiles
are not cascaded down to contexts loaded via@ImportResource
[SPR-8992] #13632- NullPointerException when
@InitBinder
method has an HttpServletResponse argument [SPR-8983] #13623 - UriUtils query parser broken from 3.0.7 to 3.1.0 [SPR-8974] #13614
- spring-context missing optional Import-Package directive for javax.validation.spi [SPR-8973] #13613
- JDBC XML schema refers to a non-existing class EmbeddedDataSourceFactoryBean [SPR-8972] #13612
- Property wrongly converted if field and setter do not match [SPR-8964] #13604
- Bean configuration behaviour in detecting Locale values changed [SPR-8962] #13602
- Regression: SpringValidatorAdapter generates invalid error codes for class-level constraints [SPR-8958] #13598
- Got stackoverflow when scanning for
@Configuration
[SPR-8955] #13595 - BeanFactory does not return FactoryBeans in case the are looked up by type and type prediction is used [SPR-8954] #13594
- The class org.springframework.orm.hibernate4.LocalSessionFactoryBean does not implement the interface PersistenceExceptionTranslator [SPR-8952] #13592
- PropertyPathFactoryBean requires a bean setter in version 3.1.0.RELEASE. It didn't in 3.0.6.RELEASE [SPR-8949] #13589
- TypeConverterDelegate no longer processes ConversionService ParseException when converting to String [SPR-8944] #13584
- The key-generator attribute of cache:annotation-driven element does not work when mode attribute is set to "aspectj" [SPR-8939] #13579
- java.beans.IntrospectionException: type mismatch between indexed and non-indexed methods: <method_name> [SPR-8937] #13577
- Spring should tell JPA provider to exclude unlisted classes when packagesToScan is used [SPR-8936] #13576
@Autowired
does not appear in JavaDoc [SPR-8935] #13575- Regression - Introspection with BeanUtils started failing for java.math.BigDecimal [SPR-8931] #13571
- DefaultPersistenceUnitManager must not reject multiple PersistenceUnits with the same name eagerly [SPR-8925] #13565
- NullPointerException in org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.(LocalSessionFactoryBuilder.java:101) [SPR-8924] #13564
- Accept header with quoted parameter causes IllegalArgumentException in HttpHeaders.getContentType for the outputMessage [SPR-8917] #13557
- Spring Ref 3.1 is still referencing OpenSymphony with outdated link [SPR-8915] #13555
- QuartzJobBean doesn't work with Quartz 2.0 at runtime [SPR-8889] #13530
- JPA without persistence.xml fails when all classpath items are jars [SPR-8832] #13474
- Exception during SpringSessionSynchronization.aftercompletion() results in IllegalStateException/SessionHolder never unbound from thread [SPR-8757] #13399
- NamedParameterUtils does not parse quoted single quotes correctly [SPR-8280] #12928
- Setting "file-encoding" attribute in a "context:property-placeholder" element in spring xml configuration doesn't work [SPR-8024] #12679
- RestTemplate throws IllegalArgumentException when HTTP status is not in the HttpStatus enum [SPR-6752] #11418