$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 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 because the signature now required a Map. Changing the constructor to accept a Map 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 as default for getList() Similar to CONFIGURATION-557, the getList(String, List) method was generified to be getList(String, List) but needs to be getList(String, List) so that code that used a more specific list (such as a List) 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 =============