$Id: RELEASE-NOTES.txt 1235497 2012-01-24 21:07:56Z oheger $

                           Commons Configuration Package
                               Version 1.8
                               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 main focus of the 1.8 release is support for Java 1.5; this is now the
minimum required Java version. The API has been adapted to new language
features - mainly generics - where it makes sense. This could be achieved in a
binary compatible way; Commons Configuration 1.8 is fully binary compatible to
the previous version.

Although Commons Configuration 1.8 targets Java 1.5, it was not possible to
update the dependency to Commons Lang to the new 3.x version. This is due to
the fact that the public API of Configuration contains some classes of
Commons Lang. Thus changing the dependency would mean breaking compatibility.
Therefore, the update of the Commons Lang dependency can only take place in the
next major release. In the mean time, if you want to use new features provided
by Commons Lang 3.x, you have to add both versions of the library to the
classpath. This will not cause any problems because in version 3.x the
package names of Commons Lang have changed, so the classes can co-exist.

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

BUG FIXES IN 1.8
================
* [CONFIGURATION-476]
  Fixed possible ClassCastExceptions in CompositeConfiguration related to
  special in-memory configurations.

IMPROVEMENTS AND NEW FEATURES IN 1.7
====================================
* [CONFIGURATION-475]
  Class ConfigurationKey was deprecated in favor of DefaultConfigurationKey.

* [CONFIGURATION-474]
  Implemented delimiter parsing in HierarchicalINIConfiguration to be
  consistent with other Configuration implementations. Note that this can
  impact existing code. To switch back to the old behavior, call
  setDelimiterParsingDisabled(true) before loading the configuration.

* [CONFIGURATION-471]
  CompositeConfiguration now provides better support for child configurations
  that are used as in-memory configuration.

* [CONFIGURATION-466]
  Binary literals are now supported (i.e Ob11010001).

* [CONFIGURATION-465]
  Updated the dependency to Commons Jexl to version 2.1.1. This version
  provides correct OSGi manifest headers.

* [CONFIGURATION-463]
  Improved documentation of AbstractFileConfiguration related to load()
  methods and their impact on the base path.

OTHER CHANGES
=============
* Commons Configuration now requires Java 5 or later. The API has been slightly
  adapted to new language features.

* [CONFIGURATION-470]
  Classes generated by JavaCC are now created dynamically during the build
  process.

* [CONFIGURATION-461]
  The project now uses standard Maven directory layout.
