This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-configuration.git
The following commit(s) were added to refs/heads/master by this push: new 94a6b61d Prepare release candidate 2.9.0 RC1 94a6b61d is described below commit 94a6b61d13b29b004a35221607cd11ba011976f2 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sat Mar 25 20:02:49 2023 -0400 Prepare release candidate 2.9.0 RC1 --- RELEASE-NOTES.txt | 1069 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1065 insertions(+), 4 deletions(-) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 8974bfc0..a97d5061 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,6 +1,6 @@ - Apache Commons Configuration - Version 2.9.0-SNAPSHOT - Release Notes +Apache Commons Configuration +Version 2.9.0 +Release Notes INTRODUCTION: @@ -13,7 +13,7 @@ interface which enables an application to read configuration data from a variety of sources. Tools to assist in the reading of configuration/preferences files in -various formats +various formats. Minor release with new features and updated dependencies. @@ -63,3 +63,1064 @@ https://commons.apache.org/proper/commons-configuration/ Download it from https://commons.apache.org/proper/commons-configuration//download_text.cgi +============================================================================= + +Apache Commons Configuration +Version 2.8.0 +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. + +Tools to assist in the reading of configuration/preferences files in +various formats + +Minor release with new features and updated dependencies. + +Changes in this version include: + +New features: +o Implement Iterable in ImmutableNode #74. Thanks to SethiPandi. +o Add PropertiesConfigurationLayout.getBlankLinesBefore() and deprecate getBlancLinesBefore(). Thanks to Gary Gregory. +o Add PropertiesConfigurationLayout.setBlankLinesBefore() and deprecate setBlancLinesBefore(). Thanks to Gary Gregory. +o Add PropertiesConfigurationLayout.PropertyLayoutData.getBlankLines() and deprecate getBlancLines(). Thanks to Gary Gregory. +o Add PropertiesConfigurationLayout.PropertyLayoutData.setBlankLines() and deprecate setBlancLines(). Thanks to Gary Gregory. +o CONFIGURATION-789: Add ImmutableConfiguration.getEnum() methods. Thanks to Gary Gregory. +o CONFIGURATION-789: Add ImmutableConfiguration.getDuration() methods. Thanks to Gary Gregory. + +Fixed Bugs: +o CONFIGURATION-753: Make interpolation of collections and arrays in ConfigurationInterpolator consistent with + behavior of DefaultConversionHandler. Add ConfigurationInterpolator.setStringConverter to + allow customized string conversion behavior. +o CONFIGURATION-795: Computation of blank lines after header comment #82. Thanks to dpeger. +o CONFIGURATION-801: Remove redundant initializer #110. Thanks to Arturo Bernal. +o CONFIGURATION-802: Use final #111. Thanks to Arturo Bernal. +o CONFIGURATION-803: Java 8 lambda improvements and more #112. Thanks to Arturo Bernal. +o CONFIGURATION-804: Redundant local variable #113. Thanks to Arturo Bernal. +o CONFIGURATION-805: Use try with resource #114. Thanks to Arturo Bernal. +o CONFIGURATION-805: [Javadoc] Specify that typed getList returns null for missing key #100. Thanks to Roman Zaynetdinov. +o Mention EnvironmentConfiguration in the list of configuration sources #45. Thanks to Oliver B. Fischer. +o CONFIGURATION-808: DefaultListDelimiterHandler.escapeList working only for List>String< #137. Thanks to cigaly. +o Use final #141. Thanks to Arturo Bernal. +o Replace test asserts by simpler but equivalent calls. #139 Thanks to Arturo Bernal. +o CONFIGURATION-764: Single Variable Interpolation #182. Thanks to Ning Zhang, Matt Juntunen, Bruno P. Kinoshita, Gary Gregory. +o Implement proper concurrency in ConstantLookup. Thanks to Gary Gregory. +o CONFIGURATION-813: Support new namespace jakarta.mail.* used by javamail 2.0+ (first release October 2020) #186. Thanks to Dependabot. + +Changes: +o Unclosed file handle when reading config from JAR file URL. + Add and use FileBasedBuilderProperties.setURL(URL, URLConnectionOptions). Thanks to Robin Jansohn, Gary Gregory, Rob Spoor. +o Make default interpolation prefix lookups configurable via system property. Remove dns, url, and script + lookups from defaults. If these lookups are required for use in AbstractConfiguration subclasses, they must + be enabled via system property. See ConfigurationInterpolator.getDefaultPrefixLookups() for details. +o Bump actions/cache from 2 to 3.0.4 #99, #151, #169. Thanks to Dependabot, Gary Gregory. +o Bump actions/checkout from 1 to 3 #47, #62, #70, #85, #150, #163. Thanks to Dependabot. +o Bump actions/setup-java from 1.4.0 to 3 #63, #65, #73, #174. Thanks to Dependabot, Gary Gregory. +o Bump codeql-action from v1 to v2. Thanks to Dependabot, Matt Juntunen. +o Bump Spring dependency versions: + org.springframework:spring-beans 4.3.26.RELEASE -> 5.3.21 + org.springframework:spring-context 4.3.26.RELEASE -> 5.3.21 + org.springframework:spring-core 4.3.26.RELEASE -> 5.3.21 + org.springframework:spring-test 4.3.26.RELEASE -> 5.3.21 + #165, #172 Thanks to Dependabot, Matt Juntunen, kinow, Gary Gregory. +o Bump commons-parent from 52 to 53. Thanks to Dependabot, Matt Juntunen. +o CONFIGURATION-787: Bump Apache Commons Lang from 3.9 to 3.12.0. Thanks to Gary Gregory. +o CONFIGURATION-790: Bump com.fasterxml.jackson.core:jackson-databind from 2.10.3 to 2.13.3, #60. Thanks to Gary Gregory, Dependabot. +o Bump Slf4j test dependencies: + org.slf4j:slf4j-api 1.7.26 -> 1.7.33, + org.slf4j:slf4j-ext 1.7.26 -> 1.7.33, + org.slf4j:slf4j-log4j12 1.7.26 -> 1.7.33, + org.slf4j:slf4j-nop 1.7.26 -> 1.7.33. Thanks to Gary Gregory. +o Bump commons-parent from 50 to 52. Thanks to Dependabot. +o Bump mailapi from 1.6.4 to 1.6.7 #48. Thanks to Dependabot, Gary Gregory. +o Bump spotbugs-maven-plugin from 3.1.12.2 to 4.7.0.0, #55, #75, #79, #93, #116, #183. Thanks to Dependabot, Gary Gregory. +o Bump hsqldb from 2.5.0 to 2.5.2 #54, #128. Thanks to Dependabot. +o Bump commons-text from 1.8 to 1.9. Thanks to Gary Gregory. +o Bump servlet-api from 2.4 to 2.5 #58. Thanks to Gary Gregory. +o Bump maven-checkstyle-plugin from 3.1.0 to 3.1.2, #57, #97. Thanks to Gary Gregory. +o Bump commons-pool2 from 2.8.0 to 2.10.0, #61, #124. Thanks to Dependabot, Gary Gregory. +o Bump optional commons-codec from 1.14 to 1.15. Thanks to Gary Gregory. +o Bump checkstyle from 8.26 to 9.3, #66, #71, #90, #101, #118, #121, #132, #155. Thanks to Dependabot, Gary Gregory. +o Bump commons.jacoco.version 0.8.5 to 0.8.8 (Fixes Java 15 builds). Thanks to Gary Gregory. +o Bump tests from commons-pool2 2.10.0 to 2.11.1. Thanks to Gary Gregory. +o Bump tests from commons-dbcp2 2.7.0 to 2.9.0. Thanks to Gary Gregory. +o Bump snakeyaml from 1.26 to 1.30 #68, #126, #137. Thanks to Dependabot, Gary Gregory. +o Bump commons.japicmp.version from 0.14.1 to 0.15.7. Thanks to Gary Gregory. +o Bump junit from 4.13 to 4.13.2 #78. Thanks to Dependabot, Gary Gregory. +o Bump Apache Commons VFS 2.6.0 -> 2.9.0. Thanks to Gary Gregory. +o Bump jackson-databind from 2.11.3 to 2.13.2.2 ,#88, #94, #127, #159, #168, #173. Thanks to Dependabot. +o Bump commons.animal-sniffer.version 1.19 -> 1.20. Thanks to Gary Gregory. +o Bump commons.javadoc.version from 3.1.1 to 3.4.0. Thanks to Gary Gregory. +o Bump org.dbunit:dbunit from 2.7.0 to 2.7.3, #167. Thanks to Gary Gregory, Dependabot. +o Bump tests to hamcrest v2.2 #143. Thanks to John Patrick. +o Bump slf4j.version from 1.7.33 to 1.7.36 #166. Thanks to Dependabot. +o Bump mailapi from 1.6.6 to 2.0.1 #186. Thanks to Dependabot. +o Use GitHub Actions setup-java Maven cache property #190. Thanks to sullis. + + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Apache Commons Configuration website: + +https://commons.apache.org/proper/commons-configuration/ + +Download it from https://commons.apache.org/proper/commons-configuration//download_text.cgi + +============================================================================= + +Apache Commons Configuration +Version 2.7 +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. + +Tools to assist in the reading of configuration/preferences files in +various formats + +Minor release with new features and updated dependencies. + +Changes in this version include: + +New features: +o CONFIGURATION-765: Refactor XMLConfiguration.write(Writer) to add XMLConfiguration.write(Writer, Transformer). Thanks to Gary Gregory. + +Fixed Bugs: +o CONFIGURATION-761: Single argument DataConfiguration APIs always create empty arrays. Thanks to Gary Gregory. +o CONFIGURATION-767: NullPointerException in XMLConfiguration#createTransformer() when no FileLocator is set. Thanks to Gary Gregory. +o CONFIGURATION-768: XMLConfiguration#write does not indent XML elements. Thanks to Gary Gregory. +o CONFIGURATION-771: Update com.fasterxml.jackson.core:jackson-databind 2.10.0 -> 2.10.1. Thanks to Gary Gregory. +o CONFIGURATION-773: User's Guide > Properties files > Saving - small documentation bugs #41. Thanks to Dan Dragut. + +Changes: +o CONFIGURATION-762: Use variable arguments. Thanks to Gary Gregory. +o Update ]com.puppycrawl.tools:checkstyle from 8.24 to 8.25. Thanks to Gary Gregory. +o CONFIGURATION-763: Update com.fasterxml.jackson.core:jackson-databind from 2.9.9 to 2.10.0. Thanks to Gary Gregory. +o [test] org.easymock:easymock 4.0.2 -> 4.1. Thanks to Gary Gregory. +o CONFIGURATION-775: Update Apache Commons VFS from 2.4.1 to 2.5.0. Thanks to Gary Gregory. +o CONFIGURATION-777: Update Apache Commons VFS from 2.5.0 to 2.6.0. Thanks to Gary Gregory. +o CONFIGURATION-778: Update optional Apache Commons Codec from 1.13 to 1.14. Thanks to Gary Gregory. +o Update tests from JUnit 4.12 to 4.13. Thanks to Gary Gregory. +o CONFIGURATION-779: Update optional jackson-databind from 2.10.1 to 2.10.2. Thanks to Gary Gregory. +o CONFIGURATION-783: Update com.fasterxml.jackson.core:jackson-databind from 2.10.2 to 2.10.3. Thanks to Gary Gregory. +o CONFIGURATION-784: Update org.yaml:snakeyaml from 1.25 to 1.26 and tweak parser configuration. Thanks to Gary Gregory. +o CONFIGURATION-785: Update org.springframework:spring-* from 4.3.25.RELEASE to 4.3.26.RELEASE. Thanks to Gary Gregory. +o Update org.apache.commons:commons-parent from 48 to 50 Thanks to Rob Tompkins. + + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Apache Commons Configuration website: + +https://commons.apache.org/proper/commons-configuration/ + +Download it from https://commons.apache.org/proper/commons-configuration//download_text.cgi + +============================================================================= + +Apache Commons Configuration +Version 2.6 +Release Notes + 2019-09-13 + + +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. + +Tools to assist in the reading of configuration/preferences files in +various formats + +Minor release with new features and updated dependencies. + +Changes in this version include: + +New features: +o Document "includeOptional" on the site. Thanks to Gary Gregory. +o CONFIGURATION-756: Allow for custom behavior to handle errors loading included properties files. Thanks to Gary Gregory. + +Fixed Bugs: +o CONFIGURATION-750: XMLPropertyListConfiguration cannot set arrays in the correct plist form. Thanks to Jason Pickens, Gary Gregory, Emmanuel Bourg. +o Fix Javadoc for org.apache.commons.configuration2.PropertiesConfiguration.getIncludeOptional(). Thanks to Gary Gregory. +o CONFIGURATION-760: Properties file using cyclical includes cause a StackOverflowError instead of detecting the misconfiguration. Thanks to Gary Gregory. + +Changes: +o CONFIGURATION-751: Update Apache Commons Text from 1.6 to 1.7. Thanks to Gary Gregory. +o CONFIGURATION-752: Update Apache Commons VFS from 2.3 to 2.4.1. Thanks to Gary Gregory. +o CONFIGURATION-754: Update Apache Commons Text from 1.7 to 1.8. Thanks to Gary Gregory. +o CONFIGURATION-755: [CVE-2014-0114] Update Apache Commons BeanUtils from 1.9.3 to 1.9.4. Thanks to Gary Gregory. +o Fix syntax in user guide documentation #33. Thanks to Kevin Wang. +o CONFIGURATION-757: Update org.yaml:snakeyaml from 1.24 to 1.25. Thanks to Gary Gregory. +o Update tests from org.apache.commons:commons-dbcp2 2.6.0 to 2.7.0. Thanks to Gary Gregory. +o Update tests from org.apache.commons:commons-pool2 2.6.2 to 2.7.0. Thanks to Gary Gregory. +o CONFIGURATION-758: Update commons-codec:commons-codec from 1.12 to 1.13. Thanks to Gary Gregory. +o Update tests from org.hsqldb:hsqldb 2.4.1 to 2.5.0. Thanks to Gary Gregory. +o Update tests from com.sun.mail:mailapi 1.6.3 to 1.6.4. Thanks to Gary Gregory. +o CONFIGURATION-759: Update Spring from 4.3.24.RELEASE to 4.3.25.RELEASE. Thanks to Gary Gregory. +o Update maven-checkstyle-plugin from 3.0.0 to 3.1.0. Thanks to Gary Gregory. +o Use current version of Checkstyle: 6.18 to 8.24. Thanks to Gary Gregory. + + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Apache Commons Configuration website: + +https://commons.apache.org/proper/commons-configuration/ + +Download it from https://commons.apache.org/proper/commons-configuration/download_configuration.cgi + +============================================================================= + +Apache Commons Configuration +Version 2.5 +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. + +Minor release with new features and updated dependencies. + +Changes in this version include: + + +Fixed Bugs: +o CONFIGURATION-731: Allow user to specify the comments and separator chars. Thanks to Shuai Zhang, Gary Gregory. + +Changes: +o CONFIGURATION-738: Update Jackson from 2.9.7 to 2.9.8. Thanks to Gary Gregory. +o CONFIGURATION-739: Update Apache Commons Codec from 1.11 to 1.12. Thanks to Gary Gregory. +o CONFIGURATION-740: Update Apache Commons VFS from 2.2 to 2.3. Thanks to Gary Gregory. +o CONFIGURATION-741: Update Spring from 4.3.19 to 4.3.22. Thanks to Gary Gregory. +o CONFIGURATION-743: Update optional library snakeyaml from 1.23 to 1.24. Thanks to Gary Gregory. +o CONFIGURATION-747: Update Apache Commons Lang from 3.8.1 to 3.9. Thanks to Gary Gregory. +o CONFIGURATION-746: Update Jackson from 2.9.8 to 2.9.9. Thanks to Gary Gregory. +o CONFIGURATION-747: Update Spring from 4.3.22 to 4.3.24. Thanks to Gary Gregory. +o CONFIGURATION-745: Add the special key "includeoptional" for properties files. Thanks to Gary Gregory. + + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Apache Commons Configuration website: + +https://commons.apache.org/proper/commons-configuration/ + +============================================================================= + +Apache Commons Configuration +Version 2.4 +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. + +Minor release with new features and updated dependencies. + +Changes in this version include: + +NEW FEATURES +============ + +o CONFIGURATION-712: FileHandlerReloadingDetector now has a new refresh() method to + initialize the reloading state from the underlying file. This new + method is called by DefaultReloadingDetectorFactory when a new detector + instance is created. This makes sure that a changed configuration file + is directly detected on the first invocation of the + isReloadingRequired() method. Thanks to Rolland Hobbie. +o CONFIGURATION-713: Configuration properties can now be converted to regular expressions. Thanks to Lars W. +o CONFIGURATION-715: With JupIOFactory a new IOFactory implementation is now available that + implements handling of whitespace in a way closer to java.util.Properties. + This class can be used when stricter compatibility with Java standard + methods for reading and writing properties files is needed. Thanks to Patrick Schmidt. +o CONFIGURATION-716: JupIOFactory (introduced for CONFIGURATION-715) also implements + handling of escape sequences in a way closer to java.util.Properties. Thanks to Patrick Schmidt. +o CONFIGURATION-724: Add support for Commons Text 1.4 localhost string lookup as a default lookup. +o CONFIGURATION-726: Add support for Commons Text 1.5 new string lookups as default lookups. + +FIXED BUGS +========== + +o CONFIGURATION-710: Fixed numerous typos in user guides. Thanks to thc202. +o CONFIGURATION-711: Update Apache Commons Lang from 3.7 to 3.8.1. +o CONFIGURATION-727: org.apache.commons.configuration2.DatabaseConfiguration never closes result sets and statements. + +CHANGES +======= + +o CONFIGURATION-720: Replace use of deprecated Commons Lang string substitution code for Commons Text. +o CONFIGURATION-694: Update Java requirement from version 7 to 8. +o CONFIGURATION-721: Update Jackson from 2.9.6 to 2.9.7. +o CONFIGURATION-722: Update optional dependency snakeyaml from 1.21 to 1.23. +o CONFIGURATION-723: Update optional Spring dependencies from 4.3.18.RELEASE to 4.3.19.RELEASE. +o CONFIGURATION-725: Update Apache Commons Text from 1.4 to 1.5. +o CONFIGURATION-728: Update Apache Commons Text from 1.5 to 1.6. + + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Apache Commons Configuration website: + +https://commons.apache.org/proper/commons-configuration/ + + +============================================================================= + +Apache Commons Configuration +Version 2.3 +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. + +Version 2.3 is another maintenance release for the Configuration 2.x series. It +contains bug fixes and also a few new features like support for File and Path +as data types. The release is fully source and binary compatible with version +2.2. + +Commons Configuration 2.3 requires Java 1.7 or higher. + +New features +============ +o CONFIGURATION-692 + ConversionExceptions thrown when accessing the properties of a configuration + now contain the original cause of the exception. + +o CONFIGURATION-693 + Configuration properties can now be converted to the data types File and + Path. + +o CONFIGURATION-698 + Add org.apache.commons.configuration2.MapConfiguration.toString(). + +o CONFIGURATION-698 + Add toString() methods here and there to help debugging. + +o CONFIGURATION-701 + CompositeConfiguration now supports an addConfigurationFirst() method to add + child configurations with a higher priority. + +Fixed Bugs +========== +o CONFIGURATION-652 + Root node attributes are now updated correctly when loading XML configuration + files. + +o CONFIGURATION-686 + JSONConfiguration can now handle list structures with complex objects as + elements. + +o CONFIGURATION-687 + Fixed a memory leak in CombinedConfigurationBuilder. Builder for the child + sources were created each time a new result configuration was requested; thus + the list with child builders got longer and longer. This also had an impact + on reloading because unnecessary reloading operations could be triggered. Now + it is guaranteed that child builders are created only once. + +o CONFIGURATION-688 + Fixed a bug related to the handling of multiple include files in + PropertiesConfiguration. + +o CONFIGURATION-690 + ExprLookup.getVariables() no longer returns null, but a copy of the current + variables of this lookup object. + +o CONFIGURATION-691 + ExprLookup now handles expressions that do not return a string result by + converting them to string. + +o CONFIGURATION-703 + XMLConfiguration now handles elements correctly whose value consists only of + whitespace if the xml:space attribute is set to preserve. + +Other changes +============= +o CONFIGURATION-675 + Added a .gitignore file to the project. + +o Some dependencies have been updated to their most recent versions. However, + as no new features of these dependencies are used, the older versions should + still work. The following dependencies are affected: + o Update Apache Commons Lang dependency from 3.6 to 3.7. + o Update Apache Commons VFS from 2.1 to 2.2. + o Update Apache Commons Codec from 1.10 to 1.11. + o Update Spring from 4.3.9.RELEASE to 4.3.18.RELEASE + o Update optional dependency snakeyaml from 1.18 to 1.21. + o Update optional dependency Jackson from 2.8.9 to 2.9.6. + + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Apache Commons Configuration website: + +https://commons.apache.org/proper/commons-configuration/ + +============================================================================= + +Apache Commons Configuration +Version 2.2 +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. + +Version 2.2 is another maintenance release for the Configuration 2.x series. It +contains a number of bug fixes and also some new features. Among the highlights +is the new support for JSON and YAML configurations. The release is fully +source and binary compatible with version 2.1.1. + +Commons Configuration 2.2 requires Java 1.7 or higher. + +New features +============ +o CONFIGURATION-666 + Add convenience ctor ConfigurationRuntimeException(String, Object...). + +o CONFIGURATION-665 + Add org.apache.commons.configuration2.AbstractHierarchicalConfiguration.toString(). + +o CONFIGURATION-664 + Add API org.apache.commons.configuration2.tree.ImmutableNode.getChildren(String). + +o CONFIGURATION-660 + Add toString() methods here and there to help debugging. + +o CONFIGURATION-658 + Add API org.apache.commons.configuration2.DataConfiguration.getURI(String) + methods. + +o CONFIGURATION-656 + Added new YAMLConfiguration class to support configuration files in YAML + format. + +o CONFIGURATION-653 + ConfigurationUtils and ConfigurationConverter now offer better support for + immutable configurations. + +o CONFIGURATION-647 + INIConfiguration can now be configured to use a custom separator between + properties and values when writing an ini file. + +o CONFIGURATION-258 + Added new JSONConfiguration class to support configuration files in JSON + format. + +Fixed Bugs +========== +o CONFIGURATION-671 + Fixed a NPE in INIConfiguration when saving a configuration with an empty + section. + +o CONFIGURATION-669 + The node model returned by SubnodeConfiguration.getNodeModel() has now the + correct root node set. + +Other changes +============= +o CONFIGURATION-673 + Added an Automatic-Module-Name header to the manifest for compatibility with + the Java 9 module system. + +o CONFIGURATION-669 + Update optional Spring dependency from 4.2.5.RELEASE to 4.3.9.RELEASE. + +o CONFIGURATION-667 + Update Apache Commons Lang dependency from 3.3.2 to 3.6. + +o CONFIGURATION-663 + Fixed a typo in the upgrade to 2.0 guide. + +o CONFIGURATION-661 + Update platform requirement from Java 6 to 7. + + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Apache Commons Configuration website: + +https://commons.apache.org/proper/commons-configuration/ + +============================================================================= + +Apache Commons Configuration +Version 2.1.1 +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 release is fully source and binary compatible with version 2.1. + +Commons Configuration 2.1 requires Java 1.6 or higher. + +Fixed Bugs +========== +o CONFIGURATION-649 + Improved the handling of lists defined by a string with delimiter characters + in XMLConfiguration. Such lists now retain their original format when the + configuration is saved. + +o CONFIGURATION-648 + Made the IOFactory property of PropertiesBuilderParameter compatible with the + most recent version of Commons BeanUtils. This version changed the handling + of properties starting with multiple uppercase letters. + +o CONFIGURATION-646 + PropertiesConfiguration now works correctly with the auto-save mode. + +o CONFIGURATION-644 + PropertiesConfigurationLayout no longer duplicates a header comment if a file + with another comment is loaded. Thanks to Andrew DeMaria. + +o CONFIGURATION-643 + Documentation improvements for the user's guide. + +o CONFIGURATION-641 + Improved documentation of FileBased interface. The Javadocs now state + explicitly that the methods should not be called by client code. Exception + handling in configuration classes implementing FileLocatorAware has been + improved. + +o CONFIGURATION-640 + PropertiesConfiguration now correctly unescapes some special characters that + are always escaped in Java properties files. + +Other changes +============= +o CONFIGURATION-639 + In the OSGi bundle manifest of the Commons Configuration bundle the package + imports for Spring packages are now marked as optional. + Thanks to Rico Neubauer. + +o CONFIGURATION-638 + Improved handling of temporary files and folders in unit tests. + Thanks to Ahmet Celik. + +o CONFIGURATION-627 + Updated dependency to Commons BeanUtils to version 1.9.3. This fixes an issue + with an exception stacktrace that was logged when a ConfigurationBuilder was + used. + + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Apache Commons Configuration website: + +https://commons.apache.org/proper/commons-configuration/ + +============================================================================= + + Commons Configuration Package +Version 2.1 +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. + +Version 2.1 is a first bug-fix release for the Configuration 2.x series and +also adds a new feature related to the integration with the Spring framework. +A list of all changes can be found below. + +The release is fully source and binary compatible with version 2.0. + +Commons Configuration 2.1 requires Java 1.6 or higher. + +New Features +============ +o CONFIGURATION-636 + PropertiesConfigurationLayout now allows manipulating the order of keys when + the properties file is written. + +o CONFIGURATION-624 + Support Commons Configuration as PropertySource in Spring. + +Fixed Bugs +========== +o CONFIGURATION-634 + HomeDirectoryLocationStrategy now works correctly in the mode that evaluates + the FileLocator's base path. + +o CONFIGURATION-633 + Interpolation was improved to better support properties with multiple values. + +o CONFIGURATION-632 + The methods getStringArray() and getList() of CompositeConfiguration now + support the interpolation of variables that reference properties with + multiple values. + +o CONFIGURATION-622 + Fixed a problem in INIConfiguration.write() with keys containing a separator + character. This separator had been duplicated. Such keys are now handled + correctly when the configuration is saved. + +Other changes +============= +o CONFIGURATION-628 + Support for the ant build was dropped. + +o CONFIGURATION-626 + ImmutableConfiguration.getArray() has been deprecated. Arrays can now be + queried using the generic get() method in a type-safe way. + +o CONFIGURATION-631 + Updated optional dependency to Apache Commons VFS from 2.0 to 2.1. (The older + version still works.) + +o CONFIGURATION-635 + Updated optional dependency to Apache Commons Codec from 1.9 to 1.10. (The + older version still works.) + + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions +on how to submit bug reports, patches, or suggestions for improvement, see the +Apache Commons Configuration website: +https://commons.apache.org/proper/commons-configuration/ + +============================================================================= + +Apache Commons Configuration +Version 2.0 +Release Notes + +INTRODUCTION +============ + +After a series of alpha and beta releases (please consult the corresponding +release notes below), this is the first final release for Apache Commons +Configuration 2.0. + +Version 2.0 is a complete redesign of the Configuration 1.x API with the aim to +fix some limitations in the original design and make the library more flexible +and powerful. Therefore, this release is not a drop-in replacement for Commons +Configuration 1.x; there have been incompatible changes in many areas that +require adaptations on client code. A migration guide is available at + +https://commons.apache.org/configuration/userguide/upgradeto2_0.html + +that describes all breaking changes and helps when upgrading to the new +version. One obvious breaking change is the renaming of the main package +(all classes are now located under org.apache.commons.configuration2) and the +Maven coordinates (groupId: org.apache.commons, artifactId: +commons-configuration2). This was necessary to allow both versions to coexist +on the classpath without conflicts. + +The user's guide has been completely reworked to describe all features of the +new version. It can be found at + +https://commons.apache.org/configuration/userguide/user_guide.html + +Changes: +======== +o CONFIGURATION-621: + Moved ConfigurationLogger class to io package to avoid cyclic dependencies + between packages. +o CONFIGURATION-619: + CombinedConfigurationBuilder now supports inheritance of its parameters to + child configuration sources. This is enabled by default. +o CONFIGURATION-615: + Changed generic types in the signatures of a MapConfiguration constructor + and AbstractConfiguration.getList(String, List). These changes were made in + version 1.10 as fixes for CONFIGURATION-557 and CONFIGURATION-558. But it + had been missed to merge them to trunk. + +Fixed Bugs: +=========== +o CONFIGURATION-620: + Fixed two invalid examples in the user's guide for file-based configurations. +o CONFIGURATION-618: + When using immutable configurations exceptions thrown by the wrapped + configuration came out as UndeclaredThrowableException. This has been fixed; + now the correct original exception is thrown. + +Commons Configuration 2.0 requires Java 1.6 or higher. + +============================================================================= + +Apache Commons Configuration +Version 2.0-beta2 +Release Notes + +After the first beta release in June 2015 there has been some feedback from the +community resulting in (minor) adaptations of the API. In most cases, the +return values of methods have been changed to be more generic. There has also +been a change in the support for logging. Therefore, this second beta release +is provided to make these changes more "official". + +This release also includes some bug fixes. The bugs addressed here have partly +existed already in the Configuration 1.0 code base; so these fixes are not all +related to changes introduced in the 2.0 version. + +Below is a list of all changes in this version. Please refer to the clirr +report at https://commons.apache.org/proper/commons-configuration/clirr-report.html +for information about changes which break binary compatibility. + +Changes: +======== +o CONFIGURATION-614: + References to Commons Logging have been removed from the Configuration API. + It is still possible to influence logging by making use of the new + ConfigurationLogger abstraction. +o CONFIGURATION-612: + The return type of ConfigurationBuilder.getConfiguration() was changed from + Configuration to ImmutableConfiguration because this is the base interface + for all configuration objects. Thanks to Jon Weygand. +o CONFIGURATION-608: + Adapted the return type of ReloadingFileBasedConfigurationBuilder.configure(). + +Fixed Bugs: +=========== +o CONFIGURATION-609: + Fixed a bug in PropertiesConfiguration related to the loading of include + files. The FileHandler used for this purpose was not fully initialized. +o CONFIGURATION-605: + XMLConfiguration no longer drops keys when list delimiter characters occur + in element values. +o CONFIGURATION-604: + Fixed a problem in the conversion of a flat configuration to a hierarchical + one that could cause the loss of properties in a combined configuration + constructed by an override combiner. + +Commons Configuration 2.0-beta2 requires Java 1.6 or higher. + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions +on how to submit bug reports, patches, or suggestions for improvement, see the +Apache Commons Configuration website: +https://commons.apache.org/proper/commons-configuration/ + +============================================================================= + +Apache Commons Configuration +Version 2.0-beta1 +Release Notes + +This is the first beta release of Commons Configuration 2.0 after two alpha +versions. There has not been much feedback so far and no requests for API +changes. Therefore, we move forwards to a beta release indicating that the API +can be considered more stable. However, at this stage, changes of the API can +still not be fully excluded. + +Below is a list of all changes in this version. Compared to version 2.0-alpha2, +there has only be a single change: an obsolete interface (which had been +overlooked during a major refactoring) was removed. So applications that are +using 2.0-alpha2 should be able to migrate to 2.0-beta1 without problems. + +Changes: +======== +o CONFIGURATION-598: Removed obsolete ConfigurationBuilder interface in the + base package. + +============================================================================= + +Apache Commons Configuration +Version 2.0-alpha2 +Release Notes + + +After version 2.0-alpha1 has been out for a while (the corresponding release +notes can be found below), this second alpha release contains a few number of +improvements and new features whose implementation required some changes on +existing interfaces. In most cases, new methods were added offering enhanced +functionality. Because these are typically interfaces implemented by the +library itself client code using the previous alpha version should hardly be +affected. + +Below is a list of all changes in this version: + +New features: +============= +o CONFIGURATION-574: DefaultExpressionEngine can now be customized to match + configuration keys in a case-insensitive manner. This is useful + for instance for dealing with Windows INI files. +o CONFIGURATION-565: Added support for querying encoded properties. +o CONFIGURATION-200: A size() method was added to the ImmutableConfiguration interface. + +Fixed Bugs: +=========== +o CONFIGURATION-564: PropertiesConfiguration now supports again properties without a + value and a separator character. The keys of such properties + are added to the configuration with an empty String as value. +o CONFIGURATION-427: XMLPropertyListConfiguration can now save arrays in the correct form. + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Commons Configuration website: + +https://commons.apache.org/proper/commons-configuration/ + +============================================================================= + +Apache Commons Configuration +Version 2.0-alpha1 +Release Notes + +This is the first alpha release for version 2.0 of Commons Configuration. +Version 2 is a major redesign of the Configuration API. It breaks compatibility +in many areas and, therefore, is not a drop-in replacement for Commons +Configuration 1.x. To allow collaboration with an older version of the library +(and to prevent jar and dependency hell), the top-level package and the Maven +coordinates have been changed. There is an upgrade guide available at + +https://commons.apache.org/configuration/userguide/upgradeto2_0.html + +describing the most important breaking changes. Be sure to read this +document if you want to switch from a 1.x version to this new version. The +user's guide which can be found at + +https://commons.apache.org/configuration/userguide/user_guide.html + +has been reworked to cover all the new and changed features. + +The main purpose of this alpha release is to gather feedback from the +community about the reworked API. IT IS NOT YET PRODUCTION READY. It is +expected that there will still be some changes on the public API. + +Below is a list of all changes in this version: + +New features: +============= +o CONFIGURATION-579: A migration guide has been created which supports when upgrading from + version 1.x to 2.0. +o CONFIGURATION-559: It is now possible to define default values for initialization + properties of configurations. +o CONFIGURATION-551: The data type conversion mechanism has been made extensible. There is a + new interface ConversionHandler which controls the data type conversions + available for a configuration object. By setting a custom implementation, + conversions can be adapted or extended. +o CONFIGURATION-550: Conversion to Character is now supported. +o CONFIGURATION-541: Multi-file configurations are no longer restricted to XML configuration + files. Arbitrary file-based configurations are now supported. +o CONFIGURATION-535: DatabaseConfiguration now provides get methods for querying its + properties defining the underlying database structures. +o CONFIGURATION-533: DatabaseConfiguration now automatically converts CLOBs to strings if + they appear in property values. +o CONFIGURATION-525: 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. +o CONFIGURATION-519: Configuration objects are now created via configuration builders. A new + API for configuration builders has been added. +o CONFIGURATION-517: Hierarchical configurations now provide methods to obtain sub + configurations for all child elements of a given key. +o CONFIGURATION-514: Bean declarations now support constructor invocations. +o CONFIGURATION-512: It is now possible to obtain an immutable view on a Configuration or + HierarchicalConfiguration object. New interfaces, + ImmutableConfiguration, and ImmutableHierarchicalConfiguration have + been introduced. +o CONFIGURATION-508: Generic get() methods have been added to the Configuration interface. + These methods expect a target class and try to convert the value of + the specified property to this target class. +o CONFIGURATION-204: With the new reloading mechanism automatic and periodic reloading checks + can be performed. +o CONFIGURATION-202: Reloading checks can now be performed in a background thread. + +Fixed Bugs: +=========== +o CONFIGURATION-582: Fixed a StringIndexOutOfBoundsException in PropertiesConfigurationLayout + which was caused by lines containing only whitespace. +o CONFIGURATION-572: When a CombinedConfiguration is cleared it removes itself as change + listener from all child configurations. This fixes a possible memory + leak. +o CONFIGURATION-570: Fixed a possible ConcurrentModificationException when a SystemConfiguration + instance is passed to the append() or copy() methods. +o CONFIGURATION-567: XMLBeanDeclaration now escapes node names before they are used to + determine nested properties. Thanks to Shen liang. + +Changes: +o CONFIGURATION-591: Removed methods from ConfigurationConverter related to ExtendedProperties. + This class is no longer supported by recent versions of Commons + Collections. +o CONFIGURATION-590: Removed Serializable interface from all configuration implementations. + Some configuration classes declared this interface without being + actually serializable. +o CONFIGURATION-588: The name of the top-level package and the maven coordinates have been + changed to allow a coexistence of Commons Configuration 1.x with 2.0. +o CONFIGURATION-584: The event mechanism has been reworked. There is now a generic event + listener interface which can be used to receive notifications from + multiple types of event sources. +o CONFIGURATION-578: The user's guide has been fully reworked to cover all new and enhanced + features of version 2.0. +o CONFIGURATION-577: The dependency to Commons Collections is no longer needed. +o CONFIGURATION-576: A new abstract base class for hierarchical configurations was introduced + which supports arbitrary hierarchical data structures. The type of the + nodes used by the configuration can now be specified as a generic type + argument. This makes the integration of other hierarchical structures + easier. +o CONFIGURATION-575: Hierarchical configurations now operate on immutable structures. + Data is no longer represented by ConfigurationNode objects. The + ImmutableNode class now serves as data container. +o CONFIGURATION-573: XPathExpressionEngine can now deal with namespace prefixes in node and + attribute names. +o CONFIGURATION-563: The DefaultExpressionEngine class is now immutable. An instance can be + shared between multiple configuration objects. +o CONFIGURATION-562: Improved the API of ExprLookup. +o CONFIGURATION-555: 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. +o CONFIGURATION-554: BeanHelper is no longer a static utility class. Instances can be + created with a specific configuration of bean factories. There is still + a default instance which can be obtained via the BeanHelper.INSTANCE + field. +o CONFIGURATION-553: The code for accessing configuration files has been reworked. Methods + related to locating configuration files have been moved from + ConfigurationUtils to a new FileLocatorUtils class. Customizable + strategy classes (implementing the new FileLocationStrategy) can be + used for searching for configuration files. +o CONFIGURATION-546: BeanHelper can now process BeanDefinitions initializing properties of + collection types of their target beans. Thanks to Justin Couch. +o CONFIGURATION-544: Added missing dependencies to build.xml. Thanks to Oliver Kopp. +o CONFIGURATION-542: The mechanism for synchronizing configurations has been completely + redesigned. It is now based on Synchronizer objects which can be + configured by client code. A new chapter was added to the user's guide + regarding thread-safety of configurations. +o CONFIGURATION-540: MapConfiguration now directly uses a Properties object passed to its + constructor as data store rather than copying it. This allows + SystemConfiguration to be connected to system properties; i.e. + changing a property through SystemConfiguration immediately affects + the corresponding system property. +o CONFIGURATION-539: The deprecated INIConfiguration class was removed. + HierarchicalINIConfiguration was renamed to INIConfiguration. +o CONFIGURATION-537: The deprecated ConfigurationFactory class was removed. +o CONFIGURATION-536: File-based configurations are now implemented in a different way. + The interfaces FileConfiguration and ReloadingStrategy have been + removed, also the base classes AbstractFileConfiguration and + AbstractHierarchicalFileConfiguration. They are replaced by the + FileBased interface and the FileHandler class which implements + central I/O functionality. Reloading is now in the responsibility of + configuration builders. +o CONFIGURATION-534: The includesAllowed property of PropertyConfiguration is now independent + from the existence of a base path. +o CONFIGURATION-530: Concurrent access to configurations and reloading have been completely + redesigned. Because reloading is now handled by configuration builders + there is no need to acquire a lock in order to protected against a + reload operations. +o CONFIGURATION-527: AbstractConfiguration.clearPropertyDirect() is now abstract. Thanks to Matthias Richter. +o CONFIGURATION-526: XMLPropertiesConfiguration now supports loading from and saving to DOM + nodes. Thanks to Oliver Kopp. +o CONFIGURATION-524: Interpolation now works correctly after a configuration was cloned. + The ConfigurationInterpolator instance is now cloned, too. +o CONFIGURATION-521: ConfigurationUtils.fileFromUrl() now correctly handles URL containing + encoded percent characters. Thanks to Oliver Kopp. +o CONFIGURATION-520: Support for reloading of configuration data has been reworked. +o CONFIGURATION-518: Classes and interfaces related to interpolation have been slightly + reworked. ConfigurationInterpolator is now thread-safe. There are + multiple ways to define the ConfigurationInterpolator object to be + used by an AbstractConfiguration instance. +o CONFIGURATION-516: PropertiesConfiguration no longer escapes double quotes on saving. +o CONFIGURATION-515: The visibility of some internal methods of PropertiesConfiguration.PropertiesWriter + has been increased to protected. This simplifies the implementation of + a custom escaping strategy. +o CONFIGURATION-513: HierarchicalConfiguration is now an interface. The base implementation + class is named BaseHierarchicalConfiguration. +o CONFIGURATION-506: Removed obsolete nested classes Node and NodeVisitor of + HierarchicalConfiguration. The related deprecated class + ConfigurationKey was removed, too. +o CONFIGURATION-505: XMLConfiguration no longer supports attributes with multiple values or + list delimiter parsing in attributes. This feature was complex and + error prone and brought little value to the user. +o CONFIGURATION-504: SubnodeConfiguration now provides a new method for clearing it and + removing its root node from the parent configuration. The method + HierarchicalConfiguration.configurationsAt() now returns a list + of SubnodeConfiguration so that it is easier to make direct use of + this feature. +o CONFIGURATION-500: XMLConfiguration now adds attributes of elements defining a list to + all list nodes. +o CONFIGURATION-496: Concurrent access to configurations and reloading have been completely + redesigned. This should reduce the amount of synchronization. +o CONFIGURATION-486: Removed some static fields for specifying global default values. + Using static fields in this way is thread-hostile. There are now + alternatives for setting default values. +o CONFIGURATION-462: Updated dependency to Commons Lang from version 2.6 to 3.1. +o CONFIGURATION-419: EventSource is now an interface. With BaseEventSource there is a + default implementation. +o CONFIGURATION-418: The handling of list delimiters and their escape characters has been + reworked. A new ListDelimiterHandler interface was introduced allowing + applications to customize the treatment of list delimiters. +o CONFIGURATION-330: Concurrent access to configurations has been reworked. +o CONFIGURATION-153: It is now possible to define the strategy used for locating + configuration files. +o CONFIGURATION-136: Reloading can no longer corrupt a configuration instance. This is now + handled by a configuration builder; the original configuration instance + is not modified. +o CONFIGURATION-26: It is now possible to influence the conversion from a container object + (a collection or an array) to a single value (e.g. what is returned by + getString() if the current property has multiple values). Per default, + the first value is returned. By overriding methods of the + configuration's ConversionHandler, this behavior can be changed. + + +Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html + +For complete information on Apache Commons Configuration, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Commons Configuration website: + +https://commons.apache.org/proper/commons-configuration/