Introduce xstreamVersion constant in Gradle build
Polish Javadoc in XStreamMarshaller
Clean up generics warnings in spring-oxm tests
Upgrade XStream to 1.4.6
Polishing
Removed LocalDateToDateMidnightConverter pre-release since DateMidnight is deprecated as of Joda-Time 2.3; marked DateTimeToDateMidnightConverter as deprecated
Raised all dependencies to latest possible maintenance releases; introduced additional library version variables; consistently grouped dependency scopes
Further reordering of dependencies
Consistently switched optional dependencies to scope 'optional'
Compatibility with JOpt 4.6

JOpt 4.6 redeclared its nonOptionArguments() method from List<String> to List<?>, requiring us to select String arguments only as we do for regular option values already.

Issue: SPR-11359
Consistently declare @SuppressWarnings("serial") instead of dummy serialVersionUID
Upgraded SLF4J, JOpt, JRuby, Commons Pool & Commons DBCP to latest versions
Polishing
Introduce value attribute in @RestController

Stereotype annotations should support a 'value' attribute for
specifying the name of the Spring-managed component; however,
@RestController currently does not provide such an attribute.

This commit introduces a 'value' attribute in @RestController so that
developers can provide custom names for components annotated with
@RestController.

Issue: SPR-11360
Support Part/MultiPartFile arrays in ArgumentResolvers

Prior to this commit, parts of a multipart HTTP request could be
injected in @RequestPart and @RequestParam annotated arguments, when
using types:
* MultipartFile, Collection<MultiPartFile>
* javax.servlet.Part, Collection<Part>

This commits updates @RequestParam and @RequestPart argument resolvers
and now allows the array versions of those types:
* Part[]
* MultiPartFile[]

Note that the MockHtpServletRequest backing tests for standard
Servlets implementations now uses a MultiValueMap to store parts
(versus a simple hashmap).

Issue: SPR-11353
Introduced HibernateTemplate for Hibernate 4 as a migration helper

Note that this variant of HibernateTemplate is stripped down in terms of Session management options and just provides a current-session style with a fallback to a temporary session-per-operation.  Furthermore, in the latter fallback mode, only read operations are supported, just like with a JPA EntityManager.

Issue: SPR-11291
Polishing

Issue: SPR-11291
Consistent use of ${hibernate4Version} in build.gradle
Polishing
Fixed type resolution in case of inconsistencies between read and write method

Issue: SPR-11361