Skip to content

Releases: spring-projects/spring-framework

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

3.0 M3 Release

17 Jan 15:47
Compare
Choose a tag to compare

⭐ New Features

  • Add value alias for @ContextConfiguration's locations attribute [SPR-5713] #10383
  • Subclasses of SpringJUnit4ClassRunner should be able to configure the default ContextLoader class [SPR-5710] #10380
  • Request header filtering in @RequestMapping [SPR-5690] #10360
  • Expose model object in RequestContext with public getter [SPR-5686] #10356
  • improve thread-safety for entity/namespace resolvers [SPR-5679] #10350
  • Allow EclipseLink 2.0.0.M1 in Spring-ORM [SPR-5676] #10347
  • mergePropertiesIntoMap only works with String [SPR-5669] #10340
  • avoid synchronization when AspectJExpressionPointcut.getShadowMatch hits cache [SPR-5668] #10339
  • Request: lazy-init or 'only-if-needed' option for stereotype @Component source-annotated component-scan definitions [SPR-5662] #10333
  • @Property annotation to "autowire" properties [SPR-5659] #10330
  • Support placeholders in @Resource annotation configurations [SPR-5656] #10327
  • Mismatch between Javadoc and method signture BeanWrapper.getPropertyDescriptor(String) - throws clause [SPR-5650] #10321
  • Support use of @Qualifier in conjunction with @Bean methods [SPR-5643] #10314
  • portlet global session ignored by by JSF request wrapper [SPR-5637] #10308
  • @RequestMapping matching should be insensitive to trailing slashes [SPR-5636] #10307
  • OXM does not permit targetClass and mapping file for CastorMarshaller [SPR-5634] #10305
  • Implicit /** mapping on type-level @RequestMapping [SPR-5631] #10302
  • Extend Multiple @PathVariable Selection to allow delimeters other than / [SPR-5630] #10301
  • Support use of @Primary and @Lazy during component-scanning [SPR-5629] #10300
  • Allow for exceptions to be annotated with a @ResponseStatus annotation [SPR-5625] #10296
  • A default HandlerExceptionResolver that resolves standard Spring exceptions [SPR-5624] #10295
  • Set Content-Type response header for Hessian services [SPR-5621] #10292
  • spring:url tag should use htmlEscape instead of escapeXml for entity encoding [SPR-5605] #10276
  • Eager validation for missing destroy methods [SPR-5602] #10273
  • Make naming of @Configuration class processing-related artifacts consistent [SPR-5600] #10271
  • Hook @Configuration class processing into context:component-scan/ and context:annotation-config/ through AnnotationConfigUtils#registerAnnotationConfigProcessors [SPR-5599] #10270
  • Improve support for @Aspect-annotated @Configuration classes by relaxing constraints in AbstractAspectJAdvisorFactory#isAspect() [SPR-5598] #10269
  • Consolidate @ScopedProxy -> @Scope [SPR-5594] #10265
  • Provide @Lazy annotation [SPR-5591] #10262
  • Provide @Primary annotation [SPR-5590] #10261
  • BeanPropertyRowMapper should default primitive property when receiving null value from result [SPR-5588] #10259
  • Change MapSqlParameterSource to SqlParameterSource in executeFunction and executeObject methods [SPR-5570] #10241
  • metadata clients cannot identify the source of a value type [SPR-5562] #10233
  • xml value-type hard to determine for list/set or maps from the metadata [SPR-5556] #10227
  • ConstructorArgumentValues returns collections with different order [SPR-5554] #10225
  • Support @Scope(proxyMode) during component-scanning/autowiring lifecycle [SPR-5550] #10221
  • Revise beans XSD for 3.0 [SPR-5549] #10220
  • add support for arrays inside the xml configuration ( element) [SPR-5543] #10214
  • Add XML HttpMessageConverters [SPR-5539] #10210
  • Add unregisterManagedResource to MBeanExportOperations interface [SPR-5517] #10188
  • Support Hessian 3.2.1 [SPR-5469] #10142
  • XStreamMarshaller.setImplicitCollection(Map) is insufficient [SPR-5449] #10086
  • Ordering of ServletContextAware and ApplicationContextAware callbacks makes testing FreeMarkerView (and similar classes) impossible [SPR-5398] #10071
  • Scanned components don't have the ability of being "primary" candidates [SPR-5155] #9828
  • Use field or parameter name as default value for @Qualifier [SPR-5152] #9825
  • Spring TestContext Framework not compatible with JUnit 4.5 [SPR-5145] #9818
  • Add DuplicateKeyException to DAO exception hierachy [SPR-5125] #9798
  • AnnotationUtils.findAnnotation() should look for annotations on annotations [SPR-5085] #9758
  • FreeMarkerView should support AllHttpScopesHashModel (analogous to FreeMarkerServlet in FreeMarker 2.3.14) [SPR-4962] #9637
  • Adding hook into SQL State based exception translation [SPR-4899] #9575
  • [Performance] CachedIntrospectionResults has wrong approach to caching. [SPR-4876] #9552
  • AnnotationMethodHandlerAdapter should treat String return type with @ModelAttribute as model attribute instead of view name [SPR-4867] #9543
  • Allow annotated methods on a Controller to be marked as exception handlers [SPR-4677] #9354
  • @RequestMapping methods returning null have an implicit ModelAndView created [SPR-4518] #9195
  • When using request mappings at the type-level like /hotels/*, it should be possible to define a controller handler method for the root like /hotels [SPR-4494] #9172
  • @Autowired dependencies and external configuration [SPR-4447] #9125
  • Comprehensive REST Support [SPR-4419] #9097
  • org.springframework.jdbc.object.StoredProcedure is an abstract class, although it may be allowed to be used as a concrete class after the jira change SPR-3898 [SPR-3987] #8667
  • Provide a concrete implementation of MappingSqlQuery (say RowMappingSqlQuery) which can be injected a RowMapper, so that we can put it in a config file [SPR-3986] #8666
  • Enable custom default value for @Transactional's rollbackFor argument [SPR-3027] #7713
  • Subclass DataIntegrityViolationException to represent main constraint types and translate SQL exceptons into appropriate subclass [SPR-2977] #7663

🪲 Bug Fixes

  • AopUtils.getTargetClass assumes cglib proxies are always proxying classes [SPR-5694] [#10364](https...
Read more

3.0 M2 Release

17 Jan 15:47
Compare
Choose a tag to compare

⭐ New Features

  • Improvement to ConstructorResolver [SPR-5522] #10193
  • Spring expression: please improve getValue() in CompositeStringExpression [SPR-5466] #10139
  • Add AtomView sample to PetClinic [SPR-5460] #10133
  • Spring expression: ReflectionUtils don't respect boolean getters starting with 'is' [SPR-5450] #10123
  • ReflectionUtils.findMethod does not find methods for Object.class [SPR-5434] #10108
  • RequestParam can't properly parse an optional boolean parameter [SPR-5410] #10083
  • TypeUtils.isAssignable should return true for ParametrizedType assignable to Object [SPR-5390] #10063
  • MarshallingView should override AbstractView instead of AbstractUrlBasedView [SPR-5380] #10053
  • Collection type resolver considering only lower bound of wildcard [SPR-5344] #10017
  • ExecutorCompletionService for Spring TaskExecutor [SPR-5341] #10014
  • Rationalise ThreadPoolTaskExecutor and ScheduledExecutorFactoryBean [SPR-5337] #10010
  • HibernateClinic in PetClinic sample should use constructor-injection instead of field injection [SPR-5326] #9999
  • AOP PointCuts: ProceedingJointPoint provides the synthetic(bridge) and not the real method [SPR-5317] #9990
  • PropertyValue does not copy the converted semantics of a given pv [SPR-5293] #9966
  • Migrate OXM from Spring-WS to Spring Core [SPR-5259] #9933
  • Prototype application context event listeners are not notified within the events [SPR-5248] #9922
  • Prototype beans that implement ApplicationListener shouldn't be created during container initialization [SPR-5247] #9921
  • ApplicationListener notifications to reflect Ordered interface [SPR-5240] #9914
  • util:constant can't read static inner enums [SPR-5210] #9883
  • #springUrl does not run encodeURL() [SPR-5134] #9807
  • Genericize ApplicationListener [SPR-4610] #9287
  • Portlet 2.0 (JSR 286) support in Spring MVC [SPR-4259] #8937
  • ApplicationListener beans eagerly instantiated even when marked as lazy-init [SPR-4054] #8733
  • Asynchronous execution of ApplicationListeners through annotation [SPR-3876] #8556
  • AsynchronousExecutionInterceptor [SPR-3528] #8211
  • Nicer handling of Java 5 enums by the Spring MVC form taglib. [SPR-3389] #8072
  • util:property-path like functionality for the p-namespace [SPR-3360] #8044
  • Add JDK 5 Generics support to HibernateTemplate's returned Lists [SPR-3128] #7814
  • Improvement for handling checkboxes in web forms (patch included) [SPR-2733] #7421
  • Provide out of the box implementation of the thread scope [SPR-2581] #7270
  • ApplicationEventMulticaster should efficiently dispatch according to event type and source [SPR-2572] #7261

🪲 Bug Fixes

  • RestTemplate should encode the url variables [SPR-5516] #10187
  • NPE when passing null as a request to RestTemplate.postForLocation [SPR-5515] #10186
  • Buggy reuse of list in prototype, when using shorthand definition in xml. [SPR-5512] #10184
  • ModelAndView.getModel method garbages wasCleared state [SPR-5505] #10177
  • Alias chaining does not work with @Qualifier and @Autowired [SPR-5501] #10173
  • Error in javadoc for org.springframework.web.portlet.mvc.AbstractFormController [SPR-5478] #10151
  • AnnotationMetadataReadingVisitor doesn't consider annotation method returning classes [SPR-5477] #10150
  • Multi-dimensional array brakes HTTP invokers remoting [SPR-5473] #10146
  • Possible NPE in JmsUtils.buildExceptionMessage and JmsException.getMessage [SPR-5470] #10143
  • Spring expression: NPE in org.springframework.expression.spel.ast.Ternary [SPR-5441] #10115
  • grammatical error in LobHandler javadoc [SPR-5440] #10114
  • org.springframework.expression: Bug in TemplateAwareExpressionParser when expressionString contains '}' [SPR-5438] #10112
  • JoinPoint and Singature toString, toShortString, and toLongString don't return useful information [SPR-5437] #10111
  • @RequestMapping type-level params not taken into account consistently [SPR-5421] #10095
  • Infinite loop in bean creation when placeholder used for bean name [SPR-5419] #10093
  • BridgeMethodResolver is unable to locate bridged method for hibernate Cglib-wrapped class implementing a generic interface [SPR-5414] #10088
  • SpringBeanAutowiringInterceptor.autowireBean() has wrong signature [SPR-5412] #10085
  • DefaultLobHandler should honour "wrapAsLob" for getting data too [SPR-5376] #10049
  • SPEL PropertyOrFieldReference not threadsafe [SPR-5374] #10047
  • @Qualifier no longer works in 3.0 [SPR-5355] #10028
  • AbstractResource.exists() doesn't close connection correctly on a not found http url [SPR-5338] #10011
  • manager.sh classpath for petclinic should be updated (patch included) [SPR-5335] #10008
  • PropertyPlaceholderConfigurer always tries to replace maps due to incorrect modification check in BeanDefinitionVisitor [SPR-5318] #9991
  • StackOverflowError when using MessageListenerAdapter without delegate [SPR-5309] #9982
  • spring-test-2.5.6.jar incompatible with junit distribution from SpringSource Enterprise Bundle Repository [SPR-5291] #9964
  • spring-context manifest import-package of javax.annotation;version="[1. 0.0, 2.0.0)" conflicts with provided system bundle javax.annotation; version="0.0.0" [SPR-5290] #9963
  • WebsphereUowTransactionManager and UOWManager wrap checked exceptions if declared to roll back [SPR-5270] #9943
  • PathMatchingResourcePatternResolver(ClassLoader classLoader) [SPR-5264] #9937

📔 Documentation

  • Update Pet Clinic to use HSQL as an embedded database [SPR-5429] #10103

3.0 M1 Release

17 Jan 14:07
Compare
Choose a tag to compare

⭐ New Features

  • WorkManagerTaskExecutor implements also Executor interface [SPR-6210] #10878
  • JSP tag for building URLs with URI templates [SPR-5298] #9971
  • Improve bundlor templates [SPR-5250] #9924
  • Atom and RSS View [SPR-5249] #9923
  • Default value for @RequestParam [SPR-5237] #9911
  • Scope SPI support for EL binding [SPR-5224] #9898
  • Revise ContextLoader / ContextLoaderListener relationship [SPR-5056] #9731
  • JRuby 1.1: org.jruby.Ruby method renames break Spring's scripting support [SPR-4743] #9420
  • Introducing Expression Language Support [SPR-4] #4739

🪲 Bug Fixes

  • Fetching _eventId throws uncaught ClassCastException if it is not a String [SPR-5349] #10022
  • AnnotationSessionFactoryBean.scanPackages() creates scanning pattern incorrectly [SPR-5324] #9997
  • TLDs must be located under META-INF [SPR-5299] #9972
  • JmsUtils.buildExceptionMessage throws NPE if the linked exception doesn't have a message [SPR-5275] #9948
  • Bug in translating SQLException using Error Codes [SPR-5272] #9945