Skip to content

3.0 M4 Release

Compare
Choose a tag to compare
@spring-projects-issues spring-projects-issues released this 17 Jan 15:47
· 28630 commits to main since this release

⭐ New Features

  • Add transactionManager property to @Transactional configuration [SPR-6283] #10950
  • Add support for the @WebServiceProvider to the SimpleJaxWsServiceExporter [SPR-5988] #10656
  • BufferedImageHttpMessageConverter doesn't work on Google AppEngine [SPR-5975] #10643
  • Enable AbstractRequestLoggingFilter implementations to access the request body [SPR-5961] #10629
  • Allow SimpleMappingExceptionResolver to Resolve HTTP Status Codes [SPR-5953] #10621
  • MarshallingHttpMessageConverter should not require both marshaller and unmarshaller [SPR-5942] #10611
  • HttpMessageConverter selection as a result of @ResponseBody should consider the requested content type [SPR-5923] #10592
  • Simplify domain object dependency injection through use of generics [SPR-5920] #10589
  • TestContext/ContextConfiguration: inherit loader, not just locations. [SPR-5916] #10585
  • Add support for multiple TransactionManagers using @Transactional annotation [SPR-5896] #10565
  • Reference Doc section 16.11.4 can include the new @RequestBody from 18.2.1.2 [SPR-5894] #10563
  • Spelling mistake in ContentNegotiatingViewResolver JavaDoc [SPR-5885] #10555
  • accessibility feature on bean definitions [SPR-5882] #10552
  • primitive vs wrapper objects abiguity inside the container [SPR-5881] #10550
  • Add support for content negotiation based on a request parameter value [SPR-5870] #10539
  • JSON formatting view for Spring MVC [SPR-5853] #10522
  • XstreamMarshaller does not support field aliasing [SPR-5838] #10508
  • RestTemplate - postForObject() method [SPR-5836] #10506
  • MethodInvokingJobDetailFactoryBean does not set the result in JobContext [SPR-5831] #10501
  • JSON HttpMessageConverter [SPR-5823] #10493
  • support the new conversion system into the core container APIs [SPR-5817] #10487
  • support non-lenient constructor injection [SPR-5816] #10486
  • Custom regex matching for @PathVariable [SPR-5812] #10482
  • Make HttpMessageConverterExtractor top level class [SPR-5808] #10478
  • Quartz dependency in context-support POM should be optional [SPR-5803] #10473
  • org.hibernate.annotations.Entity ignored by AnnotationSessionFactoryBean [SPR-5787] #10457
  • BufferedImageHttpMessageConverter [SPR-5782] #10452
  • Rearrange logic in ServletHandlerMethodInvoker.getModelAndView() [SPR-5768] #10438
  • Misleading error message in HandlerMethodInvoker.resolveRequestBody() [SPR-5767] #10437
  • @ResponseBody [SPR-5766] #10436
  • XStreamMarshaller can not activate XStream automatic annotations detection feature [SPR-5760] #10430
  • Handling of spaces and underscores in AbstractBeanPropertyRowMapper [SPR-5758] #10428
  • @Configurable BeanCurrentlyInCreationException logging causing confusion [SPR-5752] #10422
  • Allow XStreamMarshaller subclasses to customise XStream object [SPR-5746] #10416
  • Support lazy initialization within Jaxb2 OXM classes [SPR-5745] #10415
  • @Required doesn't play nice with @Configuration and @Bean [SPR-5744] #10414
  • Integrate Derby into embedded database support [SPR-5738] #10408
  • Correct compiler settings in spring-parent pom.xml to allow build with Maven [SPR-5735] #10405
  • JavaDocs are hard to read with fully qualified names for java.lang, java.util and other non-Spring classes [SPR-5734] #10404
  • When no type conversion strategy is found on a @Controller handler method bind target, a 500 error code should be returned not a 400. [SPR-5732] #10402
  • Provide an JDBC Namespace to easily set up embedded database [SPR-5728] #10398
  • Reduce cumulative JAR payload required for DI-only use cases (particularly ANTLR) [SPR-5721] #10391
  • Add execute(Object[] values) method to StoredProcedure [SPR-5696] #10366
  • Add TilesViewResolver to enable fallback if tiles definition does not exist [SPR-5689] #10359
  • SPEL: Introduce a new null-safe access operator for properties [SPR-5664] #10335
  • Reload the application context for each test in a class with a class level annotation [SPR-5640] #10311
  • Portlet-version of @ExceptionHandler [SPR-5633] #10304
  • WebDataBinder type conversion failures should result in 400, not 500 [SPR-5622] #10293
  • Write documentation for Spring 3.0 new annotations [SPR-5455] #10128
  • TilesConfigurer class no longer works with Tiles 2.1.1 [SPR-5411] #10084
  • Make Tiles 2 easier to configure in Spring MVC [SPR-5406] #10079
  • SpringExpressionsParser doesn't work with newer version of ANTLR [SPR-5343] #10016
  • Move @ManagedMetric annotation to Spring JMX [SPR-5256] #9930
  • Problem when working with RichFaces (JSF) integrated into the spring with javax.faces.STATE_SAVING_METHOD=client. [SPR-5181] #9854
  • Discrepancy between sql parsing in SimpleJdbcTemplate and NamedParameterJdbcTemplate when doing batchUpdates [SPR-5162] #9835
  • Injected HttpServletRequest object in session-scoped bean should transparently access current request [SPR-5135] #9808
  • XML import should support patterns for relative paths as well [SPR-5015] #9690
  • Return 405 instead of 404 when HTTP method is not supported [SPR-4927] #9602
  • SimpleJdbcInsert needs to understand synonyms! [SPR-4782] #9459
  • consider a simplified SimpleJdbcCall.execuFunction( Class returnType, Object... params ) [SPR-4739] #9416
  • Support for @DirtiesContext at the test class level [SPR-4702] #9379
  • Add single checkbox input macro for Velocity and Freemarker [SPR-4700] #9377
  • Serialization of HibernateTransactionManager fails [SPR-4662] #9339
  • @RequestMapping narrowing based on presence of command object [SPR-4368] #9046
  • Configuration namespace for scheduling [SPR-4359] #9037
  • Add support for a TestDatabaseFactory to spring-test [SPR-4116] #8795
  • support for multiple transaction managers with @Transactional / tx:annotation-driven [SPR-3955] #8635
  • Allow UrlBasedViewResolver to delegate if file not found [SPR-3661] #8342
  • ManagedResource Annotation is not annoted as Inherited [SPR-3500] #8183
  • Add a batchUpdate method to namedParameterJdbcTemplate [SPR-3322] #8007
  • Add @annotation to name constructor arguments allowing names to be placed in config [SPR-3313] #7998
  • Service references in JSF session objects not restored when using persistent sessions [SPR-2675] #7364
  • Provide ability to make aop:scoped-proxy prototypes and singletons truely serializable [SPR-2121] #6812
  • Attach tooling metadata to constructor arg definitions [SPR-1887] #6580

