$Id: RELEASE-NOTES.txt 1534410 2013-10-21 23:13:34Z henning $

                           Commons Configuration Package
                               Version 1.10
                               Release Notes


INTRODUCTION
============

This document contains the release notes for this version of the Commons
Configuration component. It describes the changes since the previous version.
The Commons Configuration software library provides a generic configuration
interface which enables an application to read configuration data from a variety
of sources.

The 1.10 release contains a couple of minor bug fixes and improvements. There
are no important new features. The idea is to release the current changes which
have been applied to the 1.x branch, so that we can start with new development
on an improved (and partly binary incompatible) 2.0 version.

As there are small changes only, Commons Configuration 1.10 is fully binary
compatible to the previous version. The minimum required Java version is 1.5.

Please note that this release was compiled with the Java 1.6 compiler in 1.5
mode. There is a very small chance that this introduced incompatibilities with
the Java 1.5 runtime. Java 1.5 was EOLed in October 2009.

Following is a complete list of all changes in the new 1.10 release:

BUG FIXES IN 1.10
=================

* [CONFIGURATION-500] Attributes in xml config should apply to all entries of a list

  XMLConfiguration now adds attributes of elements defining a list to
  all list nodes.

* [CONFIGURATION-546] ClassCastException in BeanHelper constructing beans with a list
                     of child beans.

  BeanHelper can now process BeanDefinitions initializing properties of
  collection types of their target beans.

* [CONFIGURATION-555] XMLConfiguration doesn't seem to be preserving whitespace
                      for the current node where xml:space="preserve" is set.

  Fixed a bug in the handling of the xml:space attribute in XMLConfiguration.
  The attribute is now also applied to the current element, not only to sub elements.

* [CONFIGURATION-556] Regression with SystemProperties in 1.8 and 1.9

  In 1.7 and before, any change to the system properties was immediately reflected in a
  SystemConfiguration object. This behaviour broke in 1.8 and 1.9. This has been fixed
  for 1.10.

* [CONFIGURATION-557] Regression: MapConfiguration no longer accepts a Map<String, String>

  In 1.7 and before, it was possible to pass an arbitrary Map into the constructor of
  MapConfiguration. With the generification in 1.8, this actually broke and it was no longer
  possible to pass in e.g. a Map<String, String> because the signature now required a
  Map<String, Object>. Changing the constructor to accept a Map<String, ?> restores this.

  All of this is purely a compiler issue, the runtime itself does not see any of the generics
  due to the Java type erasure.

* [CONFIGURATION-558] Configuration no longer accepts List<String> as default for getList()

  Similar to CONFIGURATION-557, the getList(String, List) method was generified to be
  getList(String, List<Object>) but needs to be getList(String, List<?>) so that code that
  used a more specific list (such as a List<String>) still compiles against the new API.


IMPROVEMENTS AND NEW FEATURES IN 1.10
=====================================

* [CONFIGURATION-525] PropertiesConfigurationLayout does not preserve comments at bottom of a file

  PropertiesConfiguration now keeps a comment at the bottom of a
  properties file. A new footer property was added for reading and
  writing this footer comment.

* [CONFIGURATION-526] Support loading from and saving to DOM nodes

  XMLPropertiesConfiguration now supports loading from and saving to DOM
  nodes.

* [CONFIGURATION-534] PropertyConfiguration's handling of includes depends on the
                      existence of a base path

  The includesAllowed property of PropertyConfiguration is now independent
  from the existence of a base path.

* [CONFIGURATION-550] Missing conversion to char

  Conversion to Character is now supported.


OTHER CHANGES
=============
