blob: 14baf17e501246ee1cc65a201e86e4e3ddffa36b [file] [log] [blame]
<?xml version="1.0"?>
<document>
<properties>
<title>Changes</title>
<author email="epugh@upstate.com">Eric Pugh</author>
</properties>
<body>
<release version="1.0.1-dev" date="in CVS">
</release>
<release version="1.0" date="2004-10-11">
<action dev="ebourg" type="fix" issue="29616">
The getStringArray() method in CompositeConfiguration now interpolates
the strings.
</action>
<action dev="ebourg" type="fix" issue="31540">
SubsetConfiguration now shares the "throwExceptionOnMissing" property
with its parent.
</action>
<action dev="ebourg" type="fix">
Removed "file:" at the beginning of the base path when calling
setFile() on a FileConfiguration. This prevented auto saving an
XMLConfiguration loaded from a File (issue reported by Mark Roth).
</action>
<action dev="ebourg" type="update">
All NamingEnumerations in JNDIConfiguraiton are now properly closed (Suggested
by Eric Jung).
</action>
<action dev="ebourg" type="fix" issue="30799">
Properties added to an XMLConfiguration are no longer duplicated in the
resulting XML file.
</action>
</release>
<release version="1.0-rc2" date="2004-09-24">
<action dev="ebourg" type="update">
Unified the mechanisms for loading and saving file based configurations.
PropertiesConfiguration, XMLConfiguration and HierarchicalXMLConfiguration
now implement the same FileConfiguration interface. BasePathLoader,
BasePathConfiguration, ClassPropertiesConfiguration and
BasePropertiesConfiguration have been removed.
</action>
<action dev="ebourg" type="fix" issue="31346">
Replaced the calls to Boolean.booleanValue(boolean) in
AbstractConfiguration and ConfigurationDynaBean to be Java 1.3
compatible.
</action>
<action dev="ebourg" type="fix" issue="31345">
Changing the prefix of a JNDIConfiguration will now reset the base context used.
</action>
<action dev="ebourg" type="add" due-to="Eric Jung">
The context used by JNDIConfiguration can be specified in its
constructor or through the setContext() method. The context can be
accessed with the getContext() method which is now public.
</action>
<action dev="henning" type="add">
Make the behaviour on missing properties for the get methods that
return objects configurable. A property <code>throwExceptionOnMissing</code>
can be set and then the getters throw an <code>NoSuchElementException</code>.
The old default behaviour of returning a <code>null</code> value has
been restored.
</action>
<action dev="epugh" type="add" issue="29714">
Allow configurations extending AbstractConfiguration to change the
delimiter used from "," to something else.
</action>
<action dev="epugh" type="fix">
PropertiesConfiguration.save() method has issues with preserving the filename
</action>
<action dev="epugh" type="fix" issue="30597" due-to="Mark Woodman">
Test cases for HierarchicalConfigurationXMLReader stores comments as text nodes
</action>
<action dev="epugh" type="fix" issue="30545" due-to="Ricardo Gladwell">
Clarify for ConfigurationDynaBean that the get method should throw an
illegalArgumentException if there is no property specified.
</action>
<action dev="ebourg" type="fix" issue="30839">
Fixed a ClassCastException when adding a non String property to an XMLConfiguration.
</action>
<action dev="ebourg" type="fix" issue="30655" due-to="Oliver Heger">
Fixed the handling of attribute properties by HierarchicalConfigurationConverter.
</action>
<action dev="ebourg" type="fix" issue="30676">
Fixed a ClassCastException thrown on adding a non string property
in a DatabaseConfiguration.
</action>
<action dev="henning" type="add">
Bring back the getVector() methods in the Configuration interface.
These methods are needed for &quot;drop-on&quot; replacement of the
various pre-1.0 commons-configuration snapshots and are already
deprecated. These methods will be removed for 1.1.
</action>
</release>
<release version="1.0-rc1" date="2004-08-14">
<action dev="epugh" type="add" issue="30597" due-to="Oliver Heger">
HierarchicalConfigurationXMLReader stores comments as text nodes
</action>
<action dev="epugh" type="add" issue="30648" due-to="Ricardo Gladwell">
project.xml contains bad dependencies
</action>
<action dev="epugh" type="add" issue="30234" due-to="Brent Worden">
clearXmlProperty doesn't remove list properties completely
</action>
<action dev="epugh" type="add" issue="30545" due-to="Ricardo Gladwell">
new ConfigurationDynaBean
</action>
<action dev="epugh" type="add" issue="29611" due-to="Ricardo Gladwell">
new ConfigurationMap and ConfigurationSet
</action>
<action dev="epugh" type="fix" issue="30598" due-to="Ricardo Gladwell">
Problem adding property XMLConfiguration
</action>
<action dev="epugh" type="remove">
ConfigurationXMLDocument removed until post 1.0.
</action>
<action dev="epugh" type="fix" issue="29734">
DatabaseConfiguration doesn't support List properties.
</action>
<action dev="ebourg" type="fix">
Fixed several bugs related to XMLConfiguration:
<ul>
<li>30074 - Can't add a new property as an attribute in XMLConfiguration</li>
<li>30205 - XMLConfiguration doesn't support attribute names with a dot</li>
<li>30209 - XMLConfiguration doesn't ignore comments</li>
<li>30212 - XMLConfiguration.save() doesn't escape reserved characters</li>
</ul>
</action>
<action dev="ebourg" type="add">
Added save methods in XMLConfiguration similar to PropertiesConfiguration
to save the configuration to another file (bug 29721).
</action>
<action dev="ebourg" type="update">
Removed the DOM4J implementations in favor of the DOM ones.
DOMConfiguration has been renamed to XMLConfiguration, and
HierarchicalDOMConfiguration to HierarchicalXMLConfiguration. The
elements parsed by the ConfigurationFactory have been changed
accordingly.
</action>
<action dev="ebourg" type="add">
Added a save() method to PropertiesConfiguration and save(Writer out),
save(OutputStream out), save(OutputStream out, String encoding) to
BasePropertiesConfiguration.
</action>
<action dev="ebourg" type="fix">
List values are now properly stored as comma separated values in the
Properties object returned by ConfigurationConverter.getProperties()
(Bug 29607)
</action>
<action dev="ebourg" type="update">
Introduced a ConversionException thrown when the value of a property is
not compatible the type requested. It replaces the ClassCastException
and the NumberFormatException thrown previously.
</action>
<action dev="ebourg" type="fix">
Tokens like ${ref} in a PropertyConfiguration are now properly saved
(Bug 29366).
</action>
<action dev="ebourg" type="fix">
The getList() method of a CompositeConfiguration now returns the list
composed of the elements in the first matching configuration and the
additional elements found in the in memory configuration (Bug 28660).
</action>
<action dev="epugh" type="fix">
SubsetConfiguration returns a List on getList(). AbstractConfiguration
wouldn't properly deal with a List, only with a Container for getList()!
Thanks to jschaible for the unit test.
</action>
<action dev="jschaible" type="add">
Direct support of XML via DOM. New classes DOMConfiguration and HierarchicalDOMConfiguration.
</action>
<action dev="jschaible" type="update">
Update build to not include test configuration files in resulting jar.
</action>
<action dev="ebourg" type="update">
Refactored JNDIConfiguration to use AbstractConfiguration.
</action>
<action dev="ebourg" type="update">
Fixed bug 27427 by refactoring out the subset logic into a SubsetConfiguration.
</action>
<action dev="oheger" type="fix">
Reapply the ConfigurationXMLDocument that went missing during migration out of sandbox.
</action>
<action dev="epugh" type="update">
Apply ASL 2.0 license. Thanks to Jeff Painter for scripting the conversion!
</action>
<action dev="epugh" type="add">
Changed CompositeConfiguration to extend from AbstractConfiuration. This means that the behavior of
CompositeConfiguration is much similar to others like PropertiesConfiguration in handling of missing
keys, interpolation, etc.. Previously CompositeConfiguration had quite a few differences.
</action>
<action dev="epugh" type="update">
Removed "defaults" from BaseConfiguration. Defaults are now done via using a CompositeConfiguration, either
directly or via a ConfigurationFactory. if you want to save changes made to a Configuration, then you use
a CompositeConfiguration and get back the inMemoryConfiguration that has the delta of changes. Added a
bit of documentation on this.
</action>
<action dev="epugh" type="update">
Bugzilla 16504 Enhancement: Configuration Comparator
</action>
<action dev="epugh" type="update">
Bugzilla 26694 (BaseConfiguration: containsKey ignores default properties).
I have changed it so that now the defaults are paid attention to.
</action>
<action dev="ebourg" type="add">
The Configuration interface now supports BigDecimal and BigInteger numbers.
</action>
<action dev="epugh" type="add">
ConfigurationException is now thrown by public methods instead of Exception or
IOException or whatnot.
</action>
<action dev="ebourg" type="add">
For configuration based on properties files, allow characters like \n etc
to be escaped and unescaped.
</action>
<action dev="ebourg" type="add">
New DatabaseConfiguration that uses a database to store the properties.
It supports 2 table structures :
<ul>
<li>one table per configuration (2 colums key/value)</li>
<li>one table for multiple configurations (2 columns key/value + 1 column
for the name of the configuration)</li>
</ul>
</action>
<action dev="oheger" type="add">
ConfigurationFactory now supports the hierarchicalDom4j element in configuration
definition file
</action>
<action dev="ebourg" type="update">
Change all Vector objects to List objects.
</action>
<action dev="oheger" type="add">
ConfigurationFactory now supports two types of properties files, additional and
override. Additional properties add each other together. Override override each
other. This allows you to have a single property that is either aggregated from a
number of sources, or have a property that is overridden according to a specific
order of sources.
</action>
<action dev="oheger" type="update">
AbstractConfiguration addProperty now delegates to an abstract addPropertyDirect
implemented by BaseConfiguration.
</action>
<action dev="kshaposhnikov" type="update">
Changed getString() method to throw a NoSuchElementException instead of "" if the
configuration property doesn't exist.
</action>
<action dev="kshaposhnikov" type="add">
Added AbstractConfiguration to make it easier to create subclasses by only
having to implement the methods required.
</action>
<action dev="bdunbar" type="fix">
<strong>ClassPropertiesConfiguration Additions</strong>
<ul>
<li>Use the classloader of class that is provided by the constructor.</li>
<li>Add a constructor that indicates whether to use relative or absolute.</li>
<li>Change getPropertyStream to utilize the relative or absolute flag.</li>
<li>Add a test case that checks that absolute paths work.</li>
</ul>
</action>
<action dev="epugh" type="fix">
<strong>JNDIConfiguration.getKeys() Addition</strong>
The JNDIConfiguration.getKeys() method was returning an unsupported
operation error. However, this is an important method to have
supported.
</action>
<action dev="epugh" type="fix">
<strong>CompositeConfiguration.getKeys() Fix</strong>
The CompositeConfiguration.getKeys() method was returning an
unordered list of configuration values. However, many apps
expect the order that keys are returned to be the order they
are added into the properties file.
</action>
</release>
</body>
</document>