⭐ New Features
- SpringTemplateLoader returns -1 for lastModified which breaks caching [SPR-7454] #12112
- The PortletWrappingController in spring-mvc-portlet is not supporting EventHandling for JSR268 wrapped portlets [SPR-7430] #12088
- Reason to break PropertiesFactoryBean contract from 2.5 to 3.0 [SPR-7428] #12086
- JaxWsPortProxyFactoryBean should autodetect properties from
@WebService
annotation [SPR-7412] #12070 - AutodetectCapableMBeanInfoAssembler still refers to raw java.lang.Class type [SPR-7405] #12063
- PropertyResourceConfigurer.convertPropertyValue should also include propertyName in the method signature for better handling of property value conversion [SPR-7386] #12044
- JDBC data source initializer should ignore empty strings [SPR-7363] #12021
- SpEL: support for inline list expressions [SPR-7335] #11994
- HandlerExceptionResolvers should prevent caching of response [SPR-7334] #11993
- Transaction names should use the concrete class name [SPR-7317] #11975
- RestTemplate does not handle null uri template parameters [SPR-7314] #11972
- Improve spring:eval to use beans [SPR-7312] #11971
- Expose MessageSource through Hibernate Validator 4.1's ResourceBundleLocator [SPR-7307] #11966
- o.s.http.client.SimpleClientHttpRequestFactory does not allow to specify a java.net.Proxy [SPR-7305] #11964
- Upgrade the net.sf.ehcache restriction to [1.3,3.0) in the MANIFEST.MF [SPR-7302] #11961
- Marshaller properties - cast needed [SPR-7292] #11951
@CookieValue
values are not URL decoded [SPR-7286] #11945- Map properties do not auto-grow like Lists do when binding [SPR-7285] #11944
- Add ResourceHttpRequestHandler for efficiently serving static resouces [SPR-7116] #11776
- Access JSR-303 validation contraint attributes in localized messages [SPR-6730] #11396
- UrlResource should support lastModified() for http URLs [SPR-5465] #10138
- Support MultipartFile-array property [SPR-2784] #7471
🪲 Bug Fixes
- CronTrigger causes StackOverflowError [SPR-7807] #12463
@RequestParam
fails when ConfigurableWebBindingInitializer has both messageCodesResolver and conversionService [SPR-7590] #12246- AbstractXmlStreamReader getAttributeValue(String, String) does not handle null namespaceURI properly [SPR-7474] #12132
- Regression in redirect URL encoding [SPR-7471] #12129
- Dirty writes and SimpleThreadScope leaking across contexts [SPR-7463] #12121
- spring:eval displays 'null' when expression evaluates to null [SPR-7459] #12117
- Problems with URL handling to scoped controllers [SPR-7456] #12114
- Spring can't find lower visibility constructor if a public default constructor exits [SPR-7453] #12111
- Regression in ResourceDatabasePopulator: no longer supports newlines within statement properly [SPR-7449] #12107
- Transactional attribute is not resolved on CgLib proxies created by FactoryBeans [SPR-7448] #12106
- AopProxyUtils.ultimateTargetClass returns null if candidate parameter is not a TargetClassAware [SPR-7447] #12105
- PropertyPlaceHolderConfigurer valueSeparator is not a configurable property and breaks compatibility with older configuration [SPR-7429] #12087
- Concurrent prototype creation causes NullPointerException [SPR-7423] #12081
- SpEL evaluator cannot convert method parameters even if the TypeConverter can [SPR-7410] #12068
- Portlet EventRequest - An attribute added into the model inside an EventHandling method is not avilable in render method [SPR-7407] #12065
@Autowired
does not pick up <task:executor ... /> [SPR-7403] #12061- Random ClassCastException when creating prototype-bean with nested map property [SPR-7398] #12056
- HibernateException is thrown during borrow connection after any query execution in RowMapper [SPR-7393] #12051
- GenericTypeResolver returns Object for parameterized parameters [SPR-7389] #12047
- Cron expressions use months based at 0-11 (should be 1-12) [SPR-7384] #12042
- HTTP headers returned as part of ResponseEntity(MultiValueMap<String, String> headers, HttpStatus statusCode) are ignored when using this constructor [SPR-7381] #12039
- WeakReferenceMonitor has race condition [SPR-7373] #12031
- DefaultMessageListenerContainer transacted session race condition if no messages for a while when using shared/cached sessions [SPR-7366] #12024
- JmsResourceHolder.commit should not ignores IllegalStateException [SPR-7360] #12018
- BeanWrapper Binding with ConversionService: Annotation-driven type conversion rules not applied to List elements [SPR-7348] #12007
- HTTP 405 (Method not supported) returned when 404 Status (Not Found) was expected [SPR-7345] #12004
- SpEL: concurrency issue with StandardEvaluationContext initialization [SPR-7343] #12002
@ExceptionHandler
doesn't work on CGLib-proxied controller in Portlet MVC [SPR-7337] #11996- Error message formatting fails if a JSR 303
@Pattern
definition contains special characters [SPR-7329] #11988 - SpEL: 'select last' operator for maps has inconsistent behavior [SPR-7323] #11981
- remove "Accept-Charset" header from response, generated by
@ResponseBody
[SPR-7316] #11974 - GenericConversionService tries to convert equal types [SPR-7304] #11963
@ExceptionHandler
did not take RequestToViewNameTranslator into resolution process [SPR-7298] #11957- AnnotationMethodHandlerAdapter does not inject MultipartHttpServletRequest when wrapped by HiddenHttpMethodFilter [SPR-7296] #11955
- ConversionService fails to convert String to Resource List values within Map structures in 3.0.3 [SPR-7295] #11954
- mvc:annotation-driven's checks for JSR-303 and JAXB2 fail in an OSGi environment [SPR-7291] #11950
- StackOverflowError when converting nested Lists [SPR-7289] #11948
- SimpleApplicationEventMulticaster does not filter ApplicationEvents correctly [SPR-5974] #10642
📔 Documentation
- Split IoC chapter DocBook XML into multiple files [SPR-7467] #12125
- Document BeanFactoryPostProcessor implementation constraints [SPR-7466] #12124
- Remove XFire reference documentation [SPR-7434] #12092
- Remove Chapter 27 from reference documentation [SPR-7433] #12091
- Document use of ApplicationEventPublisher [SPR-7422] #12080
- Remove 'autodetect' autowire mode from reference docs [SPR-7411] #12069
- Clarify ConversionServiceFactoryBean documentation [SPR-7362] #12020
- Minor content issues and typos in Spring Reference Documentation [SPR-7339] #11998
- Remove dependency-check coverage from reference docs [SPR-7303] #11962