-- as originally posted by Juergen Hoeller on the mailing list --

Dear Spring community,

I'm pleased to announce that Spring 1.1.3 has just been released. This is a bugfix and minor enhancement release in the 1.1 series; most importantly, JDK 1.3 compatibility is fully restored. Among the new features in this release are:
  • added "setResourceLoader" method to GenericApplicationContext, for overriding the default resource loading strategy
  • added FileSystemResourceLoader, resolving paths as file system resources rather than as class path resources
  • BeanWrapperImpl automatically registers a default ResourceArrayPropertyEditor
  • added CustomCollectionEditor, by default registered to convert between Set, SortedSet and List (when necessary)
  • added "fileEncoding" and "propertiesPersister" properties to PropertyResourceConfigurer
  • reworked DefaultListableBeanFactory's "getBeansOfType" to return FactoryBean instances when passed a FactoryBean type
  • DefaultXmlBeanDefinitionParser resolves "set" tag as LinkedHashSet on JDK 1.4, falling back to HashSet on JDK 1.3
  • factored out AbstractRefreshableApplicationContext as base class of AbstractXmlApplicationContext
  • added "setIgnoreUnknownFields" method to DataBinder, enforcing request parameters to match fields when turned "false"
  • added "execute(ConnectionCallback)" method to JdbcTemplate, allowing any kind of operation on a given Connection
  • added DB2SequenceMaxValueIncrementer, implementing the DataFieldMaxValueIncrementer interface for a DB2 sequence
  • fixed Hibernate/JTA synchronization to also work with EJB remote transaction propagation (with >1 thread involved)
  • added "transactionConfigClass" and "transactionConfigProperties" customization properties to SqlMapClientFactoryBean
  • added optional "proxyInterface" property to JndiObjectFactoryBean, for exposing a proxy rather than the plain object
  • added "lookupOnStartup" and "cache" properties to JndiObjectFactoryBean, allowing for lazy lookup on first access etc
  • added "codebaseUrl" property to HttpInvokerClientInterceptor, specifying a URL for dynamic class download
  • added support for dynamic class downloading to AbstractHttpInvokerRequestExecutor and its subclasses
  • DispatcherServlet by default cleans up request attributes after include request (configurable via "cleanupOnInclude")
  • UrlBasedViewResolver supports a "forward:" prefix too, for forwards to other controllers through special view names
  • added "attributes" (Properties) and "attributesMap" (Map) properties to UrlBasedViewResolver, for static attributes
  • InternalResourceView performs an include if the response has already been committed (-> forward not possible anymore)
  • JstlView and TilesJstlView respect a JSTL "localizationContext" config in web.xml, checking those messages first
  • added overloaded "createVelocityContext" and "exposeHelpers" methods to VelocityView, with passed-in servlet response
  • added "toolAttributes" property to VelocityView, taking attribute name / tool class name pairs for tools to expose
  • added JasperReportsXxxView to allow for convenient rendering of CSV/HTML/PDF/XLS web views with Jasper Reports
  • added MappingDispatchActionSupport class, as convenience subclass of Struts 1.2's MappingDispatchAction


Have a look at the changelog for details.