Skip to content

Releases: spring-projects/spring-framework

3.0.5 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ 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...
Read more

3.0.4 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ 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](https://g...
Read more

3.0.3 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ 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...
Read more

3.0.2 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ 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 ...
Read more

3.0.1 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ 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...
Read more

3.0 GA Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ 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

17 Jan 15:46
Compare
Choose a tag to compare

⭐ 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...
Read more

3.0 RC2 Release

17 Jan 15:47
Compare
Choose a tag to compare

⭐ 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...
Read more

3.0 RC1 Release

17 Jan 15:47
Compare
Choose a tag to compare

⭐ 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...
Read more

3.0 M4 Release

17 Jan 15:47
Compare
Choose a tag to compare

⭐ 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...
Read more