Releases: spring-projects/spring-framework
Releases · spring-projects/spring-framework
3.0.5 Release
⭐ New Features
- Documentation of AnnotationConfigApplicationContext default constructor [SPR-8577] #13221
- StringToCollectionConverter does not trim parsed collection elements [SPR-7657] #12313
- XStreamMarshaller - Add support for configuring XStream with aliases by class (type) and also defining multiple attributes for the same class. [SPR-7636] #12292
@Bean
cannot be used on static factory methods but error message does not inform of you of that [SPR-7628] #12284- add Serializer/Deserializer strategy interfaces and default implementation [SPR-7627] #12283
- SybaseMaxValueIncrementer doesn't work with non-enterprise Sybase db [SPR-7623] #12279
- Enable ability to specify interface types in Jdbc4NativeJdbcExtractor [SPR-7613] #12269
- Provide a way to use a native JDBC extractor for metadata processing in SimpleJdbcInsert [SPR-7611] #12267
- jdbc:datasource lacks 'name' attribute or related mechanism [SPR-7604] #12260
- Add ability to add to beginning of TestExecutionListener list in TestContextManager [SPR-7595] #12251
- HttpStatusCodeException should contain response body [SPR-7591] #12247
- AnnotationSessionFactoryBean postProcessConfiguration() should not be final [SPR-7581] #12237
- Make it easier to override the TableMetaDataProvider for SimpleJdbcInsert and CallMetaDataProvider for SimpleJdbcCall [SPR-7556] #12213
- Provide name of errant SQL script when EmbeddedDatabase population fails [SPR-7546] #12203
- Make UriTemplate Serializable [SPR-7541] #12198
- Allow Class-relative resource loading in GenericXmlApplicationContext [SPR-7530] #12188
- Improve log statement "not eligible for getting processed by all BeanPostProcessors" to be more informative [SPR-7524] #12182
- SpEL cannot project on an non-list collection (seems unnecessarily restrictive) [SPR-7493] #12151
- Typos, formatting issues, minor wording changes, minor fixes in code samples [SPR-7416] #12074
@Async
support in spring-aspects with AspectJ [SPR-7369] #12027
🪲 Bug Fixes
- RestTemplate API is misleading when it comes to url variable passing [SPR-7667] #12323
- SqlParameter name lower case conversion in CallMetaDataContext causes error. [SPR-7658] #12314
- 'default-merge' attribute value does not propagate to collection elements [SPR-7656] #12312
- Thread safety issue in InjectionMetaData affecting setter methods annotated with
@Resource
tags [SPR-7642] #12298 - Spring EL method resolver fails on vararg calls [SPR-7633] #12289
- SpEL: Conversion of collection method parameters fails [SPR-7631] #12287
- Major performance slowdown in AnnotationUtils.findAnnotation [SPR-7630] #12286
- NullPointerException in error path of ConstructorResolver when constructing a
@Bean
from a factory method [SPR-7629] #12285 - AbstractStaxContentHandler sets NamespaceContext on every start/end element [SPR-7621] #12277
- StaxEventContentHandler does not set Location for StartDocument event [SPR-7620] #12276
- SpEL: Resolving values from Map works different after PropertyAccessor is cached [SPR-7614] #12270
- ClassUtils.isAssignable should be commutative for wrapper and primitive types [SPR-7610] #12266
- Embedded database support in trouble shutting down Derby [SPR-7602] #12258
- View returned from
@ExceptionHandler
does not take into account response content type [SPR-7586] #12242 - PropertyPlaceholderHelper#findPlaceholderEndIndex does not work for custom placeholderPrefix [SPR-7574] #12231
- AspectJExpressionPointcut does not use the right classloader when initializing the pointcut parser [SPR-7570] #12227
- ResourceHttpRequestHandlerTests.modified() fails on Windows due to millisecond precision [SPR-7565] #12222
- Inconsistent behaviour in AbstractApplicationEventMulticaster listener caching [SPR-7563] #12220
- Changes in resource loading for 3.0.4 breaks for zipped files [SPR-7559] #12216
- JMS integration with Tibco causes deadlock due to commitIfNecessary in AbstractPollingMessageListenerContainer [SPR-7558] #12215
- MockHttpSession throws ConcurrentModificationException when removing attributes in a loop [SPR-7557] #12214
- DefaultServletHttpRequestHandler fails on Google App Engine [SPR-7553] #12210
- PropertiesLoaderSupport assumes file-based Resources [SPR-7547] #12204
- DispatcherPortlet should not throw a permanent UnavailableException when no handlermapping can be found [SPR-7542] #12199
- End user access to files in WEB-INF directory through DispatcherPortlet [SPR-7540] #12197
- EmbeddedDatabaseFactory fails to shutdown database if population fails [SPR-7536] #12193
- Possible regression in "redirect" views between Spring 3.0.2 and Spring 3.0.4 [SPR-7532] #12190
- Synchronization in AnnotationMethodHandlerAdapter [SPR-7525] #12183
- Registering null singleton results in BNFE on context refresh [SPR-7523] #12181
- SpEL regression with ArrayList to int array conversion [SPR-7519] #12177
- DefaultMessageListenerContainer may hang on shutdown [SPR-7511] #12168
- JdbcTemplate failed to get data from StoredProc by using column alias [SPR-7506] #12163
- JaxWsPortClientInterceptor gets an incorrect PortName [SPR-7505] #12162
- Memory leak in serializable bean factory management [SPR-7502] #12159
- SQLErrorCodesFactory classloader issues [SPR-7497] #12155
- Problem with URL encoding in org.springframework.web.servlet.view.RedirectView.RedirectView(String url) [SPR-7490] #12148
- StackOverflowError, ClassCastException and other issues with ConversionService [SPR-7488] #12146
- CLOB handling does not work with PostgreSQL [SPR-7487] #12145
- Optional
@RequestParam
with required=false no longer works in Spring 3.0.4 (compared to 3.0.2) when Controller extends interface [SPR-7483] #12141 - Exception (SpelEvaluationException: EL1021E) when using spring:eval with Jetty [SPR-7482] #12140
- Setup of JMS message listener invoker failed for destination when upgrading from 3.0.2 to 3.0.4 [SPR-7478] [#12136](https://githu...
3.0.4 Release
⭐ 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
3.0.3 Release
⭐ 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](https://github.c...
3.0.2 Release
⭐ New Features
- MappingJacksonJsonView should add headers for no-caching [SPR-7031] #11693
- Support for HttpEntity<?> in
@MVC
[SPR-7018] #11680 - RestTemplate fails to convert properly for Generic Type Container with MappingJacksonHttpMessageConverter [SPR-7002] #11667
- Performance improvement for TransactionSynchronizationManager.getSynchronizations() [SPR-6999] #11664
- Provide mechanism for injecting a Serializable Provider or ObjectFactory via XML [SPR-6998] #11663
- Auto-growing of collections should be implemented for collection writing as well as reading [SPR-6984] #11649
- org.springframework.core.TypeDescriptor.getAnnotations() should return the method annotation when it wraps the return parameter of the Method [SPR-6979] #11644
- GenericTypeResolver does not properly handle array parameter types [SPR-6977] #11642
- Add debug log for HttpMessageConverter usage [SPR-6976] #11641
- JaxWsPortClientInterceptor gives errors with wsdl service names, not actual endpoints [SPR-6971] #11636
- Introduce HttpEntity [SPR-6969] #11634
- SpEL support for bean property access via square brackets [SPR-6968] #11633
- SimpleJdbcCall.returningResultSet() should accept RowMapper instead of ParameterizedRowMapper [SPR-6963] #11628
- RestTemplate should not encode fragments (#'s) [SPR-6946] #11611
@ResponseBody
with method that return void throws "Could not resolve view exception". [SPR-6935] #11600- Making org.springframework.scheduling.support.CronSequenceGenerator a public class [SPR-6920] #11585
- WebContentInterceptor restricting HTTP request methods by default [SPR-6919] #11584
- JibxMarshaller - provide access to jibx's writeDocType [SPR-6907] #11572
- HibernateJpaDialect does not allow ConnectionManager to eagerly release Connection for long-running Session [SPR-6895] #11560
- Improve documentation for JavaConfig's use of CGLIB for all
@Configuration
annotated classes [SPR-6885] #11551 - Portlet pom states dependency to spring-asm twice [SPR-6881] #11547
- form:error tag generates HTML id which contains [ and ], when bound to indexed property [SPR-6862] #11528
- HiddenHttpMethodFilter does not support multipart requests [SPR-6594] #11260
- Allow for using MultiValueMap in GET request for mapping multiple request params [SPR-6021] #10690
- Multipart/mixed requests using RestTemplate [SPR-5904] #10573
- RestTemplate - access to Request Headers [SPR-5866] #10535
- Improve error messaging when factory-method is not found [SPR-5475] #10148
- Add LocalSessionFactoryBean.validateDatabaseSchema() [SPR-3212] #7898
🪲 Bug Fixes
@DateTimeFormat
causes exception when used with Direct Field Access bean binding [SPR-7809] #12465- GenericConversionService ignores converters for arrays [SPR-7462] #12120
@Value
annotation in Validator triggers Exception when resolving. [SPR-7196] #11855@ResponseStatus
: The reason value is not used. [SPR-7060] #11720- [doc][spel] Documentation refers to TemplatedParserContext. Class is TemplateParserContext [SPR-7059] #11719
- Constructor injection is not working properly for collections unless the type of collection is specified [SPR-7058] #11718
- MVC 3 not forwarding "/" path in WebSphere 7 [SPR-7052] #11713
- InputStream never closed when using JasperReports 3.x [SPR-7048] #11709
- XML MarshallingView assumes non-null value for object to be marshalled. [SPR-7047] #11708
- ContextLoader requires servlet-api 2.5 [SPR-7044] #11706
- Spring Form Tags cause AccessControlException on Google App Engine [SPR-7042] #11704
- XmlBeans UnMarshalling - does not work with RequestBody annotation [SPR-7034] #11696
- Strange MANIFEST.MF and extra jar file inside org.springframework.web.struts jar artifact [SPR-7033] #11695
- NPE in RuntimeTestWalker [SPR-7032] #11694
- OptionWriter.renderFromMap fails when map key is null [SPR-7024] #11686
- Validation for nested properties is buggy [SPR-7019] #11681
- NPE when attempting to expose JaxWs Port Proxy via mbean exporter [SPR-7011] #11676
- Spring ignores
@Transaction
due to double proxying [SPR-7009] #11674 - AnnotationMethodHandlerAdapter gives priority to media type order over quality when selecting a method [SPR-7000] #11665
- Memory leak using TransactionDelegate and transaction.commit() [SPR-6991] #11656
- Spring web's tag library removes "[" and "]" in the path attribute for input (and possibly others). [SPR-6989] #11654
- Incorrect OSGi dependencies in 3.0.1 RELEASE [SPR-6985] #11650
- Dispatcher fails to invoke handler method when request method conflicts with request path [SPR-6978] #11643
- JPA 2.0 support not enabled for OpenJPA (and others?) [SPR-6975] #11640
- Proxy created for intercept-methods doesn't respect autowire-candidate attribute [SPR-6974] #11639
- AbstractHttpMessageConverter canWrite logic the wrong way round?? [SPR-6970] #11635
- Problem with Spring 3.0 when DispatcherServlet is decladed as a Spring bean itself [SPR-6964] #11629
- Exceptions thrown from an ActionRequest are not handled via
@ExceptionHandler
[SPR-6959] #11624 - when combining mvc:annotation-driven and DataBinder.initdirectfieldaccess, conversion problems cause ConversionFailedException instead of being handled by the DataBinder [SPR-6953] #11618
- Conversion creates collection with invalid elements for
@Controller
bind target [SPR-6950] #11615 - NullPointerException from DefaultListableBeanFactory caused by BeanConfigurerSupport [SPR-6947] #11612
- XStreamMarshaller + JsonHierarchicalStreamDriver + JsonWriter.DROP_ROOT_MODE produce empty output [SPR-6939] #11604
- AnnotationMethodHandlerAdapter should take into account request accept header ordering [SPR-6934] #11599
- NPE if BeanPostProcessor returns null [SPR-6926] #11591
- Spring 3.0.1 cannot concatenate Spring with SpEL ...
3.0.1 Release
⭐ New Features
- Push the Java 5 simplifications in SimpleJdbcTemplate up to JdbcTemplate [SPR-6858] #11524
- Documentation on Spring-Struts 1 integration needs to be updated [SPR-6855] #11521
- add varags constructor for ClassPathXmlApplicationContext and FileSystemXmlApplicationContext [SPR-6849] #11515
- HttpMessageConverter read and write methods have restrictive type annotations [SPR-6848] #11514
- Improve documentation on "Instantiation using an instance factory method" [SPR-6846] #11512
- factory-method - improve error message when method is not static [SPR-6837] #11503
- Add setStripTrailingSlash to DefaultRequestToViewNameTranslator [SPR-6830] #11496
- Allow SpEl expressions to be evaluated from JSPs [SPR-6827] #11493
- Update PagedListHolder with generics [SPR-6825] #11491
@Transactional
("transactionManager") and logging [SPR-6811] #11477@Transactional
("transactionManager") and error handling [SPR-6810] #11476- AbstractRoutingDataSource should only use defaultTargetDataSource on key null and should fail-fast on a non-existing key [SPR-6809] #11475
- Hibernate cache SPI integration -> LocalRegionFactoryProxy does not implement Hibernate 3.5's getDefaultAccessType() [SPR-6805] #11471
- form input tag disabled attribute only works for string input [SPR-6790] #11456
- Use of non-existing JmsTemplate constructor in documentation's sample code [SPR-6789] #11455
- The class MediaType has a natural ordering that is inconsistent with equals, which is generally recommended or should otherwise at least be indicated in the javadoc [SPR-6788] #11454
- Improve message error when the MarshallingView modelKey attribute is not valid [SPR-6785] #11451
- BeanNameAutoProxyCreator does not work if the given beanNames are ses [SPR-6774] #11440
- HttpMessageConverter should accept Class<? extends T> on can read [SPR-6771] #11437
- Need detailed log for start and stop Lifecycle beans [SPR-6769] #11435
- LinkedMultiValueMap should implement Serializable [SPR-6765] #11431
- ReflectiveMethodResolver should provide a MethodFilter strategy [SPR-6764] #11430
- Enable more control of StandardEvaluationContext strategies [SPR-6763] #11429
- Use "cyclic" instead of "recursive" in BeanDefinitionStoreException "Detected recursive loading of class path resource" [SPR-6755] #11421
- A matched null "default converter" results in a confusing log message [SPR-6746] #11412
- Could not autowire field of type org.springframework.web.context.request.WebRequest [SPR-6727] #11393
- DataBinder setAutoGrowNestedPaths call should work reliably [SPR-6718] #11384
- Spring 3.0 not compatible with Hibernate 3.5 beta3 [SPR-6705] #11371
- It is necessary to add support UUID type in Spring MVC (WebDataBinder) [SPR-6696] #11362
- SpringORM - Scoped proxies for EntityManager injected with
@PersistenceContext
[SPR-6684] #11350 - Spring beans in singleton scope are ignoring default component-scan scoped-proxy configuration [SPR-6683] #11349
- Spring AOP proxies with annotation based pointcuts are not serializable [SPR-6681] #11347
- Spring beans annotated with
@Transactional
are not serializable [SPR-6680] #11346 - Provide PersistenceAnnotationBeanPostProcessor without JNDI dependency. [SPR-6679] #11345
@Scheduled
annotation should support property placeholder values [SPR-6670] #11336- Add support for
@Scheduled
as a meta-annotation [SPR-6669] #11335 - Make comment prefix configurable in ResourceDatabasePopulator [SPR-6667] #11333
- Allowing a flexible reference to JBoss Work Manager [SPR-6648] #11314
- Make interface signature check optional in PersistenceExceptionTranslationInterceptor so it can translate all exceptions [SPR-6630] #11296
- Have ConversionFailedException store/expose the failed value [SPR-6629] #11295
- make private methods protected in DefaultLifecycleProcessor for extension [SPR-6617] #11283
- Map SQL Error code 50200 in H2 to CannotAcquireLockException [SPR-6612] #11278
- SpEL expression evaluation should rethrow (not wrap) RuntimeExceptions [SPR-6610] #11276
- java.lang.Object should count as a simple property, at least from the autowiring perspective [SPR-6600] #11266
- Make spring-aop required for spring-context (in spring-context POM) [SPR-6578] #11244
- MarshallingView auto detect model with Jaxb2Marshaller chooses the wrong object [SPR-6577] #11243
- MimeMailHelper mail address header fields are not encoded [SPR-6530] #11196
- Allow ContentNegotiatingViewResolver to be strict ant return a 406 if no view found [SPR-6467] #11133
- Add full support for JPA 2.0 PersistenceUnitInfo [SPR-6408] #11074
- Property Placeholder does not work for "concurrency" attribute for the jms namespace [SPR-6232] #10900
- TilesConfigurer does not support the new configuration model of Tiles 2.2 [SPR-6097] #10765
- Support late detection of ApplicationListener interface in objects returned from
@Bean
methods [SPR-6060] #10728 - Support Hessian 4.0.1 with Spring 3.0 [SPR-6041] #10710
- Generic getObjectType on FactoryBean should not be generic [SPR-5982] #10650
- Support Tiles 2.2 for Velocity and FreeMarker purposes [SPR-5609] #10280
- Provide BeanDefinitionRegistryPostProcessor lifecycle hook [SPR-5595] #10266
- Explain difference between and pros/cons of dependency injection vs dependency lookup [SPR-3786] #8466
- Reference manual - mention JSR-250 lifecycle annotations alongside other lifecycle mechanisms [SPR-3773] #8453
🪲 Bug Fixes
- org.springframework.web.servlet.tags.form.TagIdGenerator doesn't remove characters [] and double-quotes [SPR-5382] #10055
- RestTemplate throws IllegalArgumentException when HTTP status is not in the HttpStatus enum [SPR-6752] #11418
- TransactionSynchronizationUtils.unwrapResourceIfNecessary() does not unwrap OSGi service proxies [SPR-7368] #12026
- The MANIFESTs are importing packages from Spring di...
3.0 GA Release
⭐ New Features
- Spring Framework fails to find bean property if the setter contains more than one capital after the word set (e.g., setTEmailAddr) [SPR-7388] #12046
- Extract URL construction logic out of UrlTag [SPR-6828] #11494
- Dependency Validation for Beans via JSR303 Validation Specification [SPR-6565] #11231
- Index HTML multi-page reference documentation files by section id instead of chapter and section number. [SPR-6550] #11216
- Custom DataBinder Hook [SPR-6534] #11200
- Add hook in NamespaceHandlerSupport to allow version checking etc before parsing an element [SPR-6526] #11192
- AnnotationMethodHandlerAdapter should also implement Ordered interface [SPR-6516] #11182
- Spring Framework 3.0.0 binding should include Joda as a dependency in the POM [SPR-6512] #11178
- Add Formatter support to generic collections [SPR-6504] #11170
- Update JRuby support to JRuby 1.4 [SPR-6492] #11158
- Lenient property name casing (beyond standard JavaBeans conventions) [SPR-6491] #11157
- JSR-330 support for component detection is inconsistent [SPR-6465] #11131
- Spring does not detect nested JBoss RollbackException [SPR-6450] #11116
- InstrumentableClassLoader interface changed in GlassFish v3 [SPR-6152] #10820
- New annotation syntax for sheduling [SPR-5329] #10002
- Allow default values to be specified for System properties in ResourceEditor [SPR-4622] #9299
- MultipartHttpServletRequest cannot handle multiple file inputs with same name-attribute [SPR-3964] #8644
🪲 Bug Fixes
- Spring ConversionService does not work with SpEL [SPR-6563] #11229
- SpringValidatorAdapter.validateValue() is wrong [SPR-6557] #11223
- DataBinder.setRequiredFields is broken [SPR-6552] #11218
- Property injection fails for arrays of enums if there is more than 1 value [SPR-6547] #11213
- Does not auto-start FactoryBean if it implements SmartLifecycle [SPR-6545] #11211
- Spring's Maven Central compatible .poms contain numerous repository definitions that hurt user build performance [SPR-6541] #11207
- ConversionService#canConvert(Class, Class) matches for Collection-based conversions even if conversion between underlying element types is not supported [SPR-6537] #11203
- DateTimeFormatAnnotationFormatterFactory calls String.isEmpty(), which exists only in JDK1.6+ [SPR-6529] #11195
- PathVariables of type double [SPR-6528] #11194
- SpEL context is wrong in method parameter resolution [SPR-6525] #11191
- AbstractPlatformTransactionManager breaks in 3.0.0.RC3 [SPR-6521] #11187
- JSR-303 example in the current documentation [SPR-6517] #11183
- Spring does not start SmartLifecycle bean if it is lazy-init [SPR-6515] #11181
- Backward compatibility issue in class org.springframework.beans.factory.config.PropertyPlaceholderConfigurer [SPR-6514] #11180
- LocalSessionFactoryBean schema update doesn't work with Hibernate v3.2 [SPR-6509] #11175
@since
missing on JBossLoadTimeWeaver [SPR-6507] #11173- Broken
@RequestMapping
inheritance [SPR-6502] #11168 - Path-binding does not work when conversionService is used and the last path element is of array type [SPR-6501] #11167
- Eclipse projects don't compile due to change in Groovy dependency from 1.6.3 to 1.6.5 [SPR-6495] #11161
- Regression about the suppport of the tag [SPR-6493] #11159
- Spring formatters applied by to all numeric types [SPR-6490] #11156
- Typo "
@PathVariabe
" in MVC section of reference guide [SPR-6487] #11153 @RequestMapping
handled incorrectly when value contains "." (dot) character [SPR-6482] #11148- GenericTypeAwarePropertyDescriptor warns when creating java.security.SecureRandom bean [SPR-6399] #11065
- Inadequate implementation of GenericConversionService.findConverterByClassPair(Class, Class) [SPR-6297] #10963
📔 Documentation
- Doc: mvc:annotation-driven incompatible to override strategy of handler mappings [SPR-6524] #11190
- Document new mvc namespace [SPR-6404] #11070
- Document
@Configuration
classes and AnnotationConfig[Web]ApplicationContext [SPR-6187] #10855 - mention the difference between mvn central and EBR artifacts [SPR-6092] #10760
- Doc:
@Transactional
is inherited [SPR-5322] #9995
3.0 RC3 Release
⭐ New Features
- Make filterModel() in MappingJacksonJsonView more lenient [SPR-6470] #11136
- Add namespace support for "phase" on JMS listener-container [SPR-6460] #11126
- Hibernate support does not support Hibernate 3.2 (only 3.3) [SPR-6459] #11125
- Make private method in TransactionAwareConnectionFactoryProxy to match TransactionAwareDataSource [SPR-6438] #11104
- BeanPropertyRowMapper should provide static newInstance methods [SPR-6433] #11099
- Add an option to disable the automatic creation of nested path in DataBinder and subclasses [SPR-6430] #11096
- Add mvc namespace element for registering Parameterizable View Controllers [SPR-6413] #11079
- Provide localized field name in JSR-303 validation messages [SPR-6407] #11073
- StringToClassConverter missing [SPR-6406] #11072
- Create org.springframework.context.support.ConversionServiceFactoryBean [SPR-6397] #11063
- Add support for the HIbernate RegionFactory cache API to LocalSessionFactoryBean [SPR-6387] #11053
- Quartz SchedulerFactoryBean delayed start [SPR-6382] #11048
- Need more flexibility around conversion strategies and how to bootstrap different conversion strategies. [SPR-6381] #11047
- mvc:annotation-driven does not register javax.validation.Valdiator by default with the application context ? [SPR-6377] #11044
- Register sensible default HTTP Message Converters based on what is available in the classpath [SPR-6375] #11042
- Add a EntityConverter for mapping between entity identifiers and entity references [SPR-6374] #11040
- Do not require bound classes or context for Jaxb2Marshaller [SPR-6372] #11038
- Jaxb2Marshaller should use AnnotationUtils [SPR-6371] #11037
- mvc namespace should support adding HandlerInterceptors [SPR-6352] #11018
- ResourceDatabasePopulator is too verbose when reporting ignored failures [SPR-6348] #11014
- improve existing LTW to not depend on proprietary/mock jars [SPR-6333] #10999
- location parsing might incorrectly rely on the URL API [SPR-6332] #10998
- Phased Lifecycle Stop [SPR-5507] #10179
- Spring MVC Interceptor Documentation [SPR-5158] #9831
- Ability to restrict HandlerInterceptors to specific controller paths [SPR-4015] #8695
🪲 Bug Fixes
- Application context does not properly handle non-running SmartLifecyle beans [SPR-6572] #11238
- ConversionService does not support List to Iterable [SPR-6478] #11144
- ConversionService does not support List to Object [SPR-6477] #11143
- ConversionService does not support Map to Object [SPR-6476] #11142
- ContentNegotiatingViewResolver can not handle View implementations returning null as content type [SPR-6466] #11132
- Named constructor args cannot be overridden by child bean definitions [SPR-6463] #11129
- TaskExecutor not initialized in task namespace [SPR-6444] #11110
- mvc:interceptors configuration is not aware of 'p' namespace [SPR-6414] #11080
- CXF integration broken in Spring 3 RC2 [SPR-6412] #11078
- Regression: Cannot import XML bean documents using classpath*: pseudo URLs [SPR-6411] #11077
- Behavior of Bean loading changed in RC2 (Incompatible to Apache CXF) [SPR-6410] #11076
- Regression: HibernateTransactionManager.doBegin fails with java.lang.IllegalStateException: Already value [org.springframework.jdbc.datasource.ConnectionHolder [SPR-6409] #11075
- Incorrent H2 versions in reference documentation, section 12.8.6 [SPR-6403] #11069
- Spring manifest forbids CGLib 2.2.0 from being used [SPR-6401] #11067
- CGLIB version should be aligned in Manifest to allow usage of 2.2.0 in OSGI [SPR-6400] #11066
- When binding directly to fields (binder.initDirectFieldAccess()),
@DateTimeFormat
fails [SPR-6396] #11062 - BeanDefinitions are no longer singletons by default which breaks apache cxf [SPR-6391] #11057
- AbstractJasperReportsView doc is out of date [SPR-6390] #11056
- task:executor/ cannot be used as an inner bean [SPR-6388] #11054
- MappingJacksonHttpMessageConverter ignores supported media types property [SPR-6386] #11052
- RC2: Issue with RequestMethod.GET differs from M2 [SPR-6378] #11045
- PropertyPlaceholder Value not resolved with ExecutorBeanDefinitionParser ("Invalid pool-size value [${task.executors}]") [SPR-6368] #11034
- Cannot import bean definitions using classpath*: resource location [SPR-6366] #11032
- spring-jdbc.xsd script element claims resource patterns can be used for any SQL resource location but this is only supported for initialize-database tag [SPR-6365] #11031
- TransactionTemplate leaks transactions when TransactionCallback propagates undeclared checked exception [SPR-6361] #11027
- NPE in AbstractApplicationContext finishRefresh when initialized via Spring DM [SPR-6356] #11022
- ApplicationContext very slow to shutdown with bean of type org.springframework.scheduling.quartz.SchedulerFactoryBean [SPR-6354] #11020
- classpath*: is no longer finding resources with [SPR-6351] #11017
- Converting from String to Properties with leading/trailing whitespace results in ConversionFailedException [SPR-6350] #11016
- Formatting subsystem contains Java 6 API dependency [SPR-6349] #11015
- NoSuchMethodException in DerbyEmbeddedDatabaseConfigurer [SPR-6346] #11012
- ResourceDatabasePopulator does not handle comments properly when ignoring failures [SPR-6345] #11011
- InitDestroyAnnotationBeanPostProcessor is flipping the initialization order [SPR-6344] #11010
- PathVariable resolution does not work properly [SPR-6280] #10947
- OracleLobHandler: Temporary LOBs don't get freed and eat TEMP tablespace [SPR-6209] #10877
- NullPointerException when using
@CookieValue
annotation [SPR-5802] #10472
📔 Documentation
- Doc: spring-agent.jar has changed name [SPR-6469] #11135
- Update docs to use 3.0 JavaDoc links for references...
3.0 RC2 Release
⭐ New Features
- PathMatchingResourcePatternResolver inconsistently throws IOException in case of non-existing resources [SPR-7365] #12023
- Setting validationMode to NONE in org.springframework.beans.factory.xml.XmlBeanDefinitionReader disables namespace support [SPR-6336] #11002
- Introduce portable NumberFormat annotation [SPR-6331] #10997
- Rename
@ImportXml
->@ImportResource
and allow for usage of non-XML BeanDefinitionReader types [SPR-6328] #10994 - Introduce portable
@DateTimeFormat
annotation [SPR-6313] #10979 - Tiles 2.1 support in Spring 3.0 is not compatible with Tomcat 5.5 [SPR-6309] #10975
- Spring Expression Language creates systemProperties bean calling System.getProperties() which in enterprise shared containers is locked down [SPR-6308] #10974
- Quartz scheduler should not start until context is refreshed [SPR-6307] #10973
- Add mvc namespace for simplifying setup of Spring MVC [SPR-6306] #10972
- Wrapped Hibernate SQLGrammarException loses the potential SQL statement that caused the exception [SPR-6304] #10970
- Add more logging to RestTemplate [SPR-6303] #10969
- Support
@RequestHeader
on HttpHeaders parameters [SPR-6301] #10967 - AbstractExcelView doesn't work with POI 3.5 [SPR-6298] #10964
- CompositeStringExpression doesn't use the ConversionService [SPR-6278] #10945
- Spring Aspects to provide DataAccessException translation for direct EntityManager usage [SPR-6275] #10942
- Spring Aspects to provide basic static mock test functionality [SPR-6274] #10941
- Consider introducing Printer/Parser specializations of Formatter [SPR-6272] #10939
- Register converters for util.Date/util.Calendar as well as Joda DateTime types in DefaultConversionService [SPR-6271] #10938
- Upgrade to new version of javax.el [SPR-6265] #10933
- Add namespace support for ErrorHandler on MessageListener containers [SPR-6240] #10908
- Reintroduce Struts support [SPR-6236] #10904
- Add facility to EhCacheFactorybean for registering event listeners [SPR-6234] #10902
- [spel] performance for property access is less than ideal [SPR-6230] #10898
- Let StringArrayPropertyEditor trim resulting array values [SPR-6195] #10863
- MockServletContext hardcoded to return 2.5 for servlet version [SPR-6194] #10862
- Use var-args instead of String[] to set allowed, disallowed, and required fields in DataBinder [SPR-6174] #10842
- Support
@ImportResource
within@Configuration
classes [SPR-6158] #10826 - Update the documentation to include the advice of using within() together with lone kinded pointcuts [SPR-6123] #10791
- Expose setter for ConversionService to be set in a DataBinder, or publicly available property [SPR-6108] #10776
- FrameworkServlet does not need parent to be WebApplicationContext [SPR-6102] #10770
- Add support for JodaTime for new UI formatting API [SPR-6085] #10753
- Convention-based formatting/parsing methods for simple objects [SPR-6074] #10742
- Improve method naming in MethodParameter class [SPR-6055] #10724
- Add support for arrays in EL Selections and Projections [SPR-6051] #10720
- ApplicationListener callbacks to be supported for inner beans as well [SPR-6049] #10718
- [JPA] [EclipseLink] - Spring filters various packages in JPA temp class loader, prevent weaving of any models in these packages [SPR-6040] #10709
- HSQLDB+Quarz using data source causes "Unexpected token: FOR in statement " exception [SPR-6038] #10707
- Data Binder: Auto-grow collections as needed to support nested property binding [SPR-6033] #10702
- Data Binder: Add support for auto-instantiating null values in nested paths [SPR-6032] #10701
- Overriding DocumentDefaultsDefinitions retrieval from root element attributes [SPR-6010] #10678
- Load-Time Weaving does not work in JBoss AS 5 [SPR-5764] #10434
- Provide dedicated ApplicationContext implementations for use with (JavaConfig)
@Configuration
classes [SPR-5682] #10353 - Support BeanFactory#getBean(Class requiredType) [SPR-5529] #10200
- Spring expression: please provide additional convenience operators for comparisons [SPR-5518] #10189
- Spring MVC views.properties uses xl.(class) syntax [SPR-5430] #10104
- Spring inconsistently resolves an overloaded setter method [SPR-4931] #9606
- Add name attribute to XML namespaces that want to support it (through parser base class) [SPR-4783] #9460
- AbstractJmsListeningContainer should provide an easy way to start the container after the ApplicationContext has been fully initialized [SPR-4716] #9393
- Improve context-property-placeholder configurablity [SPR-4661] #9338
- ArgPreparedStatementSetter: extract setValue(ps, position, value) [SPR-3978] #8658
- extract JdbcTemplate.newArgPreparedStatementSetter(args) [SPR-3977] #8657
- Make it easier to disallow bean definition overriding [SPR-3734] #8415
- scope (& similar attributes) on abstract beans should be inherited in child beans, or not permitted [SPR-3542] #8225
- Thread safe date format/parse API [SPR-2300] #6989
- Circular dependence forbidding cannot be easily configured. [SPR-2048] #6741
🪲 Bug Fixes
- Multiple constructor-arg with same index=0 withing the same bean element does not throw exception [SPR-6329] #10995
- Regression: ResourceEditor in 3.0 does not ignore unresolvable placeholders, but it did in 2.5.6 [SPR-6321] #10987
- ModelAndViewAssert.assertViewName() is not nullsafe [SPR-6300] #10966
- Spring:url tag should not use application/x-www-form-urlencoded encoding [SPR-6296] #10962
- Documentation Inconsistency - Required version of Tiles [SPR-6293] #10959
- RequestContextListener initializes Log4J ahead of call to Log4jConfigListener [SPR-6288] #10955
- getenv.* : Access denied (java.lang.RuntimePermission getenv.*) [SPR-6287] #10954
- scope of javax.servlet in portlet pom is compile instead of provided [SPR-62...
3.0 RC1 Release
⭐ New Features
- Change in documentation [SPR-6768] #11434
- GenericConversionService calls initGenericConverters from constructor [SPR-6149] #10817
@ResponseStatus
annotation is ignored in an@Controller
redirect (RedirectView) [SPR-6144] #10812- Add ErrorHandler strategy for MessageListener containers [SPR-6142] #10810
- Allow for the sourceType TypeDescriptor to be provided along with the targetType TypeDescriptor when executing type conversions [SPR-6140] #10808
- Introduce uniform GenericConverter interface within the GenericConversionService implementation [SPR-6139] #10807
- Revise core.convert Converter SPI to not a throw checked Exception for the typed convert method [SPR-6138] #10806
- Be able to specify a default content type when no extension is used in ContentNegotiatingViewResolver [SPR-6130] #10798
- Upgrade the Spring JSP tag libraries to JSP 2.0 [SPR-6114] #10782
- Add listeners alias for
@TestExecutionListeners
' value attribute [SPR-6104] #10772 - MVC Annotation Inheritance [SPR-6093] #10761
@SessionAttributes
to be exposed in model even when not referenced in current handler method [SPR-6084] #10752- Provide support for javax.inject.Provider<> style injection for
@Value
and@Autowired
[SPR-6079] #10747 - Fill implicit model with session-backed data for portlets render phase [SPR-6071] #10739
- upgrade to CGLIB 2.2 [SPR-6061] #10729
- ClassUtils.forName() does not support multi-dimensional arrays [SPR-6057] #10726
- CronTriggerBean.afterPropertiesSet method throws a ParseException, should be an Exception, like in InitializingBean interface. [SPR-6048] #10717
- Ability to configure a XStream subclass on XStreamMarshaller [SPR-6037] #10706
- Validation: Initial support for dependency injection of a JSR-303 Validator [SPR-6035] #10704
- SystemPropertyUtils does not resolve placeholders recursively [SPR-6025] #10694
- EmbeddedDatabaseBuilder should load data.sql instead of test-data.sql by default [SPR-6020] #10689
- Support parsing without namespace awareness in BeanDefinitionParserDelegate and DefaultBeanDefinitionDocumentReader [SPR-6017] #10686
- Add Formatter support to DataBinder [SPR-6015] #10684
- Ability to associate a Formatter with a class by using the
@Formatted
annotated [SPR-6013] #10682 - UI Formatter SPI as an alternative to PropertyEditors [SPR-6012] #10681
- Improve CastorMarshaller support for loading class descriptors [SPR-6003] #10671
- notice.txt should contain a different email [SPR-5993] #10661
- InitDestroyAnnotationBeanPostProcessor should have static logger because it's Serializable [SPR-5962] #10630
- Commons Logging should not be "compile" scope in Maven POMs [SPR-5956] #10624
- Allow non-standard attributes in tags [SPR-5931] #10600
- Revise reference manual coverage for SimpleJdbcCall and the use of default parameter values [SPR-5929] #10598
- MBeanExporter.setExcludedBeans does not work properly on FactoryBeans [SPR-5926] #10595
- Add support to externalize values for "defaultValue" in method parameters. [SPR-5922] #10591
- Slight Improvement for Main JavaDoc in RedirectView [SPR-5910] #10579
- Allow MBeanServerFactoryBean to specify PlatformMBeanServer explicitly [SPR-5909] #10578
- HessianException is not converted to RemoteAccessConnection on HTTP 400 [SPR-5897] #10566
- AbstractBeanDefinitionParser.parseInternal() cannot return null [SPR-5872] #10542
- "primary" bean definitions in child context should take preference over those in parent context [SPR-5871] #10541
- ManagedOperation can not be used on getter [SPR-5859] #10528
- When using
@ManagedOperation
on a method, allow overriding methods in that subclass,to be exposed as an operation. [SPR-5813] #10483 - GenericApplicationListenerAdapter#getGenericEventType as a general purpose utility [SPR-5799] #10469
- Provide a non-
@Component-sterotype
annotation that tags a bean class to be scanned fro@Bean
annotations [SPR-5795] #10465 - PropertyOverrideConfigurer ignores some invalid keys but not others [SPR-5792] #10462
- PersistenceUnitReader#determinePersistenceUnitRootUrl returns wrong root url on JBoss 5, causing no detection of entity beans [SPR-5784] #10454
- Patch so that CronTriggerBean can take a start delay [SPR-5727] #10397
- PropertyEditor support for binding of open enums (Enum<?>) [SPR-5644] #10315
- Full support for JPA 2.0 [SPR-5586] #10257
- Full support for JSF 2.0 [SPR-5585] #10256
- Property placeholder defaulting in resources path [SPR-5508] #10180
- Modify RedirectView to allow 301 Permanent Redirects [SPR-5468] #10141
- Integrating validation into the
@MVC
request lifecycle [SPR-5417] #10091 - JpaTransactionManager does not support transaction timeouts [SPR-5195] #9868
- Spring component scanning does not work within JBoss EJB container [SPR-5120] #9793
@RequestMapping-based
controllers do not work for JDK proxies with annotated interfaces [SPR-5084] #9757- Spring JMX Annotation inheritance support is inconsistent (or at least difficult in some situations) [SPR-5039] #9714
- Add support for default values in property placeholder syntax [SPR-4785] #9462
- Support for JUnit 4.7
@Rule
(was: message checking with@ExpectedException
) [SPR-4643] #9320 - Allow
@ManagedXYZ
on interfaces [SPR-3635] #8316 - Support for declarative validation (Hibernate Validator, anticipating JSR 303) [SPR-69] #4803
🪲 Bug Fixes
- slf4j dependency in spring-orm should be optional [SPR-6185] #10853
@ResponseBody
with returned String results in unresolvable view ServletException [SPR-6148] #10816- Spring complains that it needs to be started with agent when it actually is started that way [SPR-6147] #10815
- ClassCastException in WebRequestDataBinder with MultipartRequest [SPR-6136] [#10804](https://github.com/spring...
3.0 M4 Release
⭐ New Features
- Add transactionManager property to
@Transactional
configuration [SPR-6283] #10950 - Add support for the
@WebServiceProvider
to the SimpleJaxWsServiceExporter [SPR-5988] #10656 - BufferedImageHttpMessageConverter doesn't work on Google AppEngine [SPR-5975] #10643
- Enable AbstractRequestLoggingFilter implementations to access the request body [SPR-5961] #10629
- Allow SimpleMappingExceptionResolver to Resolve HTTP Status Codes [SPR-5953] #10621
- MarshallingHttpMessageConverter should not require both marshaller and unmarshaller [SPR-5942] #10611
- HttpMessageConverter selection as a result of
@ResponseBody
should consider the requested content type [SPR-5923] #10592 - Simplify domain object dependency injection through use of generics [SPR-5920] #10589
- TestContext/ContextConfiguration: inherit loader, not just locations. [SPR-5916] #10585
- Add support for multiple TransactionManagers using
@Transactional
annotation [SPR-5896] #10565 - Reference Doc section 16.11.4 can include the new
@RequestBody
from 18.2.1.2 [SPR-5894] #10563 - Spelling mistake in ContentNegotiatingViewResolver JavaDoc [SPR-5885] #10555
- accessibility feature on bean definitions [SPR-5882] #10552
- primitive vs wrapper objects abiguity inside the container [SPR-5881] #10550
- Add support for content negotiation based on a request parameter value [SPR-5870] #10539
- JSON formatting view for Spring MVC [SPR-5853] #10522
- XstreamMarshaller does not support field aliasing [SPR-5838] #10508
- RestTemplate - postForObject() method [SPR-5836] #10506
- MethodInvokingJobDetailFactoryBean does not set the result in JobContext [SPR-5831] #10501
- JSON HttpMessageConverter [SPR-5823] #10493
- support the new conversion system into the core container APIs [SPR-5817] #10487
- support non-lenient constructor injection [SPR-5816] #10486
- Custom regex matching for
@PathVariable
[SPR-5812] #10482 - Make HttpMessageConverterExtractor top level class [SPR-5808] #10478
- Quartz dependency in context-support POM should be optional [SPR-5803] #10473
- org.hibernate.annotations.Entity ignored by AnnotationSessionFactoryBean [SPR-5787] #10457
- BufferedImageHttpMessageConverter [SPR-5782] #10452
- Rearrange logic in ServletHandlerMethodInvoker.getModelAndView() [SPR-5768] #10438
- Misleading error message in HandlerMethodInvoker.resolveRequestBody() [SPR-5767] #10437
@ResponseBody
[SPR-5766] #10436- XStreamMarshaller can not activate XStream automatic annotations detection feature [SPR-5760] #10430
- Handling of spaces and underscores in AbstractBeanPropertyRowMapper [SPR-5758] #10428
@Configurable
BeanCurrentlyInCreationException logging causing confusion [SPR-5752] #10422- Allow XStreamMarshaller subclasses to customise XStream object [SPR-5746] #10416
- Support lazy initialization within Jaxb2 OXM classes [SPR-5745] #10415
@Required
doesn't play nice with@Configuration
and@Bean
[SPR-5744] #10414- Integrate Derby into embedded database support [SPR-5738] #10408
- Correct compiler settings in spring-parent pom.xml to allow build with Maven [SPR-5735] #10405
- JavaDocs are hard to read with fully qualified names for java.lang, java.util and other non-Spring classes [SPR-5734] #10404
- When no type conversion strategy is found on a
@Controller
handler method bind target, a 500 error code should be returned not a 400. [SPR-5732] #10402 - Provide an JDBC Namespace to easily set up embedded database [SPR-5728] #10398
- Reduce cumulative JAR payload required for DI-only use cases (particularly ANTLR) [SPR-5721] #10391
- Add execute(Object[] values) method to StoredProcedure [SPR-5696] #10366
- Add TilesViewResolver to enable fallback if tiles definition does not exist [SPR-5689] #10359
- SPEL: Introduce a new null-safe access operator for properties [SPR-5664] #10335
- Reload the application context for each test in a class with a class level annotation [SPR-5640] #10311
- Portlet-version of
@ExceptionHandler
[SPR-5633] #10304 - WebDataBinder type conversion failures should result in 400, not 500 [SPR-5622] #10293
- Write documentation for Spring 3.0 new annotations [SPR-5455] #10128
- TilesConfigurer class no longer works with Tiles 2.1.1 [SPR-5411] #10084
- Make Tiles 2 easier to configure in Spring MVC [SPR-5406] #10079
- SpringExpressionsParser doesn't work with newer version of ANTLR [SPR-5343] #10016
- Move
@ManagedMetric
annotation to Spring JMX [SPR-5256] #9930 - Problem when working with RichFaces (JSF) integrated into the spring with javax.faces.STATE_SAVING_METHOD=client. [SPR-5181] #9854
- Discrepancy between sql parsing in SimpleJdbcTemplate and NamedParameterJdbcTemplate when doing batchUpdates [SPR-5162] #9835
- Injected HttpServletRequest object in session-scoped bean should transparently access current request [SPR-5135] #9808
- XML import should support patterns for relative paths as well [SPR-5015] #9690
- Return 405 instead of 404 when HTTP method is not supported [SPR-4927] #9602
- SimpleJdbcInsert needs to understand synonyms! [SPR-4782] #9459
- consider a simplified SimpleJdbcCall.execuFunction( Class returnType, Object... params ) [SPR-4739] #9416
- Support for
@DirtiesContext
at the test class level [SPR-4702] #9379 - Add single checkbox input macro for Velocity and Freemarker [SPR-4700] #9377
- Serialization of HibernateTransactionManager fails [SPR-4662] #9339
@RequestMapping
narrowing based on presence of command object [SPR-4368] #9046- Configuration namespace for scheduling [SPR-4359] #9037
- Add support for a TestDatabaseFactory to s...