🪲 Bug Fixes

  • SingleConnectionFactory's resetConnection is causing deadlocks with underlying OracleAQ's JMS connection [SPR-5987] #10655
  • Reference guide refers to non-existing type StandardScopes [SPR-5979] #10647
  • Broken ref to non-existing REST chapter in what's new section in reference guide [SPR-5978] #10646
  • ContextLoader static logger causes early log4j initialization [SPR-5977] #10645
  • Upgrade POMS to JUnit 4.6 [SPR-5976] #10644
  • Tidy up Maven central POM for spring-webmvc [SPR-5970] #10638
  • Tidy up Maven central POM for spring-context-support [SPR-5969] #10637
  • Maven central POM for spring-web has wrong versions of dependencies and a missing dependency [SPR-5968] #10636
  • Typo error in reference documentation - "What's new in Spring 3.0" [SPR-5965] #10633
  • Weaving spring-aspects corrupts class causing bad class file, bad signature on compilation of unwoven sub-classes. [SPR-5949] #10618
  • InitDestroyAnnotationBeanPostProcessor @PostConstruct method may not get called [SPR-5945] #10614
  • Singleton-scoped @Bean methods behave like prototypes in a Spring DM environment [SPR-5932] #10601
  • NPE in FileEditor [SPR-5930] #10599
  • REOPENED -PathVariable mappings are greedy over hard coded mappings [SPR-5924] #10593
  • ProfileValueUtils should enforce class-level usage of @IfProfileValue to override method-level usage [SPR-5914] #10583
  • aop:scoped-proxy doesn't retain qualifiers [SPR-5911] #10580
  • Unmatched quotes in documentation samples in SpEL chapter [SPR-5908] #10577
  • EL replacement doesn't work in value [SPR-5906] #10575
  • SPEL: Accessing inner classes via T(Outer$Inner) throws ParseException [SPR-5905] #10574
  • SPEL: Unable to pass null values to method calls [SPR-5899] #10568
  • tiles2's AbstractSpringPreparerFactory's logic is wrong [SPR-5886] #10556
  • "Unexpected end of file from server" when adding serializable object to RemoteInvocation [SPR-5880] #10549
  • Embedded database support for H2 and HSQLDB does not work in an OSGi environment: JDBC bundle does not import org.hsqldb and org.h2 [SPR-5852] #10521
  • Set Maven repositories as non-snapshot [SPR-5851] #10520
  • NullPointerException in GenericConversionService [SPR-5846] #10515
  • constructor resolution fails when using primitive arrays [SPR-5844] #10513
  • Backward compatibility broken with SimpleJdbcOperations.query() methods [SPR-5837] #10507
  • CookieGenerator default max age value leads to expiration date back in 1977 [SPR-5835] #10505
  • Embedded derby got ClassNotFoundException because EmbeddedDatabaseFactory is hardcoded to HSQL in default constructor [SPR-5830] #10500
  • ShallowEtagHeaderFilter doesn't work: response body is empty [SPR-5825] #10495
  • Spring web optional dependencies are not marked as optional in pom.xml [SPR-5820] #10490
  • The generated class 'org.springframework.expression.spel.generated.SpringExpressionsParser' has a faulty constructor and throws a java.lang.NoSuchFieldError [SPR-5819] #10489
  • jta should be optional dependency of spring-context-support [SPR-5809] #10479
  • Hessian2 does not work with Spring 3.0.0M3 with Hessian 3.2.1 [SPR-5806] #10476
  • NullPointerException when using Maps as root objects [SPR-5804] #10474
  • org.springframework.jdbc has a mandatory dependency upon Apache Derby in its ivy.xml [SPR-5801] #10471
  • Documentation - Reference - Space missing [SPR-5798] #10468
  • AbstractBeanFactory.getBean(String name, Object [] args) produces inconsistent behavior [SPR-5790] #10460
  • Wrong MSSQL Exception Translation - BadSqlGrammarException [SPR-5788] #10458
  • Spring 2.5's CollectionFactory class may require Java 6 to run on certain JVMs [SPR-5786] #10456
  • UriTemplate not matching querystrings [SPR-5774] #10444
  • Annotation handler method matching doesn't get method/param choice right [SPR-5772] #10442
  • SimpleJaxWsServiceExporter on Weblogic 10.3 cause "IllegalArgumentException: Cannot create URL for this address" [SPR-5771] #10441
  • HttpHeaders becomes case-sensitive without Commons Collections on the classpath [SPR-5769] #10439
  • @RequestBody Annotation Not Extracting Content-Type [SPR-5765] #10435
  • NPE in AbstractApplicationContext.toString() if servletContext.getServletContextName() returns null [SPR-5761] #10431
  • Typo in references docs "4.12.5.4 Specifying bean scope" => "Lookup method injection", PATCH INCLUDED [SPR-5750] #10420
  • MarshallingHttpMessageConverter misspelled in Spring 3.0 Reference Documentation section 2.4.5.1 [SPR-5748] #10418
  • @Controller method order effects @RequestMapping behavior in ways not expected [SPR-5731] #10401
  • Converter throws NPE when accessing property values through SEL expression [SPR-5729] #10399
  • Unexpected @RequestMapping semantics when class-level and method-level mappings used together [SPR-5726] #10396
  • Typos in Spring REST documentation [SPR-5725] #10395
  • Documentation for RESTful webservice examples slightly incorrect for 3.0.0.M3 [SPR-5724] #10394
  • 3.0 M3 PDF documentation code examples extend beyond page margins [SPR-5723] #10393
  • The JDBC bundle has a non-optional import of org.hsqldb [SPR-5722] #10392
  • Typo in JavaDoc for Propagation.SUPPORTS [SPR-5717] #10387
  • ReloadableResourceBundleMessageSource: filenames calculated incorrectly [SPR-5716] #10386
  • Test context framework: flush problems should lead to test exceptions instead of failures [SPR-5699] #10369
  • AbstractJdbcInsert doesn't use insertTypes in doExecuteAndReturnKey() [SPR-5635] #10306
  • Non-trivial NestedRuntimeException.getMessage() can cause deadlocks on OSGi [SPR-5607] #10278
  • incorrect error message when arg conversion fails for factory-method [SPR-5540] #10211
  • typo: AntPatchStringMatcher [SPR-5535] #10206
  • SimpleJdbcCall doesn't retrieve out value from function call for MS SQLServer [SPR-5435] #10109
  • executeAndReturnKey throws Exception with Derby [SPR-5306] #9979
  • DB2 buffer pool JDBC exception mischaracterized as non-transient [SPR-5296] #9969

📔 Documentation

  • Document potential false positives when testing ORM code [SPR-5944] #10613
  • Document usage of static imports for assertions in test examples [SPR-5781] #10451
  • Typos in '7. Spring Expression Language' chapter [SPR-5753] #10423
  • Typos in Spring 3.0.x docs [SPR-5747] #10417
  • Code highlighting muddled in 4.3.7.2 Arbitrary method replacement [SPR-5742] #10412
  • Dead link on method injection [SPR-5741] #10411
  • Missing " and code highlighting issue in first code sample on p-Namespace [SPR-5740] #10410
  • Replace all 'package.html' artifacts with 'package-info.java' [SPR-5523] #10194