Releases: spring-projects/spring-framework
Releases · spring-projects/spring-framework
4.0 M2 Release
⭐ New Features
- XPath expressions in Spring MVC Test fail when using the default namespace [SPR-10704] #15332
- Documentation in 17.15.3 Configuring Interceptors incorrect [SPR-10670] #15298
- Make #result available for SpEL in
@CachePut
key attribute [SPR-10664] #15292 - Add expected header name to assert message for HeaderResultMatchers [SPR-10659] #15287
@CacheEvict
key should allow referencing return value [SPR-10658] #15286- Typo in ModelAndViewMethodReturnValueHandler's JavaDoc [SPR-10650] #15278
- Ensure that method and requestURI fields are non-null in MockHttpServletRequest [SPR-10643] #15271
- Introduce deleteFromTableWhere() in abstract transactional base classes in the TestContext Framework [SPR-10639] #15267
- Introduce java.nio.file.Path based Resource implementation [SPR-10608] #15237
- Make result-data accessible in onCompletion Event in DeferredResult [SPR-10603] #15232
- ImportSelector and ImportBeanDefinitionRegistrar should be able to implement EnvironmentAware [SPR-10602] #15231
- SimpleCommandLinePropertySource could be enumerable [SPR-10579] #15208
- Support for
@Conditional
@Configuration
[SPR-10534] #15164 - Create MockHttpServletRequestBuilder.accept(String ...mediatTypes) overload. [SPR-10390] #15023
- Introduce ActiveProfilesResolver in the TestContext framework [SPR-10338] #14972
- Make form method accessible to RequestDataValueProcessor [SPR-10041] #14675
- Support implicit ports for MockHttpServletRequest.getRequestURL() [SPR-9726] #14360
- Add spring:argument subtag for spring:message [SPR-9678] #14312
- Introduce TCP & UDP server port scanning utility [SPR-8032] #12687
- MockHttpSession methods should throw IllegalStateException if invalid [SPR-7659] #12315
🪲 Bug Fixes
- PathResourceTests fail on Windows [SPR-10770] #15396
- Ensure ParamTag release resources [SPR-10769] #15395
- Turn down logging in DefaultListableBeanFactory [SPR-10758] #15384
- Could not build from sources [SPR-10751] #15377
- WebSocketHttpRequestHandler constructor doesn't use handshakeHandler [SPR-10721] #15349
- Regression in SharedEntityManagerCreator [SPR-10678] #15306
- Include all SQL statements in batch fail exception [SPR-10677] #15305
- Self-injection in configuration class hierarchies broken [SPR-10668] #15296
- JdbcTemplate.queryForObject throws TypeMismatchDataAccessException when used per the reference manual [SPR-10651] #15279
- Support
@Configuration
class parsing fallback to ASM [SPR-10646] #15274 - AbstractMethodError thrown within MethodValidationInterceptor [SPR-10644] #15272
- JsonpTransportHandler read message header problem [SPR-10621] #15249
- Do not consider all
@Component
instances as@Configuration
candidates [SPR-10609] #15238 - Documentation issues in
@RequestMapping
[SPR-10587] #15216 - Fix getters to match setters in RequestMappingHandlerAdapter [SPR-10519] #15150
- view/ JSP compilation exceptions, not logged from JstlView or DispatcherServlet. [SPR-10340] #14974
- Cacheable key collision with DefaultKeyGenerator [SPR-10237] #14870
3.2.3 Release
⭐ New Features
- Enforce JDK version on CI server [SPR-10569] #15198
- Configurable JSON prefix on MappingJackson2JsonView and MappingJacksonJsonView [SPR-10567] #15196
- Small clarification to CronTrigger javadoc [SPR-10556] #15186
- AnnotationAwareOrderComparator does not work on proxied classes [SPR-10514] #15145
- Improve defaulting of media types via ContentNegotiationManager [SPR-10513] #15144
- Jaxb2Marshaller doesn't need to depend on ResourceLoaderAware and thus spring-context [SPR-10512] #15143
- No way to ask MethodReference for its private field 'name' [SPR-10422] #15055
- Make implementations of PreparedStatementSetter public, not package-private [SPR-10375] #15008
- OXM Jaxb2Unmarshaller to support non-root elements [SPR-10282] #14916
🪲 Bug Fixes
- Large number of StandardEnvironment objects are initialised during startup. Visible in the logs at DEBUG level. [SPR-10568] #15197
- Cannot instantiate bean in Spring when using annotations and when it extends generic abstract class compiled to java 1.4 byte code [SPR-10559] #15189
- BeanPropertyRowMapper underscoreName [SPR-10547] #15177
- Loading
@Import
(ChildConfig) or EnclosingConfig.ChildConfig and then ChildConfig does not load beans on ParentConfig [SPR-10546] #15176 - Lookup of beans of type fails for factory beans if type prediction is used. [SPR-10517] #15148
- AbstractAutowireCapableBeanFactory.predictBeanType returns parent type instead of class="" value [SPR-10507] #15139
- Deadlocks with DeferredResult timeout handling on Tomcat [SPR-10485] #15118
- ServletContextResourcePatternResolver fails to resolve resources when an app is using a foo#bar.war filename [SPR-10471] #15104
- cannot delete file once resttemplate has done a multipart postforentity with the said file [SPR-10460] #15093
- NPE in the ContextLoader#customizeContext on building Assert.isAssignable message [SPR-10449] #15082
- Sporadic deadlocks while using servlet scoped beans from another thread. [SPR-10436] #15069
- A URI with URL path parameters causes IllegalStateException [SPR-10427] #15060
- PropertyEditor registered through
@ControllerAdvice
will not be superseded by local one. [SPR-10419] #15052 - Request
@RequestParam
not enforced with empty values [SPR-10402] #15035 - spring3.2 matrix variable url match problem [SPR-10398] #15031
- PooledConnection has already been closed exception with Hibernate 4.2 [SPR-10395] #15028
- Typo in Code Example [SPR-10394] #15027
- ReflectiveMethodResolver causes UnsupportedOperationException [SPR-10392] #15025
- Fix errors in Spring MVC Test server-side code examples [SPR-10389] #15022
- Remove default value of LifecycleGroup.lifecycleBeans [SPR-10388] #15021
- Ant Pattern Matching throws IllegalStateException for multiple RequestMapping values [SPR-10386] #15019
- JdbcTemplate cannot set null parameter with Oracle driver [SPR-10385] #15018
- Form tag prepending context/servlet path breaks use for portlets [SPR-10382] #15015
- Type detection fails for child bean if parent bean has been resolved before [SPR-10374] #15007
- JavaDoc generation reports warnings [SPR-10373] #15006
- Unnecessary check in PatternsRequestCondition.getMatchingPattern [SPR-10504] #14998
4.0 M1 Release
⭐ New Features
- Allow access to applied property sources from PropertySourcesPlaceholderConfigurer [SPR-10545] #15175
- Make DefaultResourceLoader.ClassPathContextResource protected [SPR-10544] #15174
- Consider
@Import
classes as lite@Configuration
[SPR-10533] #15163 - Filter source
@Configuration
with@ComponentScan
[SPR-10531] #15161 - Support *Aware ImportSelectors [SPR-10530] #15160
- Add AnnotationConfigApplicationContext constructor for custom DefaultListableBeanFactory [SPR-10529] #15159
- Make SpringFactoriesLoader.loadFactoryNames method public [SPR-10528] #15158
- Cannot inject ServletContext into MockMultipartHttpServletRequest [SPR-10098] #14731
- Support for JTA 1.2 transaction annotation [SPR-9139] #13778
- Update EhCacheFactoryBean to support current releases (2.4.x) [SPR-8258] #12906
- Support Bean Validation 1.1 (JSR-349) [SPR-8199] #12848
- Support JMS 2.0 (JSR-343) [SPR-8197] #12846
- Support Concurrency Utilities for Java EE (JSR-236) [SPR-8195] #12844
- Support JPA 2.1 (JSR-338) [SPR-8194] #12843
🪲 Bug Fixes
- Use of same
@Configuration
class across multiple ApplicationContexts is not threadsafe [SPR-10936] #15564 - Creating ApplicationContexts from multiple threads causes ConcurrentModificationException [SPR-10543] #15173
- Cannot configure validationMessageSource when using Hibernate 5 as validation implementation [SPR-10466] #15099
- Fix missing font for JasperReports tests on Linux [SPR-10438] #15071
- Concurrent creation of the same Configuration class in different contexts is not thread-safe [SPR-10307] #14941
- IllegalArgumentException initializing an application compiled with Java 8 [SPR-10292] #14926
3.2.2 Release
⭐ New Features
- Clarify DefaultLobHandler's applicability to Oracle 10g/11g [SPR-10339] #14973
- Introduce a pre-resolved target type in RootBeanDefinition [SPR-10335] #14969
- The JARs spring-test-3.2.1 and spring-webmvc-3.2.1 contain two MANIFEST.MF [SPR-10324] #14958
- DefaultJdoDialect does not support JDO 2.2 isolation levels [SPR-10323] #14957
- Replace examples using deprecated SimpleJdbcTemplate [SPR-10317] #14951
- Introduce JdbcTestUtils.deleteFromTableWhere method [SPR-10302] #14936
- Ability to set per-session entity interceptors removed from HibernateTransactionManager for Hibernate 4 [SPR-10301] #14935
- Share locale independent properties among several ResourceBundleMessageSources [SPR-10291] #14925
- In AnnotationSessionFactoryBean, be able to specify annotatedPackages and packagesToScan in one property [SPR-10288] #14922
- Log4jWebConfigurer only uses System properties/environment [SPR-10284] #14918
- StandaloneMockMvcBuilder interface is inconsistent [SPR-10279] #14913
- MockMvcBuilders' use of generics doesn't allow for chaining more than 2 calls [SPR-10277] #14911
- Assertion message unclear when expected and actual have same string representation [SPR-10275] #14909
- Resolve SQL errorCode from underlying SQLException [SPR-10260] #14893
- NamedParameterJdbcTemplate and JdbcTemplate: consider deprecating queryFor* methods [SPR-10257] #14890
- NamedParameterJdbcTemplate: add methods to simplify usage when no parameter is needed [SPR-10256] #14889
- No way to ask RealLiteral for original string (to parse into BigDecimal) [SPR-10248] #14881
- Cannot create relative URIs with UriComponents [SPR-10231] #14864
- DefaultMessageListenerContainer should expose an API to determine whether the consumer successfully connected to a topic/queue [SPR-10230] #14863
- Limit auto grow collection size when using SpEL [SPR-10229] #14862
- org.springframework.http.MediaType.parseMediaType should throw a better exception [SPR-10226] #14859
- Update documentation examples for scheduling to use SimpleTriggerFactoryBean instead of SimpleTriggerBean [SPR-10209] #14842
- Cleanup whitespace in *.aj and use AspectJ Annotations to prevent NoSuchMethodErrors [SPR-10208] #14841
@RequestParam
default value not set in certain cases [SPR-10180] #14813- o.s.web.util.JavaScriptUtils.javaScriptEscape insufficiently escapes some characters [SPR-9983] #14617
- Support WebApplicationContext hierarchies in the TestContext Framework [SPR-9863] #14496
- Transparent authentication fails when POSTing to Kerberos web service using the Simple HTTP Client [SPR-9617] #14251
- Reference Documentation needs a chapter on using Gemfire as a CacheManager [SPR-9468] #14103
- SPEL: Error message is useless at helping developer resolve problem actual problem, EL1027E:(pos 4): Indexing into type ... [SPR-8876] #13517
@Cachable
condition should allow referencing return value [SPR-8871] #13512- Hibernate Annotation scanner missing package-info.java [SPR-8589] #13233
- Update for Spring OXM Reference, including changes introduced in CastorMarshaller [SPR-8509] #13155
@PreDestroy
and@PostConstruct
should be mentioned more prominently in container callback section [SPR-8493] #13139- CastorMarshaller - marshaller and unmarshaller properties. [SPR-8470] #13116
@Scheduled
's int attributes do not allow for placeholder values [SPR-8067] #12722- AnnotationSessionFactoryBean packagesToScan does not scan for annotations in package's package-info.java file [SPR-7748] #12404
- Make MappingJacksonJsonView fields protected to make extending it easier [SPR-7619] #12275
- Provide support for context hierarchies in the TestContext Framework [SPR-5613] #10284
- Performance improvement on AbstractCachingViewResolver [SPR-3145] #7831
🪲 Bug Fixes
- Configuration class implementing Provider interface throws StackOverflowError after upgrading to Java 7 [SPR-11830] #16449
- Thread-safety issue in RequestMappingHandlerAdapter causes NPE [SPR-10365] #14997
- UriComponentsBuilder.fromUriString(…) throws exception for empty fragment [SPR-10363] #14995
- SpringCompleteAutoloadTilesContainerFactory disables EL expressions [SPR-10361] #14993
- Scope of model attributes when including JSP [SPR-10360] #14992
- mvc:resources location attribute doesn't guarantee order [SPR-10355] #14987
- SpringValidationAdapter cannot handle disabled default constraint violation [SPR-10345] #14979
- Change in FrameworkServlet makes it impossible to use an alternative WebRequest instance for request processing [SPR-10342] #14976
- doOptions method of FrameworkServlet uses servlet 3.0 only method [SPR-10341] #14975
- MockServletContext always returns application/octet-stream for unknown filetypes or ContentNegotiationManager is not correct [SPR-10334] #14968
- StringToEnumConverterFactory fails to convert enums using classes from values [SPR-10329] #14963
- NPE while parsing an invalid indexer expression [SPR-10328] #14962
- By-type matching caches in DefaultListableBeanFactory should be cleared on registerSingleton [SPR-10326] #14960
- Broken UriComponents.equals() method [SPR-10313] #14947
- LazyConnectionDataSourceProxy causes exception in WebSphere with an Oracle database [SPR-10312] #14946
- Reference documentation declares inner beans being prototypes, which is wrong [SPR-10311] #14945
- AspectJ advisor always positioned behind an "old school" advisor [SPR-10309] #14943
- Invalid format media-type in Content-Type request header results in IllegalArgumentException when no handler matched [SPR-10308] #14942
- ArrayIndexOutOfBoundsException in AbstractAutowireCapableBeanFactory.predictBeanType [SPR-10304] #14938
- java.lang.IllegalStateException: getOutputStream() has already been called for this response [SPR-10293] #14927
- MockMvcRequestBuilders.fileUpload() cannot merge if defaultRequest is set [SPR-10280] #14914
@Async
executor ignored if decla...
3.2.1 Release
⭐ 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 transactio...
3.1.4 Release
⭐ New Features
- EhCacheCacheManager throws assertion error for ehcache configuration with only default cache configured [SPR-7955] #12610
- SpringContextResourceAdapter does not fulfill whole JCA 1.5 contract [SPR-9162] #13800
- exposeAccessContext should also be available for JndiRmiClientInterceptor [SPR-9428] #14063
- WebApplicationInitializer with AnnotationConfigWebApplicationContext parent gets reset to null by ContextLoaderListener [SPR-9591] #14225
- ResourcePropertySource cannot load JDK 5 properties xml [SPR-9896] #14529
- Concurrent Consumers Not Allowed for Durable Subscription [SPR-10037] #14671
- Unnecessary reading of java.lang.Object input stream [SPR-10058] #14691
- Implement support of Jackson2 for MappingJacksonMessageConverter [SPR-10099] #14732
- EntityManagerFactoryUtils.findEntityManagerFactory() does not search parent contexts if persistence unit name is unspecified [SPR-10160] #14793
- RequestMappingInfoHandlerMapping.handleNoMatch returns null instead of throwing an exception [SPR-10193] #14826
- Remove xsd versions from reference samples [SPR-10010] #14644
- Use ExtendedBeanInfo on an as-needed basis only [SPR-9723] #14357
- Documentation update regarding aspectjrt and aspectjweaver jars usage [SPR-8896] #13537
🪲 Bug Fixes
- MemoryLeak in Cglib2AopProxy.ProxyCallbackFilter [SPR-8008] #12663
- CachedIntrospectionResults cannot be cleared for null class loaders [SPR-9189] #13827
- MimeMessageHelper does not handle attachment file name encoding [SPR-9258] #13896
- BridgeMethodResolver throws exception when trying to find bridged method if method is declired in interface or it is abstract [SPR-9330] #13968
- FreeMarkerConfigurationFactory's instance variable become enlarged whenever call create method. [SPR-9389] #14025
- LocalVariableTableParameterNameDiscoverer doesn't support bridged methods [SPR-9429] #14065
- MBeanExporter#destroy logs warnings about explicitly unregistered mbeans [SPR-9451] #14086
- SimpleDriverDataSource doesn't use the connectionProperties specified [SPR-9461] #14096
- Add migration instructions regarding component-scanning against "org" base package [SPR-9843] #14476
- MockHttpServletResponse.getHeaderNames is incompatible with Servlet 3.0 [SPR-9885] #14518
- ContextLoader incorrectly refreshes already refreshed context [SPR-9996] #14630
- SpringBeanAutowiringInterceptor not closing ApplicationContext after EJB initialisation exception [SPR-10013] #14647
- AbstractCachingViewResolver - caching redirect views leads to memory leak [SPR-10065] #14698
- EclipseLink marks transaction RollbackOnly when applying timeout for "nonread" queries [SPR-10068] #14701
- 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
- HierarchicalUriComponents.equals() incorrectly returns false when other object is not an instance of OpaqueUriComponents [SPR-10088] #14721
- SpEl bug while reading boolean fields [SPR-10091] #14724
- DMLC: JMS resources are never cleared under certain conditions [SPR-10092] #14725
- JMSTemplate.receive() and receiveSelected() don't use "receiveTimeout" property if in a transaction [SPR-10109] #14742
- Processing java.math.BigDecimal via Spring's ExtendedBeanInfo fails sporadically [SPR-10111] #14744
- SpEL support for static finals on interfaces [SPR-10125] #14758
- MessageSourceResourceBundle.containsKey throws NullPointerException [SPR-10136] #14769
- Consider bridge methods in SpEL properties [SPR-10162] #14795
- AbstractMessageConverterMethodProcessor returns allSupportedMediaTypes with HttpMediaTypeNotAcceptableException [SPR-10175] #14808
- Attribute mode removed from annotation-driven definition in spring-task.xsd [SPR-10177] #14810
- FormHttpMessageConverter#writePart NPE on 'partBody.getClass()' [SPR-10187] #14820
- MockHttpServletRequest must not throw an exception on getParameter(null) [SPR-10192] #14825
- HttpEntityMethodProcessor does not support HttpEntity/ResponseEntity subclasses [SPR-10207] #14840
- MBeanExporter/MBeanRegistrationSupport leaks ObjectNames in registeredBeans [SPR-10957] #15585
- Handling of BeanInfo broken [SPR-10040] #14674
- Deadlock in DefaultListableBeanFactory/DefaultSingletonBeanRegistry [SPR-10020] #14654
- ReflectivePropertyAccessor should not consider bridge methods [SPR-9994] #14628
- IntrospectionException: type mismatch between indexed and non-indexed methods [SPR-9943] #14576
- Prevent duplicate
@Import
processing and ImportBeanDefinitionRegistrar invocation [SPR-9925] #14558 - Ensure LineNumberReader is always closed in ResourceDatabasePopulator [SPR-9912] #14545
- ExtendedBeanInfo exception - java.beans.IntrospectionException [SPR-9702] #14336
- Deadlock between DefaultListableBeanFactory and DefaultSingletonBeanRegistry, perhaps due to lazily-instantiated aspect [SPR-7718] #12374
📔 Documentation
- Doc: Bad snippet for CompositeCacheManager [SPR-9064] #13703
- Error in doc on JCA CCI - ConnectionSpecConnectionFactoryAdapter [SPR-9466] #14101
- Example shows deprecated ScheduledTimerTask [SPR-10050] #14683
- Community Download site mentioned in the docs doesn't work [SPR-10171] #14804
- Fix castor website [SPR-10189] #14822
- Backport "Documentation update regarding aspectjrt and aspectjweaver jars usage" [SPR-10009] #14643
3.2 GA Release
⭐ New Features
- Support external Javadoc links [SPR-10078] #14711
- Support comments within SQL statements in ResourceDatabasePopulator [SPR-10075] #14708
- Make DeferredResult extensible [SPR-10059] #14692
- Unnecessary reading of java.lang.Object input stream [SPR-10058] #14691
- FormHttpMessageConverter should have a MappingJackson2HttpMessageConverter in its partConverters [SPR-10055] #14688
- Make it easier to integrate Tiles 3 with Spring MVC [SPR-10054] #14687
- Add hook for before concurrent handling [SPR-10052] #14685
- Rename MvcAsyncTask to WebAsyncTask [SPR-10051] #14684
- Concurrent Consumers Not Allowed for Durable Subscription [SPR-10037] #14671
- SpEL performance [SPR-10035] #14669
- Support comments within SQL statements in JdbcTestUtils [SPR-9982] #14616
- Possibility to disable WebApplicationInitializer [SPR-9977] #14611
- Eclipse .classpath exports optional and provided dependencies [SPR-9656] #14290
- Setting default charset in StringHttpMessageConverter [SPR-7904] #12559
🪲 Bug Fixes
- DMLC: JMS resources are never cleared under certain conditions [SPR-10092] #14725
- SpEl bug while reading boolean fields [SPR-10091] #14724
- HierarchicalUriComponents.equals() incorrectly returns false when other object is not an instance of OpaqueUriComponents [SPR-10088] #14721
- Replace SLF4J with ACL in TilesConfigurer for Tiles 3 [SPR-10077] #14710
- POM of spring-aspects should have a dependency on aspectjweaver and not aspectjrt [SPR-10072] #14705
- Tests in spring-test-mvc fail to execute in Eclipse [SPR-10070] #14703
- EclipseLink marks transaction RollbackOnly when applying timeout for "nonread" queries [SPR-10068] #14701
- AbstractCachingViewResolver - caching redirect views leads to memory leak [SPR-10065] #14698
- 404 error when working with .htm servlet-mapping [SPR-10061] #14694
- StandaloneMockMvcBuilder's setHandlerExceptionResolvers does not return the builder [SPR-10053] #14686
- MVC test support breaks the contract of ServletRequestAttributes.getRequest() [SPR-10025] #14659
- AbstractBeanFactory#markBeanAsCreated performance issue due to lock contention [SPR-9780] #14414
- AbstractAutoProxyCreator and RequiredAnnotationBeanPostProcessor synchronized HashSet locking bottleneck [SPR-9711] #14345
- MemoryLeak in Cglib2AopProxy.ProxyCallbackFilter [SPR-8008] #12663
📔 Documentation
- Example shows deprecated ScheduledTimerTask [SPR-10050] #14683
- Document new testing features in the "New in Spring 3.2" section of the reference manual [SPR-9941] #14574
- Document WebApplicationContext support in the TestContext Framework [SPR-9864] #14497
- Document which functionality gets implicitly activated by <context:component-scan /> [SPR-9808] #14441
3.2 RC2 Release
⭐ New Features
- Remove reflection usage in orm.hibernate4.* [SPR-10039] #14673
- Introduce AnnotationAwareOrderComparator#INSTANCE constant [SPR-10038] #14672
- Update reference docs to a more modern CSS style [SPR-10036] #14670
- Support bean disposal on ApplicationContext shutdown for Closeable beans [SPR-10034] #14668
- Remove duplicate imageobject items from reference xml [SPR-10033] #14667
- Migrate to docbook 5 [SPR-10032] #14666
- Simplify CachedIntrospectionResults caching arrangements [SPR-10028] #14662
- Drop Appendix E. spring-beans-2.0.dtd [SPR-10011] #14645
- Restore custom reference manual titlepage [SPR-10008] #14642
- Changing the default behaviour of DeferredResult when the timeout is triggered [SPR-10002] #14636
@Cacheable
should participate in transactions [SPR-9966] #14600- Implement java.io.Closeable where appropriate [SPR-9962] #14596
- Provide option in MockRestServiceServer where an instance of MockMvc is used to obtain the response [SPR-9917] #14550
- Support SpEL in mvc:mapping tags [SPR-9848] #14481
- Add documentation for cache and jdbc namespaces [SPR-9824] #14457
- Non-singleton beans performance issue [SPR-9819] #14452
- container-type and other NMTOKEN attributes declared in spring-jms-3.1.xsd - consider using string pattern to allow for property placeholders [SPR-9597] #14231
- Support Aware interfaces for ImportBeanDefinitionRegistrar [SPR-9568] #14202
- Add support for in addition to for mvc:message-converters [SPR-9469] #14104
- spring-expression: null values in (boolean) expressions won't be converted [SPR-9445] #14064
- mvc:resources/ location param shoud support SpEL [SPR-9291] #13929
- Tiles-3 support [SPR-8825] #13467
- AsyncAnnotationBeanPostProcessor should cache AopUtils.canApply results, it's unusable in projects with a huge number of prototype beans otherwise [SPR-8065] #12720
- Cache result of AopUtils.canApply [SPR-7328] #11987
🪲 Bug Fixes
- WebMvcConfigurationSupport is not properly initializing ExceptionHandlerExceptionResolver [SPR-9997] #14631
- LocalDataSourceConnectionProvider closes connection instead of releasing it [SPR-9978] #14612
- HttpMessageConverter no longer works for
@ResponseBody
parameters with an extended generic.at the type [SPR-9964] #14598 - Honor timeZone property in DateTimeFormatterFactory [SPR-9953] #14586
- The behavior of returning null for Callable or DeferredResult return values is currently undefined [SPR-9951] #14584
- Error in "13.4.3 Batch operations with multiple batches" documentation [SPR-9937] #14570
- inherited
@Lazy
annotation not picked up for scanned@Components
[SPR-9589] #14223 @DependsOn
inheritence appears not to function as defined [SPR-9476] #14111- org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean() causes ClassLoader leak [SPR-8956] #13596
- Performance bottleneck and potential thread deadlock in DefaultSingletonBeanRegistry [SPR-8471] #13117
📔 Documentation
3.2 RC1 Release
⭐ New Features
- SQL Server error code 209 should map to BadSqlGrammarException [SPR-9946] #14579
- Extend conditional conversion support [SPR-9928] #14561
- Provide a way to handle timeouts for Servlet 3 async requests [SPR-9914] #14547
- Allow setting WSDL document as a Resource on LocalJaxWsServiceFactory [SPR-9909] #14542
- Allow usage of injection annotations (
@Autowired
,@Value
) as meta-annotations [SPR-9890] #14523 - Allow configurable await time in TestCallableInterceptor in test mvc [SPR-9875] #14508
- Allow SpEL reserved words in type package names [SPR-9862] #14495
- Add first class support for testing Spring MVC applications [SPR-9859] #14492
- ContentNegotiatingViewResolver does not support wildcards in contentType [SPR-9807] #14440
- Develop ConcurrentReferenceHashMap [SPR-9796] #14429
- List
@PathVariable
not converted correctly in@Controller
[SPR-9765] #14399 - Support for increment (++) operator in SpEL [SPR-9751] #14385
- TypeDescriptor getAnnotation method should use generics [SPR-9744] #14378
- Implement support of Jackson2 for JacksonObjectMapperBeanFactory [SPR-9739] #14373
- Implement HttpMessageConverter that can use a ConversionService to convert String content to some Object type [SPR-9738] #14372
- Make locales in MockHttpServletRequest configurable [SPR-9724] #14358
- Support flexible formatting for resolved message codes [SPR-9707] #14341
- Support conversion from Enum Interface [SPR-9692] #14326
- Provide runtime access to Spring container and bean graph metadata [SPR-9662] #14296
- MediaType's include method does not check for generalization when using a format extension/suffix [SPR-9635] #14269
- Allow PropertyResolver implementations to ignore unresolvable ${placeholders} [SPR-9569] #14203
- Bypass conversion when possible [SPR-9566] #14200
- Upgrade commons-httpclient from version 4.1 to version 4.2 [SPR-9475] #14110
- Add more details in ResourceAccessException message thrown by doExecute method of RestTemplate [SPR-9325] #13963
- Cache and late resolve annotations on bean properties to improve performance [SPR-9166] #13804
- Make the ConfigurableWebBindingInitializer easy to customize in WebMvcConfigurationSupport [SPR-8984] #13624
- Introduce
@EnableMBeanExport
equivalent to context:mbean-export [SPR-8943] #13583 - Use concurrent cache to improve performance of GenericTypeResolver [SPR-8701] #13343
- Allow Customization of Object Name Attributes [SPR-8244] #12892
- MockHttpRequest to support ClientRequestInterceptor testing [SPR-7995] #12650
- Add first class support for client-side REST tests [SPR-7951] #12606
- MappingJacksonHttpMessageConverter default media type should include *+json [SPR-7905] #12560
- Support for custom global Joda DateTimeFormatters [SPR-7121] #11781
- Apache HttpClient 4.1 pooled coonection manager support in Spring Web [SPR-6940] #11605
- Support DateTimeFormat annotation without Joda [SPR-6508] #11174
- Support loading WebApplicationContexts with the TestContext Framework [SPR-5243] #9917
- Throw AopInvocationException on advice returning null for primitive type [SPR-4675] #9352
- Provide support for session/request scoped beans for integration testing [SPR-4588] #9265
🪲 Bug Fixes
- AbstractEnvironment addActiveProfile ignores profiles activated with properties [SPR-9944] #14577
- HttpMessageNotReadableException when
@RequestBody
(required=false) [SPR-9942] #14575 - Spring test module shouldn't pull in hamcrest-all as hard dependency [SPR-9940] #14573
- Avoid NullPointerException in ObjectToObjectConverter [SPR-9933] #14566
- OncePerRequestFilter executes again on errors [SPR-9895] #14528
- PathExtensionContentNegotiationStrategy depends on Servlet 3 specific method [SPR-9826] #14459
- RequestMethodsRequestCondition fails on unsupported method types [SPR-9815] #14448
- Delete CopyOfRequestMappingHandlerMapping [SPR-9814] #14447
- JibxMarshaller deletes comments when Result is an XMLEventWriter [SPR-9768] #14402
- Initialize ServletContext and ServletConfig property sources eagerly in FrameworkServlet [SPR-9610] #14244
- Resolve Collection element types during conversion [SPR-9257] #13895
@Entity
objects are not enhanced by the load time weaver in certain situations [SPR-8523] #13167
3.1.3 Release
⭐ New Features
- AbstractRoutingDataSource does not allow to unwrap the underlying datasource [SPR-9856] #14489
- Add JDBC exception translation support for Oracle error code ORA-06550 [SPR-9853] #14486
- allow replaced-method 'arg-type' matches against element body as well as 'match' attribute [SPR-9812] #14445
- Support opaque URIs in UriComponentsBuilder [SPR-9798] #14431
- Spring 3.1 CookieGenerator does not support HttpOnly property added in servlet 3.0 [SPR-9794] #14427
- Allow Jaxb2Marshaller to work with EclipseLink MOXy when using external binding definitions [SPR-9757] #14391
- Avoid per-request Pattern.compile() calls. [SPR-9749] #14383
- Share MethodParameter cache between HandlerMethods [SPR-9748] #14382
- Get rid of per-instance logger creation [SPR-9747] #14381
- Allow parsing of media types with single-quotes [SPR-9734] #14368
- Sybase lock wait timeout error code missing [SPR-9681] #14315
- Poor Performance with lots of Prototype Scoped Beans [SPR-9670] #14304
- HttpHeaders.getAccept() does not return all accept headers for Iplanet WebServer 7 [SPR-9655] #14289
- Add SpEL support for float literals [SPR-9486] #14121
- UriComponentsBuilder.query(String) does not always match properly the query [SPR-9474] #14109
- Deprecate SimpleJdbcTestUtils in favor of JdbcTestUtils [SPR-9235] #13873
- Value-oriented return method handling broken in 3.1 [SPR-9218] #13856
@ResponseBody
does not work with@ExceptionHandler
when reason is set in@ResponseStatus
[SPR-9159] #13797- Creating of Spring beans takes a long time when the application is deployed through webstart / jnlp with Java 6 and above [SPR-9117] #13755
- 3.1.x reference docs mentions RequestBodyNotValidException but should be MethodArgumentNotValidException [SPR-9111] #13749
- TypeConverterDelegate contains commented out code [SPR-8463] #13109
- Make ResourceBundleMessageSource more flexible (catching up with Java 6's java.util.ResourceBundle) [SPR-7392] #12050
🪲 Bug Fixes
- When SimpleMessageListenerContainer could not connect, it throws a NullPointerException in shutdown() [SPR-9930] #14563
- Close 'beans' tag in MVC namespace documentation [SPR-9898] #14531
- Inconsistent behavior for LocalContainerEntityManagerFactoryBean for using/not using persistence.xml, with Hibernate4 [SPR-9883] #14516
- DispatcherPortlet should forward to view for ResourceRequest [SPR-9876] #14509
- Portlet mapping predicate compareTo is not transitive [SPR-9874] #14507
- OpDivide wrongly wraps result of division in TypedValue [SPR-9869] #14502
- NullPointerException in AbstractMessageConvertorMethodProcessor [SPR-9868] #14501
- Unscalable code in Jaxb2Marshaller [SPR-9867] #14500
- TypeConverterDelegate falls back to deprecated Date constructor when first converter failed [SPR-9865] #14498
- LoadTimeWeaving not working properly in Websphere [SPR-9857] #14490
- ServletConfigAware-related exception is not thrown as expected [SPR-9855] #14488
- POM dependency issue: com.caucho#com.springsource.com.caucho;3.2.1 is no longer available [SPR-9854] #14487
@Resource
injection of singleton in prototype using AnnotationConfigApplicationContext is not thread-safe [SPR-9852] #14485- Prevent memory leaks with
@Configuration
beans [SPR-9851] #14484 - Hibernate 4 class loading issue on JBoss 7 when hibernate & spring classes loaded by different classloaders [SPR-9846] #14479
- Automatically created java.inject.Provider cannot be injected into session scoped beans [SPR-9845] #14478
- Upgrade spring mvc app to 3.1.2 causes content-type to be returned as 'application/*+xml' [SPR-9841] #14474
- HttpComponentsHttpInvokerRequestExecutor does not explicitly release connection [SPR-9833] #14466
- Erroneous "0" returned where empty string expected in call through the RestTemplate [SPR-9832] #14465
- Race Condition in ReschedulingRunnable [SPR-9821] #14454
- Fix split package introduced by
@EnableSpringConfigured
[SPR-9811] #14444 - Autowired properties can remain unset during concurrent instantiation of prototype-beans [SPR-9806] #14439
- Performance degradation for TransactionInterceptor [SPR-9802] #14435
- Spring fails to locate jar files defined with jar-file tag in persistence.xml [SPR-9797] #14430
- RestTemplate fails to correctly parse some HTTP URI parameters [SPR-9791] #14424
- ResourceDatabasePopulator incredibly slow on JDK 1.7.0_06 or newer [SPR-9781] #14415
- DelegatingDataSource incorrectly implements java.sql.Wrapper [SPR-9770] #14404
- Remove default profile during environment merge [SPR-9761] #14395
- Register environment in all bean factories in a hierarchy [SPR-9756] #14390
- LinkedCaseInsensitiveMap duplicate element with put() [SPR-9754] #14388
- Default PersistenceUnit is configured with wrong name, resulting in duplicates & causes RTE. [SPR-9741] #14375
- Flashmap matching logic fails when target params are encoded. [SPR-9657] #14291
- BeanFactoryAnnotationUtils should throw BeansException [SPR-9652] #14286
- Injection of Provider fails for prototype-scoped beans [SPR-9630] #14264
- When testing controller mappings using AnnotationMethodHandlerAdapter NPE is thrown [SPR-9629] #14263
- Regression: scoped beans being cached too aggressively [SPR-9627] #14261
- org.springframework.core.Constants fail with NPE dispite method documentations say that it accepts null values [SPR-9608] #14242
- MessageSourceSupport and StaticMessageSource uses invalid caches for MessageFormat [SPR-9607] #14241
- Wrong compareTo() implementation in Portlet mapping predicates [SPR-9605] #14239
- RequestMappingInfoHandlerMapping.handleNoMatch throws HttpRequestMethodNotSupportedException incorrectly [SPR-9603] #14237
- JdbcTestUtils should not interpret comments as a separate statement [SPR-9593] [#14227](https://github.c...