blob: 4ac56d04b5cfeffac2f48b6dcfb262fde3c01ffc [file] [log] [blame]
Commons Configuration Package
Version 1.10
Release Notes
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:
* [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.
* [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
* [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.