⭐ New Features
- Conversion from String to MediaType should not fail with default ConversionService [SPR-7282] #11941
- Logging performance bottleneck in DispatcherServlet / UrlPathHelper [SPR-7269] #11928
- TypeMismatchException instead of IllegalArgumentException: argument type mismatch for wrong RequestBody [SPR-7263] #11922
- Consider add to "aspectj-autoproxy" tag attribute "exposeProxy" [SPR-7261] #11920
- Improve JavaDoc of TaskScheduler interface [SPR-7253] #11912
- form:hidden tag should allow most (All?) of the same HTML attributes as form:input [SPR-7249] #11908
- JavaMailSenderImpl should report failedMessages in the event of a network error [SPR-7245] #11904
- DataSourceUtils does not respect c3p0 TimeoutException [SPR-7226] #11885
- Introduce convenient boolean configuration attribute for enabling auto-refresh of Tiles definitions [SPR-7225] #11884
- Avoid EntityManager close() exception through isOpen() check [SPR-7215] #11874
- Extend HttpMessage interface to expose requestURL [SPR-7211] #11870
- Spring cannot load xml files from jars when wildcards used [SPR-7198] #11857
- Spring 3 classpath scanning fails on JBoss AS 6.0.0.M3 [SPR-7197] #11856
- Add configuration option to control creation of new consumers in DefaultMessageListenerContainer [SPR-7189] #11849
- MockHttpServletResponse remembers only one include URL. [SPR-7188] #11847
- DataSourceUtils.prepareConnectionForTransaction can throw SQLException when calls con.setTransactionIsolation(definition.getIsolationLevel()) [SPR-7184] #11843
- Radiobutton/Checkboxes tag doesn't utilize ConversionService for label rendering [SPR-7174] #11833
- SpEL: bean references in expressions [SPR-7173] #11832
- Add getLastTask() method to o.sf.util.StopWatch (and fix a couple of typos) [SPR-7134] #11793
- Filter out non-autowire candidates for calls to getBean(Class<?>) [SPR-7120] #11780
- Refactor InternalResourceView to expose getRequestDispatcher for overriding [SPR-7118] #11778
- Add ability for CNVR to search view names that use file extensions [SPR-7117] #11777
- Cache results of Converter lookup in GenericConversionService to improve performance [SPR-7110] #11770
- Optimize ObjectToStringConverter to ensure copies are not made when source is already a String [SPR-7109] #11769
- AbstractApplicationContext.close() could be more forgiving of exceptions [SPR-7106] #11766
- Improve conversion system logging [SPR-7105] #11765
- Cache the annotation-driven converters created from a AnnotationFormatterFactory to improve performance [SPR-7104] #11764
- SpEL: extend set of characters allowed for an identifier [SPR-7100] #11760
- Make formatter value configurable through Spring EL/Property PlaceHolder [SPR-7087] #11747
- Add ignoreJafMediaTypes to ContentNegotiatingViewResolver [SPR-7081] #11741
- ConversionService cannot override existing Resource editors [SPR-7079] #11739
- Add support in AopUtils for obtaining target class transitively when target is an AopProxy [SPR-7074] #11734
- MappingJacksonJsonView.renderedAttributes to be made visible to subclasses [SPR-7070] #11730
- Need the Ability to Determine if a JMS Listener has Created a Consumer for a Destination [SPR-7065] #11725
- Allows for on-the-fly persistence units merge without using hardcoded jar urls [SPR-7055] #11689
- More expected exception tweaks for SpEL expression method invocations [SPR-6941] #11606
- Add support for WebServiceFeature's to JaxWsPortProxyFactoryBean [SPR-5712] #10382
🪲 Bug Fixes
- Spring aspects depends on javax.persistence/persistence-api 1.0. Conflicts with ROO including hibernate-jpa-2.0-api [SPR-7284] #11943
- Conversion service is attempting to convert types that should not be converted [SPR-7283] #11942
- GenericConversionService canConvert() throws NPE for void.class [SPR-7281] #11940
- SimpleAliasRegistry.canonicalName can produce an endless loop [SPR-7274] #11933
- Spring failed to start Circular SmartLifecycle dependencies [SPR-7266] #11925
- AutowireUtils requires ObjectFactory to be Serializable [SPR-7264] #11923
- ResponseStatus.reason() ignored for
@ExceptionHandler
methods [SPR-7259] #11918 - <form:errors path="*"/> generates span with incorrect id: [SPR-7258] #11917
- AbstractMarshaller incorrectly expects DOMResult to already have a node [SPR-7257] #11916
- spring context wrongly created when using aliases [SPR-7254] #11913
- Tiles 2.2.1 EL AttributeEvaluator not being setup correctly. EL doesn't work in Tiles definitions [SPR-7251] #11910
- Spring ORM with JPA 2.0 and Eclipselink throws ClassCastException. [SPR-7247] #11906
- EL expressions with chained map indexes in some cases fail to evaluate [SPR-7244] #11903
- CronSequenceGenerator should fail to parse invlid ranges of hours etc (e.g. months 11-13) [SPR-7239] #11898
- NamedParameterJdbcTemplate has the potential to leak memory [SPR-7237] #11896
@Transactional
can't resolve by@Qualifier
PlatformTransactionManager created in@Configuration
classes [SPR-7232] #11891- Tomcat does not shutdown correctly when using
@Scheduled
[SPR-7231] #11890 - Db2CallMetaDataProvider.metaDataSchemaNameToUse throws NPE if the DatabaseMetaData has no username [SPR-7228] #11887
- GC problem when having Spring jars in a higher ClassLoader without using clearClassLoader [SPR-7227] #11886
- mvc:annotation-driven intends to autodetect JodaTime 1.3 but accidentally includes earlier versions as well [SPR-7222] #11881
- Spring XML bean definition parser interprets tags that are not in the beans namespace [SPR-7218] #11877
- SpEL: Elvis operator throwing NPE in case of an empty base expression [SPR-7209] #11868
- Ref Doc still contains a section about ServerSessionMessageListenerContainer [SPR-7207] #11866
- AbstractApplicationEventMulticaster returns multiple instances of same listener for getApplicationListeners() [SPR-7204] #11863
- AbstractJdbcInsert failes with SqlLobValue type parameters [SPR-7199] #11858
- Null check missing from AbstractJdbcCall line 206 [SPR-7193] #11853
- DataBinder doesn't catch conversion problems in indexed properties [SPR-7177] #11836
- Creating a BeanFactoryPostProcessor in a
@Configuration
class changes the behaviour and is not documented. [SPR-7167] #11826 - FreeMarkerConfigurationFactory should use configured object wrapper to wrap variables, not SimpleHash [SPR-7165] #11824
- ShallowEtagHeaderFilter not adding ETag [SPR-7160] #11819
- Potential null-pointer in TransactionAspectSupport.determineTransactionManager() [SPR-7153] #11812
- GenericConversionService can't find converters for interface-based arrays. [SPR-7150] #11809
- Caching of MessageProducers in CachingConnectionFactory not working with MQ [SPR-7148] #11807
@Async
and@Transactional
annotations do not work on the same method [SPR-7147] #11806- AppEngine : bug with SimpleClientHttpResponse.getHeaders [SPR-7146] #11805
- NullPointerException in AnnotationMethodHandlerAdapter if HttpHeaders in ResponseEntity are empty [SPR-7145] #11804
- UrlPathHelper could make use of request.getPathInfo in some special cases [SPR-7143] #11802
- Logging for RmiServiceExporter shows incorrect registry port [SPR-7137] #11796
- BeanDefinitionVisitor fails to handle String[] properties. [SPR-7136] #11795
- org.springframework.http.MediaType#checkParameters fails to process a Content-Type like application/xml;charset="utf-8" [SPR-7135] #11794
- SelectTag fails when items is an Enumeration [SPR-7112] #11772
- TypeDescriptor context lost when converting collection or map elements [SPR-7111] #11771
- RestTemplate/UriTemplate/UriUtils improperly encoding UTF-8 [SPR-7107] #11767
- Field Annotation-driven conversion fails for properties where the first and second letters are upper case [SPR-7102] #11762
- nullpointer exception when customizing definitionsFactoryClass [SPR-7101] #11761
- Constructor resolution uses InputSource instead of URL argument for DBUnit FlatXmlDataSet [SPR-7099] #11759
- Property placeholder with expression as default fallback fails [SPR-7098] #11758
- Problem with spring:eval under Jetty but not Tomcat [SPR-7096] #11756
- AnnotationMethodHandlerExceptionResolver incorrectly resolving exceptions [SPR-7085] #11745
- IllegalArgumentException thrown for simple java.lang.String prototype bean [SPR-7084] #11744
- Unable to inject a URI with a fragment as a bean property value [SPR-7083] #11743
- ReflectionUtils.makeAccessible(Field) should check for Modifier.isFinal [SPR-7078] #11738
- maxConcurrentConsumers property of DefaultMessageListenerContainer cannot be decreased in runtime [SPR-7075] #11735
- Javadoc: UrlPathHelper.getOriginatingQueryString javadoc is a copy-pastie of UrlPathHelper.getOriginatingRequestUri [SPR-7072] #11732
- petcare sample not writing form actions correctly on WebSphere 7 [SPR-7067] #11727
- Interface-based CGLib created beans cannot be used as factory beans [SPR-7066] #11726
@RequestMapping
"/" Paths [SPR-7064] #11724- MappingJacksonHttpMessageConverter breaks with Jackson 1.0.x [SPR-7063] #11723
- ProxyFactoryBean for intercept-methods can't predict type of bean to be created [SPR-7006] #11671
- CronTrigger is not triggered at correct time [SPR-7004] #11669
- Tomcat does not shutdown correctly when using task:scheduled-taks [SPR-6901] #11566
- MBeanExporter attempts to instantiate a bean marked as abstract [SPR-6784] #11450
- Missing package import for javax.persistence.criteria in ORM [SPR-6636] #11302
@PathVariable
is unable to match trailing end of a URL [SPR-5365] #10038
📔 Documentation
- JExcel example code has compilation errors [SPR-7277] #11936
- Spring AOP documentation - Make it clear that
@Component
is needed as well as@Aspect
for the annotation based approach [SPR-7246] #11905 - Doc: AspectJ argument binding does not work with typed collections [SPR-7186] #11845
- Correct typos: ch 19 [SPR-7159] #11818
- Correct typos: ch 5, ch 15 [SPR-7158] #11817
- Mention position of Errors instance in method signature more explicitly [SPR-7103] #11763
- Ch 3 IoC Container: Correct typos [SPR-7090] #11750