| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <document xmlns="http://maven.apache.org/changes/1.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd"> |
| <properties> |
| <title>Apache Commons Configuration Release Notes</title> |
| <author email="dev@commons.apache.org">Apache Commons Community</author> |
| </properties> |
| <body> |
| <release version="2.10.1" date="YYYY-MM-DD" description="Minor release with new features and updated dependencies."> |
| <!-- FIX --> |
| <action type="fix" issue="CONFIGURATION-840" dev="ggregory" due-to="Gary Gregory">StackOverflowError adding property in AbstractListDelimiterHandler.flattenIterator().</action> |
| <action type="fix" issue="CONFIGURATION-840" dev="ggregory" due-to="Bob Marinier, Gary Gregory">Version 2.10.0 fails java.lang.module.FindException: Module servlet.api not found.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump jackson-databind from 2.16.1 to 2.17.0 #297, #303, #326, #331, #340, #378.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump log4j.version from 2.23.0 to 2.23.1 #379.</action> |
| </release> |
| <release version="2.10.0" date="2024-03-06" description="Minor release with new features and updated dependencies."> |
| <!-- FIX --> |
| <action dev="ggregory" type="fix" due-to="step-security-bot, Gary Gregory">[StepSecurity] ci: Harden GitHub Actions #307.</action> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-834" due-to="Keith Barlow, Gary Gregory">ConfirgurationPropertySource doesn't supply resolved values #309.</action> |
| <action dev="ggregory" type="fix" due-to="KeijoB, Gary Gregory">Take prefix delimiter into account when SubsetConfiguration.getKeysInternal() is called #300.</action> |
| <action dev="ggregory" type="fix" due-to="Heewon Lee, Gary Gregory">Guard ConfigurationMap against null configuration #355.</action> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-838" due-to="Ian Lynagh">Properties parser stack overflows on large single-key inputs #369.</action> |
| <action dev="ggregory" type="fix" due-to="Heewon Lee, Gary Gregory">DatabaseConfiguration.AbstractJdbcOperation.execute() throws NullPointerException when no data source is set #368.</action> |
| <!-- ADD --> |
| <action dev="ggregory" type="add" due-to="KeijoB, Gary Gregory">Add AbstractConfiguration.getKeysInternal(String, String) #300.</action> |
| <action dev="ggregory" type="add" due-to="KeijoB, Gary Gregory">Add ImmutableConfiguration.getKeys(String, String) #300.</action> |
| <action dev="ggregory" type="add" due-to="KeijoB, Gary Gregory">Add PrefixedKeysIterator.PrefixedKeysIterator(Iterator<String%gt;, String, String) #300.</action> |
| <action dev="ggregory" type="add" due-to="Gary Gregory">Add Maven property project.build.outputTimestamp for build reproducibility.</action> |
| <action dev="ggregory" type="add" due-to="Heewon Lee">Guard PatternSubtreeConfigurationWrapper constructor against null #365.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump jackson-databind from 2.14.2 to 2.16.1 #297, #303, #326, #331, #340.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-io:commons-io from 2.11.0 to 2.15.1.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump spring-* from 5.3.26 to 5.3.32.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-parent from 57 to 67.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-codec:commons-codec from 1.15 to 1.16.1.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-lang3 from 3.11 to 3.14.0.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump org.yaml:snakeyaml from 2.0 to 2.2 #312, #315.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump slf4j.version from 2.0.7 to 2.0.12 #358.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump org.apache.commons:commons-dbcp2 from 2.9.0 to 2.12.0.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump org.apache.logging.log4j:log4j-1.2-* from 2.20.0 to 2.23.0 #334, #339, #367.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump org.apache.commons:commons-text from 1.10.0 to 1.11.0.</action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory">Bump commons-logging:commons-logging from 1.2 to 1.3.0.</action> |
| </release> |
| <release version="2.9.0" date="2023-03-25" description="Minor release with new features and updated dependencies."> |
| <!-- FIX --> |
| <action issue="CONFIGURATION-799" type="fix" dev="ggregory" due-to="Jarek Sacha, Gary Gregory"> |
| CombinedConfiguration#getKeys() can throw NoSuchElementException. |
| </action> |
| <action issue="CONFIGURATION-822" type="fix" dev="ggregory" due-to="Branislav Beňo, Gary Gregory, Bruno P. Kinoshita"> |
| Fix ambiguity on the section determining #229. |
| </action> |
| <action type="fix" dev="ggregory" due-to="Arturo Bernal"> |
| Use Java style array decelerations #244. |
| </action> |
| <!-- ADD --> |
| <action issue="CONFIGURATION-799" type="add" dev="ggregory" due-to="Xinshiyou, Gary Gregory"> |
| Add DefaultConversionHandler#setListDelimiterHandler(ListDelimiterHandler). |
| </action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory"> |
| Add ImmutableNode.stream(). |
| </action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory"> |
| Avoid NullPointerException in org.apache.commons.configuration2.web.AppletConfiguration.getKeysInternal(). |
| </action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory"> |
| Fix JDBC prepared statements leak in org.apache.commons.configuration2.DatabaseConfiguration.clearPropertyDirect(String). |
| </action> |
| <!-- UPDATE --> |
| <action type="update" dev="kinow" due-to="Dependabot"> |
| Bump actions/cache from 3.0.8 to 3.0.10 #223, #225. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> |
| Bump actions/checkout from 3 to 3.1.0 #224. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump actions/setup-java from 3 to 3.5.1. |
| </action> |
| <action issue="CONFIGURATION-815" type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump optional Apache Log4j 1.2.17 with 2.20.0. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump spotbugs-maven-plugin from 4.7.0.0 to 4.7.3.0 #193, #195, #228, #237. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump spotbugs from 4.7.0 to 4.7.3. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump org.springframework:spring-* from 5.3.21 to 5.3.26. |
| </action> |
| <action type="update" dev="kinow" due-to="Dependabot"> |
| Bump junit-jupiter from 5.8.2 to 5.9.1 #197, #217. |
| </action> |
| <action type="update" dev="kinow" due-to="Dependabot, Gary Gregory"> |
| Bump mockito-core from 4.6.1 to 4.11.0 #200, #235, #249, #257, #259. |
| </action> |
| <action type="update" dev="kinow" due-to="Dependabot"> |
| Bump slf4j.version from 1.7.36 to 2.0.7 #202, #210, #215, #238, #241, #291. |
| </action> |
| <action type="update" dev="kinow" due-to="Dependabot"> |
| Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #201. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump maven-javadoc-plugin from 3.4.0 to 3.4.1. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump maven-pmd-plugin 3.17.0 to 3.19.0. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump pmd from 6.47.0 to 6.53.0. |
| </action> |
| <action type="update" dev="kinow" due-to="Dependabot, strangelookingnerd"> |
| Bump snakeyaml from 1.30 to 2.0 #203, #212, #219, #282, #283. |
| </action> |
| <action type="update" dev="kinow" due-to="Gary Gregory"> |
| Bump jackson-databind from 2.13.3 to 2.14.2 #227, #246, #274. |
| </action> |
| <action type="update" dev="kinow" due-to="Dependabot"> |
| Bump spring.version from 5.3.22 to 5.3.23 #211. |
| </action> |
| <action type="update" dev="kinow" due-to="Dependabot, Gary Gregory"> |
| Bump commons-parent from 53 to 57 #216, #253, #299. |
| </action> |
| <action type="update" dev="kinow" due-to="Dependabot"> |
| Bump log4j.version from 2.18.0 to 2.20.0 #213, #281. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump japicmp-maven-plugin from 0.15.7 to 0.17.1. |
| </action> |
| <action type="update" dev="kinow" due-to="Dependabot"> |
| Bump commons-text from 1.9 to 1.10.0 #221. |
| </action> |
| </release> |
| <release version="2.8.0" date="2022-07-05" |
| description="Minor release with new features and updated dependencies."> |
| <!-- FIX --> |
| <action issue="CONFIGURATION-753" type="fix" dev="mattjuntunen"> |
| Make interpolation of collections and arrays in ConfigurationInterpolator consistent with |
| behavior of DefaultConversionHandler. Add ConfigurationInterpolator.setStringConverter to |
| allow customized string conversion behavior. |
| </action> |
| <action issue="CONFIGURATION-795" type="fix" dev="ggregory" due-to="dpeger"> |
| Computation of blank lines after header comment #82. |
| </action> |
| <action issue="CONFIGURATION-801" type="fix" dev="ggregory" due-to="Arturo Bernal"> |
| Remove redundant initializer #110. |
| </action> |
| <action issue="CONFIGURATION-802" type="fix" dev="ggregory" due-to="Arturo Bernal"> |
| Use final #111. |
| </action> |
| <action issue="CONFIGURATION-803" type="fix" dev="ggregory" due-to="Arturo Bernal"> |
| Java 8 lambda improvements and more #112. |
| </action> |
| <action issue="CONFIGURATION-804" type="fix" dev="ggregory" due-to="Arturo Bernal"> |
| Redundant local variable #113. |
| </action> |
| <action issue="CONFIGURATION-805" type="fix" dev="ggregory" due-to="Arturo Bernal"> |
| Use try with resource #114. |
| </action> |
| <action issue="CONFIGURATION-805" type="fix" dev="ggregory" due-to="Roman Zaynetdinov"> |
| [Javadoc] Specify that typed getList returns null for missing key #100. |
| </action> |
| <action type="fix" dev="ggregory" due-to="Oliver B. Fischer"> |
| Mention EnvironmentConfiguration in the list of configuration sources #45. |
| </action> |
| <action issue="CONFIGURATION-808" type="fix" dev="ggregory" due-to="cigaly"> |
| DefaultListDelimiterHandler.escapeList working only for List>String< #137. |
| </action> |
| <action type="fix" dev="ggregory" due-to="Arturo Bernal"> |
| Use final #141. |
| </action> |
| <action type="fix" dev="ggregory" due-to="Arturo Bernal"> |
| Replace test asserts by simpler but equivalent calls. #139 |
| </action> |
| <action issue="CONFIGURATION-764" type="fix" dev="ggregory" due-to="Ning Zhang, Matt Juntunen, Bruno P. Kinoshita, Gary Gregory"> |
| Single Variable Interpolation #182. |
| </action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory"> |
| Implement proper concurrency in ConstantLookup. |
| </action> |
| <action issue="CONFIGURATION-813" type="fix" dev="kinow" due-to="Dependabot"> |
| Support new namespace jakarta.mail.* used by javamail 2.0+ (first release October 2020) #186. |
| </action> |
| <!-- ADD --> |
| <action type="add" dev="ggregory" due-to="SethiPandi"> |
| Implement Iterable in ImmutableNode #74. |
| </action> |
| <action issue="CONFIGURATION-794" type="update" dev="ggregory" due-to="Robin Jansohn, Gary Gregory, Rob Spoor"> |
| Unclosed file handle when reading config from JAR file URL. |
| Add and use FileBasedBuilderProperties.setURL(URL, URLConnectionOptions). |
| </action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory"> |
| Add PropertiesConfigurationLayout.getBlankLinesBefore() and deprecate getBlancLinesBefore(). |
| </action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory"> |
| Add PropertiesConfigurationLayout.setBlankLinesBefore() and deprecate setBlancLinesBefore(). |
| </action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory"> |
| Add PropertiesConfigurationLayout.PropertyLayoutData.getBlankLines() and deprecate getBlancLines(). |
| </action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory"> |
| Add PropertiesConfigurationLayout.PropertyLayoutData.setBlankLines() and deprecate setBlancLines(). |
| </action> |
| <action type="add" dev="ggregory" issue="CONFIGURATION-789" due-to="Gary Gregory"> |
| Add ImmutableConfiguration.getEnum() methods. |
| </action> |
| <action type="add" dev="ggregory" issue="CONFIGURATION-789" due-to="Gary Gregory"> |
| Add ImmutableConfiguration.getDuration() methods. |
| </action> |
| <!-- UPDATES --> |
| <action type="update" dev="mattjuntunen"> |
| 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. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump actions/cache from 2 to 3.0.4 #99, #151, #169. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot"> |
| Bump actions/checkout from 1 to 3 #47, #62, #70, #85, #150, #163. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump actions/setup-java from 1.4.0 to 3 #63, #65, #73, #174. |
| </action> |
| <action type="update" dev="mattjuntunen" due-to="Dependabot, Matt Juntunen"> |
| Bump codeql-action from v1 to v2. |
| </action> |
| <action type="update" dev="mattjuntunen" due-to="Dependabot, Matt Juntunen, kinow, Gary Gregory"> |
| 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 |
| </action> |
| <action type="update" dev="mattjuntunen" due-to="Dependabot, Matt Juntunen"> |
| Bump commons-parent from 52 to 53. |
| </action> |
| <action type="update" dev="ggregory" issue="CONFIGURATION-787" due-to="Gary Gregory"> |
| Bump Apache Commons Lang from 3.9 to 3.12.0. |
| </action> |
| <action type="update" dev="ggregory" issue="CONFIGURATION-790" due-to="Gary Gregory, Dependabot"> |
| Bump com.fasterxml.jackson.core:jackson-databind from 2.10.3 to 2.13.3, #60. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| 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. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot"> |
| Bump commons-parent from 50 to 52. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump mailapi from 1.6.4 to 1.6.7 #48. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump spotbugs-maven-plugin from 3.1.12.2 to 4.7.0.0, #55, #75, #79, #93, #116, #183. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot"> |
| Bump hsqldb from 2.5.0 to 2.5.2 #54, #128. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump commons-text from 1.8 to 1.9. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump servlet-api from 2.4 to 2.5 #58. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump maven-checkstyle-plugin from 3.1.0 to 3.1.2, #57, #97. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump commons-pool2 from 2.8.0 to 2.10.0, #61, #124. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump optional commons-codec from 1.14 to 1.15. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump checkstyle from 8.26 to 9.3, #66, #71, #90, #101, #118, #121, #132, #155. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Bump commons.jacoco.version 0.8.5 to 0.8.8 (Fixes Java 15 builds). |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump tests from commons-pool2 2.10.0 to 2.11.1. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump tests from commons-dbcp2 2.7.0 to 2.9.0. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump snakeyaml from 1.26 to 1.30 #68, #126, #137. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump commons.japicmp.version from 0.14.1 to 0.15.7. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> |
| Bump junit from 4.13 to 4.13.2 #78. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump Apache Commons VFS 2.6.0 -> 2.9.0. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot"> |
| Bump jackson-databind from 2.11.3 to 2.13.2.2 ,#88, #94, #127, #159, #168, #173. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump commons.animal-sniffer.version 1.19 -> 1.20. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory"> |
| Bump commons.javadoc.version from 3.1.1 to 3.4.0. |
| </action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> |
| Bump org.dbunit:dbunit from 2.7.0 to 2.7.3, #167. |
| </action> |
| <action type="update" dev="ggregory" due-to="John Patrick"> |
| Bump tests to hamcrest v2.2 #143. |
| </action> |
| <action type="update" dev="ggregory" due-to="Dependabot"> |
| Bump slf4j.version from 1.7.33 to 1.7.36 #166. |
| </action> |
| <action type="update" dev="kinow" due-to="Dependabot"> |
| Bump mailapi from 1.6.6 to 2.0.1 #186. |
| </action> |
| <action type="update" dev="kinow" due-to="sullis"> |
| Use GitHub Actions setup-java Maven cache property #190. |
| </action> |
| </release> |
| <release version="2.7" date="2020-03-07" |
| description="Minor release with new features and updated dependencies."> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-761" due-to="Gary Gregory"> |
| Single argument DataConfiguration APIs always create empty arrays. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-762" due-to="Gary Gregory"> |
| Use variable arguments. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Bump com.puppycrawl.tools:checkstyle from 8.24 to 8.25. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-763" due-to="Gary Gregory"> |
| Bump com.fasterxml.jackson.core:jackson-databind from 2.9.9 to 2.10.0. |
| </action> |
| <action dev="ggregory" type="add" issue="CONFIGURATION-765" due-to="Gary Gregory"> |
| Refactor XMLConfiguration.write(Writer) to add XMLConfiguration.write(Writer, Transformer). |
| </action> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-767" due-to="Gary Gregory"> |
| NullPointerException in XMLConfiguration#createTransformer() when no FileLocator is set. |
| </action> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-768" due-to="Gary Gregory"> |
| XMLConfiguration#write does not indent XML elements. |
| </action> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-771" due-to="Gary Gregory"> |
| Bump com.fasterxml.jackson.core:jackson-databind 2.10.0 -> 2.10.1. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| [test] org.easymock:easymock 4.0.2 -> 4.1. |
| </action> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-773" due-to="Dan Dragut"> |
| User's Guide > Properties files > Saving - small documentation bugs #41. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-775" due-to="Gary Gregory"> |
| Bump Apache Commons VFS from 2.4.1 to 2.5.0. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-777" due-to="Gary Gregory"> |
| Bump Apache Commons VFS from 2.5.0 to 2.6.0. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-778" due-to="Gary Gregory"> |
| Bump optional Apache Commons Codec from 1.13 to 1.14. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Bump tests from JUnit 4.12 to 4.13. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-779" due-to="Gary Gregory"> |
| Bump optional jackson-databind from 2.10.1 to 2.10.2. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-783" due-to="Gary Gregory"> |
| Bump com.fasterxml.jackson.core:jackson-databind from 2.10.2 to 2.10.3. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-784" due-to="Gary Gregory"> |
| Update org.yaml:snakeyaml from 1.25 to 1.26 and tweak parser configuration. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-785" due-to="Gary Gregory"> |
| Bump org.springframework:spring-* from 4.3.25.RELEASE to 4.3.26.RELEASE. |
| </action> |
| <action dev="chtompki" type="update" due-to="Rob Tompkins"> |
| Bump org.apache.commons:commons-parent from 48 to 50 |
| </action> |
| </release> |
| |
| <release version="2.6" date="2019-09-13" |
| description="Minor release with new features and updated dependencies."> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-750" due-to="Jason Pickens, Gary Gregory, Emmanuel Bourg"> |
| XMLPropertyListConfiguration cannot set arrays in the correct plist form. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-751" due-to="Gary Gregory"> |
| Bump Apache Commons Text from 1.6 to 1.7. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-752" due-to="Gary Gregory"> |
| Bump Apache Commons VFS from 2.3 to 2.4.1. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-754" due-to="Gary Gregory"> |
| Bump Apache Commons Text from 1.7 to 1.8. |
| </action> |
| <action dev="ggregory" type="fix" due-to="Gary Gregory"> |
| Fix Javadoc for org.apache.commons.configuration2.PropertiesConfiguration.getIncludeOptional(). |
| </action> |
| <action dev="ggregory" type="add" due-to="Gary Gregory"> |
| Document "includeOptional" on the site. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-755" due-to="Gary Gregory"> |
| [CVE-2014-0114] Bump Apache Commons BeanUtils from 1.9.3 to 1.9.4. |
| </action> |
| <action dev="ggregory" type="update" due-to="Kevin Wang"> |
| Fix syntax in user guide documentation #33. |
| </action> |
| <action dev="ggregory" type="add" issue="CONFIGURATION-756" due-to="Gary Gregory"> |
| Allow for custom behavior to handle errors loading included properties files. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-757" due-to="Gary Gregory"> |
| Bump org.yaml:snakeyaml from 1.24 to 1.25. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Bump tests from org.apache.commons:commons-dbcp2 2.6.0 to 2.7.0. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Bump tests from org.apache.commons:commons-pool2 2.6.2 to 2.7.0. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-758" due-to="Gary Gregory"> |
| Bump commons-codec:commons-codec from 1.12 to 1.13. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Bump tests from org.hsqldb:hsqldb 2.4.1 to 2.5.0. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Bump tests from com.sun.mail:mailapi 1.6.3 to 1.6.4. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-759" due-to="Gary Gregory"> |
| Bump Spring from 4.3.24.RELEASE to 4.3.25.RELEASE. |
| </action> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-760" due-to="Gary Gregory"> |
| Properties file using cyclical includes cause a StackOverflowError instead of detecting the misconfiguration. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Bump maven-checkstyle-plugin from 3.0.0 to 3.1.0. |
| </action> |
| <action dev="ggregory" type="update" due-to="Gary Gregory"> |
| Use current version of Checkstyle: 6.18 to 8.24. |
| </action> |
| </release> |
| <release version="2.5" date="2019-05-23" |
| description="Minor release with new features and updated dependencies."> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-731" due-to="Shuai Zhang, Gary Gregory"> |
| Allow user to specify the comments and separator chars. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-738" due-to="Gary Gregory"> |
| Bump Jackson from 2.9.7 to 2.9.8. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-739" due-to="Gary Gregory"> |
| Bump Apache Commons Codec from 1.11 to 1.12. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-740" due-to="Gary Gregory"> |
| Bump Apache Commons VFS from 2.2 to 2.3. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-741" due-to="Gary Gregory"> |
| Bump Spring from 4.3.19 to 4.3.22. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-743" due-to="Gary Gregory"> |
| Bump optional library snakeyaml from 1.23 to 1.24. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-747" due-to="Gary Gregory"> |
| Bump Apache Commons Lang from 3.8.1 to 3.9. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-746" due-to="Gary Gregory"> |
| Bump Jackson from 2.9.8 to 2.9.9. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-747" due-to="Gary Gregory"> |
| Bump Spring from 4.3.22 to 4.3.24. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-745" due-to="Gary Gregory"> |
| Add the special key "includeoptional" for properties files. |
| </action> |
| </release> |
| <release version="2.4" date="2018-10-23" |
| description="Minor release with new features and updated dependencies."> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-710" due-to="thc202"> |
| Fixed numerous typos in user guides. |
| </action> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-711"> |
| Bump Apache Commons Lang from 3.7 to 3.8.1. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-712" due-to="Rolland Hobbie"> |
| 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. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-713" due-to="Lars W"> |
| Configuration properties can now be converted to regular expressions. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-715" due-to="Patrick Schmidt"> |
| 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. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-716" due-to="Patrick Schmidt"> |
| JupIOFactory (introduced for CONFIGURATION-715) also implements |
| handling of escape sequences in a way closer to java.util.Properties. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-720"> |
| Replace use of deprecated Commons Lang string substitution code for Commons Text. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-694"> |
| Bump Java requirement from version 7 to 8. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-721"> |
| Bump Jackson from 2.9.6 to 2.9.7. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-722"> |
| Bump optional dependency snakeyaml from 1.21 to 1.23. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-723"> |
| Bump optional Spring dependencies from 4.3.18.RELEASE to 4.3.19.RELEASE. |
| </action> |
| <action dev="ggregory" type="add" issue="CONFIGURATION-724"> |
| Add support for Commons Text 1.4 localhost string lookup as a default lookup. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-725"> |
| Bump Apache Commons Text from 1.4 to 1.5. |
| </action> |
| <action dev="ggregory" type="add" issue="CONFIGURATION-726"> |
| Add support for Commons Text 1.5 new string lookups as default lookups. |
| </action> |
| <action dev="ggregory" type="fix" issue="CONFIGURATION-727"> |
| org.apache.commons.configuration2.DatabaseConfiguration never closes result sets and statements. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-728"> |
| Bump Apache Commons Text from 1.5 to 1.6. |
| </action> |
| </release> |
| |
| <release version="2.3" date="2018-08-04" |
| description="Minor release with new features and updated dependencies."> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-707"> |
| Bump Spring from 4.3.14.RELEASE to 4.3.18.RELEASE. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-706"> |
| Bump optional dependency snakeyaml from 1.20 to 1.21. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-705"> |
| Bump Jackson from 2.9.5 to 2.9.6. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-652" due-to="Claude Warren"> |
| Root node attributes are now updated correctly when loading XML |
| configuration files. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-675"> |
| Added a .gitignore file to the project. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-678"> |
| Bump Apache Commons Codec from 1.10 to 1.11. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-679"> |
| Bump Jackson from 2.8.9 to 2.9.3. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-680"> |
| Bump Apache Commons Lang from 3.6 to 3.7. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-681"> |
| Bump Apache Commons VFS from 2.1 to 2.2. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-682"> |
| Bump Snakeyaml from 1.18 to 1.19. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-696"> |
| Bump optional dependency snakeyaml from 1.19 to 1.20. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-683"> |
| Bump Spring from 4.3.9.RELEASE to 4.3.13.RELEASE. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-695"> |
| Bump optional dependency Jackson from 2.9.3 to 2.9.5. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-697"> |
| Bump optional dependency Spring from 4.3.13.RELEASE to 4.3.14.RELEASE. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-686"> |
| JSONConfiguration can now handle list structures with complex objects |
| as elements. |
| </action> |
| <action dev="oheger" type="fix" issue="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. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-688"> |
| Fixed a bug related to the handling of multiple include files in |
| PropertiesConfiguration. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-690"> |
| ExprLookup.getVariables() no longer returns null, but a copy of the |
| current variables of this lookup object. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-691"> |
| ExprLookup now handles expressions that do not return a string result |
| by converting them to string. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-692"> |
| ConversionExceptions thrown when accessing the properties of a |
| configuration now contain the original cause of the exception. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-693" due-to="Lars W"> |
| Configuration properties can now be converted to the data types File |
| and Path. |
| </action> |
| <action dev="ggregory" type="add" issue="CONFIGURATION-698"> |
| Add org.apache.commons.configuration2.MapConfiguration.toString(). |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-701" due-to="Nicholas Verbeck"> |
| CompositeConfiguration now supports an addConfigurationFirst() method |
| to add child configurations with a higher priority. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-703" due-to="Pascal Essiembre"> |
| XMLConfiguration now handles elements correctly whose value consists |
| only of whitespace if the xml:space attribute is set to preserve. |
| </action> |
| </release> |
| |
| <release version="2.2" date="2017-10-12" |
| description="Minor release with new APIs and bug fixes."> |
| <action dev="oheger" type="add" issue="CONFIGURATION-673" due-to="Andreas Kuhtz "> |
| Added an Automatic-Module-Name header to the manifest for compatibility |
| with the Java 9 module system. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-671"> |
| Fixed a NPE in INIConfiguration when saving a configuration with an |
| empty section. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-670"> |
| The node model returned by SubnodeConfiguration.getNodeModel() has now |
| the correct root node set. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-669"> |
| Bump optional Spring dependency from 4.2.5.RELEASE to 4.3.9.RELEASE. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-667"> |
| Bump Apache Commons Lang from 3.3.2 to 3.6. |
| </action> |
| <action dev="ggregory" type="add" issue="CONFIGURATION-666"> |
| Add convenience ctor ConfigurationRuntimeException(String, Object...). |
| </action> |
| <action dev="ggregory" type="add" issue="CONFIGURATION-665"> |
| Add org.apache.commons.configuration2.AbstractHierarchicalConfiguration.toString(). |
| </action> |
| <action dev="ggregory" type="add" issue="CONFIGURATION-664"> |
| Add API org.apache.commons.configuration2.tree.ImmutableNode.getChildren(String). |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-663"> |
| Fixed a typo in the upgrade to 2.0 guide. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-661"> |
| Bump platform requirement from Java 6 to 7. |
| </action> |
| <action dev="ggregory" type="add" issue="CONFIGURATION-660"> |
| Add toString() methods here and there to help debugging. |
| </action> |
| <action dev="ggregory" type="add" issue="CONFIGURATION-658"> |
| Add API org.apache.commons.configuration2.DataConfiguration.getURI(String) methods. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-656" due-to="The Alchemist"> |
| Added new YAMLConfiguration class to support configuration files in |
| YAML format. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-653" due-to="Vincent Maurin"> |
| ConfigurationUtils and ConfigurationConverter now offer better support |
| for immutable configurations. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-647" due-to="Vladimir Martinek"> |
| INIConfiguration can now be configured to use a custom separator |
| between properties and values when writing an ini file. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-258" due-to="The Alchemist"> |
| Added new JSONConfiguration class to support configuration files in |
| JSON format. |
| </action> |
| </release> |
| |
| <release version="2.1.1" date="2017-02-05" |
| description="Bugfix release for 2.1"> |
| <action dev="oheger" type="fix" issue="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. |
| </action> |
| <action dev="oheger" type="fix" issue="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. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-646"> |
| PropertiesConfiguration now works correctly with the auto-save mode. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-644" due-to="Andrew DeMaria"> |
| PropertiesConfigurationLayout no longer duplicates a header comment |
| if a file with another comment is loaded. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-643"> |
| Documentation improvements for the user's guide. |
| </action> |
| <action dev="oheger" type="fix" issue="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. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-640"> |
| PropertiesConfiguration now correctly unescapes some special characters |
| that are always escaped in Java properties files. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-639" due-to="Rico Neubauer"> |
| In the OSGi bundle manifest of the Commons Configuration bundle the |
| package imports for Spring packages are now marked as optional. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-638" due-to="Ahmet Celik"> |
| Improved handling of temporary files and folders in unit tests. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| </release> |
| |
| <release version="2.1" date="2016-08-20" |
| description="First maintenance release for Configuration 2.x."> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-636" due-to="Tim Lark"> |
| PropertiesConfigurationLayout now allows manipulating the order of keys |
| when the properties file is written. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-634" due-to="Raviteja Lokineni"> |
| HomeDirectoryLocationStrategy now works correctly in the mode that |
| evaluates the FileLocator's base path. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-633"> |
| Interpolation was improved to better support properties with multiple |
| values. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-632"> |
| The methods getStringArray() and getList() of CompositeConfiguration |
| now support the interpolation of variables that reference properties |
| with multiple values. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-628"> |
| Support for the ant build was dropped. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-626"> |
| ImmutableConfiguration.getArray() has been deprecated. Arrays can now |
| be queried using the generic get() method in a type-safe way. |
| </action> |
| <action dev="deki" type="add" issue="CONFIGURATION-624"> |
| Support Commons Configuration as PropertySource in Spring. |
| </action> |
| <action dev="oheger" type="fix" issue="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. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-631"> |
| Bump Apache Commons VFS from 2.0 to 2.1. |
| </action> |
| <action dev="ggregory" type="update" issue="CONFIGURATION-635"> |
| Bump optional dependency Apache Commons Codec from 1.9 to 1.10. |
| </action> |
| </release> |
| |
| <release version="2.0" date="2016-03-24" |
| description="Major redesign of the Configuration 1.x API"> |
| <action dev="oheger" type="update" issue="CONFIGURATION-621"> |
| Moved ConfigurationLogger class to io package to avoid cyclic |
| dependencies between packages. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-620" due-to="Mark Vedder"> |
| Fixed two invalid examples in the user's guide for file-based |
| configurations. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-619"> |
| CombinedConfigurationBuilder now supports inheritance of its parameters |
| to child configuration sources. This is enabled by default. |
| </action> |
| <action dev="oheger" type="fix" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| </release> |
| |
| <release version="2.0-beta2" date="2015-12-05" |
| description="Second beta release, some minor API changes."> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-612" due-to="Jon Weygand"> |
| The return type of ConfigurationBuilder.getConfiguration() was changed |
| from Configuration to ImmutableConfiguration because this is the base |
| interface for all configuration objects. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-609"> |
| Fixed a bug in PropertiesConfiguration related to the loading of include |
| files. The FileHandler used for this purpose was not fully initialized. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-608"> |
| Adapted the return type of ReloadingFileBasedConfigurationBuilder.configure(). |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-605"> |
| XMLConfiguration no longer drops keys when list delimiter characters |
| occur in element values. |
| </action> |
| <action dev="oheger" type="fix" issue="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. |
| </action> |
| </release> |
| |
| <release version="2.0-beta1" date="2015-06-19" |
| description="First beta release, getting closer to final."> |
| <action dev="oheger" type="update" issue="CONFIGURATION-598" due-to="Bjarne Boström"> |
| Removed obsolete ConfigurationBuilder interface in the base package. |
| </action> |
| </release> |
| |
| <release version="2.0-alpha2" date="2014-12-20" |
| description="Some more API fine-tuning."> |
| <action dev="oheger" type="add" issue="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. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-565"> |
| Added support for querying encoded properties. |
| </action> |
| <action dev="oheger" type="fix" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-427"> |
| XMLPropertyListConfiguration can now save arrays in the correct form. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-200"> |
| A size() method was added to the ImmutableConfiguration interface. |
| </action> |
| </release> |
| |
| <release version="2.0-alpha1" date="2014-09-23" |
| description="First alpha release after a major redesign."> |
| <action dev="oheger" type="update" issue="CONFIGURATION-591"> |
| Removed methods from ConfigurationConverter related to ExtendedProperties. |
| This class is no longer supported by recent versions of Commons |
| Collections. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-590"> |
| Removed Serializable interface from all configuration implementations. |
| Some configuration classes declared this interface without being |
| actually serializable. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-582"> |
| Fixed a StringIndexOutOfBoundsException in PropertiesConfigurationLayout |
| which was caused by lines containing only whitespace. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-579"> |
| A migration guide has been created which supports when upgrading from |
| version 1.x to 2.0. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-578"> |
| The user's guide has been fully reworked to cover all new and enhanced |
| features of version 2.0. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-577"> |
| The dependency to Commons Collections is no longer needed. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-573"> |
| XPathExpressionEngine can now deal with namespace prefixes in node and |
| attribute names. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-572"> |
| When a CombinedConfiguration is cleared it removes itself as change |
| listener from all child configurations. This fixes a possible memory |
| leak. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-570"> |
| Fixed a possible ConcurrentModificationException when a SystemConfiguration |
| instance is passed to the append() or copy() methods. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-567" due-to="Shen liang"> |
| XMLBeanDeclaration now escapes node names before they are used to |
| determine nested properties. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-563"> |
| The DefaultExpressionEngine class is now immutable. An instance can be |
| shared between multiple configuration objects. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-562"> |
| Improved the API of ExprLookup. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-559"> |
| It is now possible to define default values for initialization |
| properties of configurations. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-553"> |
| The code for accessing configuration files hs 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. |
| </action> |
| <action dev="oheger" type="add" issue="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. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-550"> |
| Conversion to Character is now supported. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-546" due-to="Justin Couch"> |
| BeanHelper can now process BeanDefinitions initializing properties of |
| collection types of their target beans. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-544" due-to="Oliver Kopp"> |
| Added missing dependencies to build.xml. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-541"> |
| Multi-file configurations are no longer restricted to XML configuration |
| files. Arbitrary file-based configurations are now supported. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-539"> |
| The deprecated INIConfiguration class was removed. |
| HierarchicalINIConfiguration was renamed to INIConfiguration. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-537"> |
| The deprecated ConfigurationFactory class was removed. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-535"> |
| DatabaseConfiguration now provides get methods for querying its |
| properties defining the underlying database structures. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-534"> |
| The includesAllowed property of PropertyConfiguration is now independent |
| from the existence of a base path. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-533"> |
| DatabaseConfiguration now automatically converts CLOBs to strings if |
| they appear in property values. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-527" due-to="Matthias Richter"> |
| AbstractConfiguration.clearPropertyDirect() is now abstract. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-526" due-to="Oliver Kopp"> |
| XMLPropertiesConfiguration now supports loading from and saving to DOM |
| nodes. |
| </action> |
| <action dev="oheger" type="add" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-524"> |
| Interpolation now works correctly after a configuration was cloned. |
| The ConfigurationInterpolator instance is now cloned, too. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-521" due-to="Oliver Kopp"> |
| ConfigurationUtils.fileFromUrl() now correctly handles URL containing |
| encoded percent characters. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-520"> |
| Support for reloading of configuration data has been reworked. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-519"> |
| Configuration objects are now created via configuration builders. A new |
| API for configuration builders has been added. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-517"> |
| Hierarchical configurations now provide methods to obtain sub |
| configurations for all child elements of a given key. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-516"> |
| PropertiesConfiguration no longer escapes double quotes on saving. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-514"> |
| Bean declarations now support constructor invocations. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-513"> |
| HierarchicalConfiguration is now an interface. The base implementation |
| class is named BaseHierarchicalConfiguration. |
| </action> |
| <action dev="oheger" type="add" issue="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. |
| </action> |
| <action dev="oheger" type="add" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-506"> |
| Removed obsolete nested classes Node and NodeVisitor of |
| HierarchicalConfiguration. The related deprecated class |
| ConfigurationKey was removed, too. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-500"> |
| XMLConfiguration now adds attributes of elements defining a list to |
| all list nodes. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-496"> |
| Concurrent access to configurations and reloading have been completely |
| redesigned. This should reduce the amount of synchronization. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-462"> |
| Updated dependency to Commons Lang from version 2.6 to 3.1. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-419"> |
| EventSource is now an interface. With BaseEventSource there is a |
| default implementation. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-330"> |
| Concurrent access to configurations has been reworked. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-204"> |
| With the new reloading mechanism automatic and periodic reloading checks |
| can be performed. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-202"> |
| Reloading checks can now be performed in a background thread. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-153"> |
| It is now possible to define the strategy used for locating |
| configuration files. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| </release> |
| |
| <release version="1.10" date="2013-10-27" |
| description="Minor bug fixes and improvements"> |
| <action dev="oheger" type="update" issue="CONFIGURATION-500"> |
| XMLConfiguration now adds attributes of elements defining a list to |
| all list nodes. |
| </action> |
| <action dev="oheger" type="add" issue="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. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-526" due-to="Oliver Kopp"> |
| XMLPropertiesConfiguration now supports loading from and saving to DOM |
| nodes. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-534"> |
| The includesAllowed property of PropertyConfiguration is now independent |
| from the existence of a base path. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-546" due-to="Justin Couch"> |
| BeanHelper can now process BeanDefinitions initializing properties of |
| collection types of their target beans. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-550"> |
| Conversion to Character is now supported. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="henning" type="fix" issue="CONFIGURATION-556"> |
| In 1.7 and before, any change to the system properties was |
| immediately reflected in a SystemConfiguration object. This |
| behavior broke in 1.8 and 1.9. This has been fixed for 1.10. |
| </action> |
| <action dev="henning" type="fix" issue="CONFIGURATION-557"> |
| 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. |
| </action> |
| <action dev="henning" type="fix" issue="CONFIGURATION-558"> |
| 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. |
| </action> |
| </release> |
| |
| <release version="1.9" date="2012-08-22" |
| description="Minor bug fixes and improvements"> |
| <action dev="oheger" type="update" issue="CONFIGURATION-503" due-to="Tino Sino"> |
| Small changes in user guide documentation. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-502" due-to="Tino Sino"> |
| Improvements of basic features and AbstractConfiguration documentation. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-501"> |
| XMLPropertyListConfiguration no longer swallows exception caused by |
| invalid date properties. Now a warning message is logged. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-495"> |
| List properties can now be set correctly on a HierarchicalConfiguration |
| if delimiter parsing is disabled. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-488"> |
| Made static DateFormat fields in XMLPropertyListConfiguration.PListNode |
| final and added a note about proper synchronization. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-487"> |
| DataConfiguration.get() now also works with String properties and if no |
| data type conversion is required. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-483"> |
| DatabaseConfiguration now always closes the result set. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-482" due-to="Chris Seieroe"> |
| The Import-Package section in the OSGi manifest now uses the |
| resolution:=optional directive for optional dependencies. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-481"> |
| Variable substitution in configuration sources declared in a definition |
| file for DefaultConfigurationBuilder now works across multiple sources. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-477"> |
| PropertyListConfiguration now can deal with C-style comments in plist |
| configuration files. Both block and single-line comments are supported. |
| </action> |
| </release> |
| |
| <release version="1.8" date="2012-02-04" |
| description="Support for Java 1.5"> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-476"> |
| Fixed possible ClassCastExceptions in CompositeConfiguration related to |
| special in-memory configurations. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-475"> |
| Class ConfigurationKey was deprecated in favor of DefaultConfigurationKey. |
| </action> |
| <action dev="oheger" type="update" issue="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. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-471"> |
| CompositeConfiguration now provides better support for child |
| configurations that are used as in-memory configuration. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-470"> |
| Classes generated by JavaCC are now created dynamically during the |
| build process. |
| </action> |
| <action dev="ebourg" type="add"> |
| Commons Configuration now requires Java 5 or later. |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-466"> |
| Binary literals are now supported (i.e Ob11010001). |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-465"> |
| Updated the dependency to Commons Jexl to version 2.1.1. This version |
| provides correct OSGi manifest headers. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-463"> |
| Improved documentation of AbstractFileConfiguration related to load() |
| methods and their impact on the base path. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-461"> |
| The project now uses standard Maven directory layout. |
| </action> |
| </release> |
| |
| <release version="1.7" date="2011-09-07" |
| description="Many bugfixes, some new features."> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-460"> |
| Reloading now also works for configuration sources declared in the |
| additional section of a configuration definition file for |
| DefaultConfigurationBuilder. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-459"> |
| ConfigurationFactory has been deprecated. The user guide was updated to |
| no more mention this class. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-458"> |
| HierarchicalConfiguration now provides a specific implementation of the |
| clear() method. This is more efficient and also solves some other |
| problems related to clearing a SubnodeConfiguration. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-456"> |
| Improved Javadocs of getKeys(String) method for some configuration |
| classes. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-455"> |
| HierarchicalINIConfiguration.getSection() now creates a section if it |
| does not exist. The SubnodeConfiguration returned by this method is now |
| always connected to the parent ini configuration. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-452"> |
| XPathExpressionEngine now provides better support for the setProperty() |
| method. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-448"> |
| The parsing of ini files has been improved for property definitions |
| containing multiple separator characters. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-447"> |
| DefaultConfigurationBuilder now supports including environment properties |
| using the "env" tag. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-446"> |
| XMLConfiguration now handles attributes correctly whose value is an |
| empty string. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-445"> |
| Transforming a CombinedConfiguration with ViewNodes to an |
| XMLConfiguration could cause problems with attributes. This has been |
| fixed. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-439"> |
| Child configuration builders created for a <configuration> element |
| in a configuration definition file now inherit the configuration and |
| error listeners from the original DefaultConfigurationBuilder. This |
| makes it possible to suppress log output created for optional |
| configurations. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-438" due-to="Mike Noordermeer"> |
| JNDIConfiguration.getKeys() no more logs an exception if the prefix does |
| not exist. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-437"> |
| Child configuration builders created for a <configuration> element |
| in a configuration definition file now inherit some of their properties |
| from the builder object which processed the file. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-436"> |
| The optional dependency to Apache Ant has been changed to the new |
| groupId org.apache.ant. The version was updated to the most recent |
| version 1.8.2 (older versions should still work). |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-434"> |
| HierarchicalINIConfiguration now recognizes comment characters in |
| property definitions only if they are preceded by whitespace. Thus |
| comment characters can now be part of the property value. This is for |
| instance required for the definition of file paths which use the |
| semicolon as path separator. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-433"> |
| Minor improvements of the support for indexed properties in |
| ConfigurationDynaBean. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-432"> |
| The methods getList() and getStringArray() of AbstractConfiguration can |
| now handle single-valued properties of primitive types. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-428"> |
| XMLConfiguration no longer escapes backslashs in the values of |
| XML elements. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-424"> |
| HierarchicalINIConfiguration now works correctly with configurations |
| that contain only properties in the global section. |
| </action> |
| <action dev="rgoers" type="fix" issue="CONFIGURATION-423" due-to="William Buckley"> |
| testFromClassPath() can fail when it should not because of inconsistent escaping of output from |
| PropertiesConfiguration.getURL() and FileChangedReloadingStrategy.getFile().toURL(). |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-418"> |
| A bug related to the interpretation of escape sequences for backslashes |
| has been fixed. The user guide has also been improved in this area. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-415"> |
| Files with a plus character in their names are now handled correctly. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-413" due-to="Alexander Prishchepov"> |
| SubsetConfiguration now produces correct events. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-412"> |
| DatabaseConfiguration can now be instructed to perform a commit after an |
| update of the managed database table. This makes it usable in |
| environments where the connections do not use auto-commit mode. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-410"> |
| Added a refresh() method to AbstractFileConfiguration and |
| AbstractHierarchicalFileConfiguration. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-409"> |
| HierarchicalINIConfiguration now correctly saves sections whose name |
| contains delimiter characters. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-408"> |
| PropertiesConfiguration.save() escaped slashes in properties values. |
| This was caused by a bug in commons-lang 2.4. Updating to the new |
| version commons-lang 2.5 fixed this problem. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-407"> |
| Fixed a potential IllegalStateException in HierarchicalINIConfiguration |
| that can be thrown when the global section is requested concurrently. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-405"> |
| XMLPropertyListConfiguration no longer throws a ConfigurationException |
| if the file to be loaded does not have an outer dict element. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-404" due-to="Rob Walker"> |
| The default expression engine used by hierarchical configurations used to |
| throw a NumberFormatException if invalid indices were used in property |
| keys. This has been fixed. As a side effect brackets can now be used in |
| property keys. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-403"> |
| When an empty XMLConfiguration was saved and reloaded the root element |
| was assigned an empty text value. Because of this isEmpty() returned |
| false for this configuration. This has been fixed. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-399"> |
| Default variable interpolation now supports the env: prefix for |
| referencing environment variables. |
| </action> |
| <action dev="rgoers" type="fix" issue="CONFIGURATION-397"> |
| Schema violation exceptions are now propagated back to the caller. |
| </action> |
| <action dev="rgoers" type="fix" issue="CONFIGURATION-390"> |
| XMLConfiguration and CombinedConfiguraton are now synchronized to fix problems |
| caused by reloading in a multithreaded environment. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-396"> |
| HierarchicalConfiguration.NodeVisitor is now passed the correct key to |
| its visitAfterChildren() method. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-393"> |
| BaseConfiguration.clone() now also clones collections stored in the |
| internal map. This causes list properties to be handled correctly. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-389"> |
| DefaultConfigurationBuilder now supports defining ini files in its |
| configuration definition file. |
| </action> |
| <action dev="rgoers" type="fix" issue="CONFIGURATION-388"> |
| Attribute or element values will not be escaped when attribute or element splitting are disabled. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-363"> |
| When using Commons Lang 2.6 or higher as dependency nested interpolation |
| in variable names is supported. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-362"> |
| Empty dictionaries in a PropertyList configuration are now preserved when the configuration is saved. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-385"> |
| DatabaseConfiguration now generates correct events for the clear() and |
| clearProperty() methods. |
| </action> |
| <action dev="rgoers" type="add" issue="CONFIGURATION-380"> |
| Add ExprLookup to allow expressions to be evaluated in configurations. When |
| used, this requires that Apache Commons Jexl be added as a dependency to |
| projects using Commons Configuration. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-374"> |
| MapConfiguration now provides a way of controlling the trimming |
| behavior. |
| </action> |
| <action dev="rgoers" type="add" issue="CONFIGURATION-378"> |
| Added MergeCombiner to allow elements in two configurations to be merged when the |
| element and attributes in the first file match those in the second file. |
| </action> |
| <action dev="rgoers" type="add" issue="CONFIGURATION-340"> |
| File system access has been abstracted to a FileSystem interface. Two implementations |
| are provided, DefaultFileSystem that behaves in a backward compatible manner and |
| VFSFileSystem which uses Commons VFS to retreive and store files. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-314"> |
| PropertiesConfigurationLayout now allows setting the line separator to |
| be used when writing the properties file. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-371"> |
| PropertiesConfigurationLayout now also stores the property separators used for |
| the single properties. It is also possible to change them for specific |
| properties or set a global properties separator. In earlier versions |
| the separator was hard-coded to " = ". |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-370"> |
| PropertiesConfiguration now defines a nested interface IOFactory. Using |
| this interface it is possible to inject custom PropertiesReader and |
| PropertiesWriter implementations. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-368"> |
| SubnodeConfiguration now fires an event of type EVENT_SUBNODE_CHANGED |
| if a structural change of the parent configuration was detected. If the |
| SubnodeConfiguration is contained in a CombinedConfiguration, the |
| CombinedConfiguration receives this event and can update itself. |
| </action> |
| <action dev="rgoers" type="fix" issue="CONFIGURATION-361"> |
| MultiFileHierarchicalConfiguration was not using basepath to |
| construct the file url. It also threw an exception if the |
| file pattern resolved to a non-existent file. This is now |
| configurable. |
| </action> |
| <action dev="joehni" type="update" issue="CONFIGURATION-375"> |
| Align interpolation functionality of SubnodeConfiguration and |
| SubsetConfiguration. SubsetConfiguration will now also interpolate |
| keys of the parent configuration or use the local lookups of its |
| parent. SubnodeConfiguration is in turn now able to lookup local |
| keys as well. |
| </action> |
| <action dev="joehni" type="update" issue="CONFIGURATION-376"> |
| Align interpolation functionality of SubnodeConfiguration and |
| SubsetConfiguration. |
| </action> |
| <action dev="joehni" type="update" issue="CONFIGURATION-377"> |
| Align interpolation functionality of SubnodeConfiguration and |
| SubsetConfiguration. |
| </action> |
| <action dev="joehni" type="fix" issue="CONFIGURATION-369"> |
| SubsetConfiguration did not use locally registered lookups of its |
| interpolator. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-359"> |
| Fixed broken links to the API documentation in the user's guide. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-358"> |
| Improvements of the user's guide for hierarchical configurations. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-357"> |
| The message of the ConversionException thrown by |
| AbstractConfiguration.getBigInteger() is now correct. |
| </action> |
| <action dev="rgoers" type="add" issue="CONFIGURATION-356"> |
| Added getConfigurations and getConfigurationNameList. |
| </action> |
| <action dev="rgoers" type="add" issue="CONFIGURATION-257"> |
| Allow configurations to be validated using XML Schemas. |
| </action> |
| <action dev="rgoers" type="add" issue="CONFIGURATION-355"> |
| Allow configurations to be validated using XML Schemas. |
| </action> |
| </release> |
| |
| <release version="1.6" date="2008-12-25" |
| description="Another set of smaller bug fixes"> |
| <action dev="oheger" type="update"> |
| Some dependencies to other Commons components have been updated to the |
| recent versions. Affected are Commons Lang, Commons Collections, |
| Commons Logging, Commons BeanUtils, and Commons JXPath. The older |
| versions should still work. |
| </action> |
| <action dev="rgoers" type="add" issue="CONFIGURATION-353"> |
| Allow system properties to be set from a configuration file. |
| </action> |
| <action dev="rgoers" type="add" issue="CONFIGURATION-351"> |
| Allow variable resolvers to be defined configured in |
| DefaultConfigurationBuilder. |
| </action> |
| <action dev="rgoers" type="add" issue="CONFIGURATION-350"> |
| Added MultiFileHierarchicalConfiguration, DynamicCombinedConfiguration |
| and PatternSubtreeConfigurationWrapper. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-349" due-to="Ralph Goers"> |
| The visibility of DefaultConfigurationBuilder.XMLConfigurationProvider |
| was changed from package local to public. This makes it easier to |
| implement providers that create configuration classes derived from |
| XMLConfiguration. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-348"> |
| AbstractHierarchicalFileConfiguration.getKeys() now also checks whether |
| a reload is required. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-347"> |
| AbstractFileConfiguration.getKeys() now returns an iterator that points |
| to a snapshot of the keys of the configuration. This prevents |
| ConcurrentModificationExceptions during iteration when a reload is |
| performed. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-346"> |
| ConfigurationUtils.convertToHierarchical() now creates multiple |
| configuration nodes for properties with multiple values. This |
| improves compatibility with queries. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-345"> |
| PropertiesConfiguration now per default uses the encoding "ISO-8859-1" |
| for loading properties files. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-344"> |
| CombinedConfiguration could cause a deadlock when it was accessed while |
| concurrently a reload of one of its child configuration happened. This |
| was fixed by reducing synchronization where it is not strictly |
| necessary. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-341"> |
| The "force reload check" mechanism of CombinedConfiguration now also |
| works with sub configurations created by configurationAt(). |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-339"> |
| When performing interpolation the methods getList() and getStringArray() |
| of CompositeConfiguration did not take the order of child configurations |
| into account. This could lead to wrong interpolated values when the key |
| was contained in multiple child configuration. Interpolation is now |
| always done in the correct order. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-338" due-to="David Donn"> |
| PropertiesConfiguration now also performs interpolation when searching |
| for include files. This means that the name of a file to include can be |
| determined by another property. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-337" due-to="Ralph Goers"> |
| DefaultConfigurationBuilder now supports defining new configuration |
| providers in the configuration definition file. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-336"> |
| When converting a flat configuration to a hierarchical one it is now |
| possible to specify the expression engine to be used for this purpose. |
| This may be necessary if the flat configuration contains keys with |
| special characters interpreted by the expression engine. |
| CombinedConfiguration defines the new setConversionExpressionEngine() |
| method. The expression engine passed to this method will be used when |
| converting flat child configurations to hierarchical ones. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-335"> |
| XMLConfiguration now allows disabling the attribute splitting mechanism |
| introduced in the 1.5 release (as part of the fix for CONFIGURATION-268). |
| This may be necessary for correctly processing attributes containing |
| both the list delimiter and the attribute delimiter character. The new |
| property "disableAttributeSplitting" was added for this |
| purpose. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-334"> |
| Made handling of parent nodes more consistent when setRoot() or |
| setRootNode() of HierarchicalConfiguration are involved. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-332"> |
| Properties written through a DataConfiguration to a wrapped |
| PropertiesConfiguration got lost when the PropertiesConfiguration was |
| saved. This has been fixed. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-331"> |
| XMLBeanDeclaration now defines a factory method createBeanDeclaration() |
| for creating the declarations for complex nested properties. This |
| method can be overridden by derived classes for injecting custom |
| BeanDeclaration implementations. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-328"> |
| A bug in XMLConfiguration.addNodes() made it impossible to add |
| attribute nodes using this method. This has been fixed. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-327"> |
| INIConfiguration misinterpreted variables in the global section with |
| a dot in their name as section names. HierarchicalINIConfiguration fixes |
| this problem. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-326"> |
| INIConfiguration does not support obtaining a subset for the global |
| section. HierarchicalINIConfiguration provides the getSection() method |
| that returns the content of the global section if null is passed in as |
| section name. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-325"> |
| INIConfiguration does not return the global section in its getSections() |
| method. HierarchicalINIConfiguration fixes this problem. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-324"> |
| HierarchicalINIConfiguration adds support for line continuation. |
| </action> |
| <action dev="oheger" type="update"> |
| INIConfiguration has been deprecated. Its functionality is now available |
| through the new HierarchicalINIConfiguration class. |
| </action> |
| <action dev="oheger" type="add"> |
| With HierarchicalINIConfiguration a complete new Configuration |
| implementation for parsing Windows INI files is available. This new |
| class is a full replacement of INIConfiguration and addresses some of its |
| shortcomings. Being derived from HierarchicalConfiguration it offers |
| the enhanced functionality of hierarchical configurations. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-322"> |
| ConfigurationDynaBean now works properly with indexed properties |
| stored internally in the underlying configuration as arrays. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-321"> |
| The iterator returned by HierarchicalConfiguration.getKeys(String prefix) |
| now also contains the prefix if this key is contained in the |
| configuration. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-320"> |
| XMLPropertyListConfiguration is no longer limited to 32 bits integers. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-318"> |
| When an XMLConfiguration is created using the copy constructor, the name |
| of the root element is now preserved. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-316"> |
| Changing the text of the root element of an XMLConfiguration had no |
| effect when the configuration was saved. This has been fixed. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-315"> |
| CombinedConfiguration used to send two EVENT_COMBINED_INVALIDATE events |
| for each modified child configuration. Now this event is sent only |
| once after the affected child configuration was updated. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-307"> |
| XMLConfiguration now supports the xml:space attribute. This attribute |
| can be used to preserve whitespace in the content of XML elements. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-306"> |
| INIConfiguration now preserves whitespace in quoted values. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-302"> |
| If a change has been detected by FileChangedReloadingStrategy, the |
| reloadingRequired() method will now return true until |
| reloadingPerformed() has been called. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-301"> |
| Fixed a NullPointerException that could be thrown under certain |
| circumstances when saving an XMLConfiguration that was created using |
| the constructor that takes a HierarchicalConfiguration. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-309"> |
| Instantiating an XMLPropertyListConfiguration no longer fails |
| if the DTD is missing from the classpath. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-300"> |
| It's now possible to read a configuration file containing |
| a '#' in its name (requires Java 1.4 or above). |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-260"> |
| Fixed the date format for XMLPropertyListConfiguration. |
| </action> |
| </release> |
| |
| <release version="1.5" date="2007-11-24" description="Many smaller bugfixes"> |
| <action dev="oheger" type="update" due-to="Jörg Schaible"> |
| Some of the dependencies in the m2 pom have been updated to be more |
| consistent. |
| </action> |
| <action dev="oheger" type="update" due-to="Jörg Schaible"> |
| The dependency to commons-logging was updated to the current version |
| 1.1. Older versions of commons-logging will still work. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-273"> |
| A new method interpolatedConfiguration() was added to AbstractConfiguration. |
| This method returns a configuration with the same type and |
| content as the original configuration, however all variables have been |
| resolved. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-299"> |
| Resolving of variables with the prefix const (constant fields) caused |
| a ClassCastException under certain circumstances if non-String fields |
| were involved. This has been fixed. |
| </action> |
| <action dev="oheger" type="update" due-to="Nicolas De Loof"> |
| The dependencies to commons-codec and commons-jxpath have been marked |
| as optional. They are not required by the core classes. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-284" due-to="Nicolas De Loof"> |
| There is a new configuration implementation EnvironmentConfiguration, |
| which provides access to (OS) environment variables. On Java >= 1.5 |
| this class can be directly used; on earlier versions a dependency to ant |
| is required. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-296"> |
| A bug in XMLConfiguration caused that attributes of the root element |
| could not be changed. This has been fixed. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-290"> |
| A new method registerEntityId() was added to XMLConfiguration, which |
| allows to register URLs for entities. A new default implementation of |
| the EntityResolver interface handles these entities automatically. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-295"> |
| The subset() method of HierarchicalConfiguration now takes the value of |
| the subset's root node into account if it is not ambigous. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-294"> |
| Nodes added to a XMLConfiguration using the addNodes() method could |
| lose their value when the configuration was saved. This is now fixed. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-272"> |
| New copy() and append() methods have been added to AbstractConfiguration. |
| They replace the methods with the same names in ConfigurationUtils, |
| which do not handle all features of AbstractConfiguration properly (e.g. |
| list delimiters in property values are incorrectly treated). To avoid |
| such problems, the new methods should be used. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-291"> |
| The addNodes() method of hierarchical file-based configurations now |
| correctly triggers an auto save. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-287"> |
| HierarchicalConfiguration.addNodes() now resets the reference property |
| of all nodes to be added. This fixes a problem with XMLConfiguration, |
| which now detects the added nodes as new and treats them correctly when |
| the configuration is saved. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-285"> |
| DefaultConfigurationBuilder will now notify registered error listeners |
| about optional configuration sources that could not be created. Before |
| exceptions thrown by optional configurations were swallowed |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-283"> |
| ConfigurationUtils.convertToHierarchical() now correctly deals with |
| property values containing escaped list delimiters. This also affects |
| CombinedConfiguration when sub configurations with such property values |
| are contained. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-275"> |
| AbstractConfiguration.addProperty() now correctly deals with list and |
| array properties if delimiter parsing is disabled. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-282"> |
| The default expression engine used by HierarchicalConfiguration |
| instances is now lazily initialized. This avoids NullPointerExceptions |
| in certain server environments after a redeploy. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-281"> |
| Cycles in the JNDI tree no longer cause a stack overflow in |
| JNDIConfiguration. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-277"> |
| The base implementation of clear() in AbstractConfiguration now checks |
| for a potential UnsupportedOperationException when iterating over the |
| existing properties. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-280" |
| due-to="Roman Kurmanowytsch"> |
| Using file-based configurations in auto-save mode together with a |
| reloading strategy could cause data loss. This has been fixed. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-279"> |
| A PropertiesConfiguration that was created from a non existing file |
| lost its content when it was saved. This problem has been solved. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-215"> |
| A new getSource() method was added to CompositeConfiguration and |
| CombinedConfiguration, which returns the child configuration, in which |
| a given property is defined. |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-274"> |
| PropertiesConfiguration now supports escaping the escape character for |
| list delimiters. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-269"> |
| PropertiesConfiguration no longer escapes the list delimiter on saving |
| if the list delimiter has been disabled. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-270"> |
| List properties and properties containing interpolated variables |
| are now properly saved by INIConfiguration. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-268"> |
| When delimiter parsing was disabled for XMLConfiguration, saving and |
| loading the configuration accidently added escape characters to properties |
| containing the list delimiter character. This has been fixed. It is now |
| also possible to escape the escape character itself. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-253"> |
| The return value of FileConfiguration.getFile() is now always |
| consistent with the result of getURL(). |
| </action> |
| <action dev="ebourg" type="update"> |
| INIConfiguration uses the platform's specific line separator instead |
| of the Windows line separator. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-267"> |
| INIConfiguration flushes the output at the end of a save operation. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-265"> |
| For hierarchical file-based configurations the auto-save mechanism is |
| now also triggered if a subnode configuration is changed. In such a case |
| the new event type EVENT_SUBNODE_CHANGED will be sent to registered |
| listeners. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-266" due-to="Tobias Noebel"> |
| ConfigurationInterpolator now also invokes the default lookup object for |
| variables with a prefix that could not be resolved by their associated |
| lookup object. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-264"> |
| A SubnodeConfiguration per default does not see certain changes of its |
| parent configuration (e.g. reloads). With a new boolean parameter of |
| HierarchicalConfiguration's configurationAt() method a mode can be |
| enabled, in which the subnode configuration checks for such changes and |
| reconstructs itself if necessary. |
| </action> |
| <action dev="ebourg" type="fix"> |
| byte[] properties are properly saved as data fields in the plist |
| configurations (PropertyListConfiguration and XMLPropertyListConfiguration). |
| </action> |
| <action dev="ebourg" type="add"> |
| DataConfiguration now supports java.net.InetAddress, |
| javax.mail.internet.InternetAddress, and Java 5 enumeration types. |
| Properties are converted to these types using the new generic getters. |
| </action> |
| <action dev="ebourg" type="fix"> |
| The object getters in DataConfiguration with no default value |
| (i.e getURL(key)) now throw a NoSuchElementException if the flag |
| throwExceptionOnMissing is set. |
| </action> |
| <action dev="ebourg" type="add"> |
| Generic get methods have been added to DataConfiguration (get(), |
| getArray() and getList()) |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-263"> |
| XMLConfiguration used to drop attributes when an element's value was a |
| list. This has been fixed. |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-249"> |
| File configurations can now be saved to FTP URLs, or any other URL |
| protocol supporting data output. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-180"> |
| Fixed a potential issue in DatabaseConfiguration where an error on |
| closing a statement would prevent the connection from being closed. |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-261"> |
| Date objects are now supported in ASCII plist files. |
| </action> |
| <action dev="ebourg" type="update"> |
| XMLPropertyListConfiguration no longer requires commons-digester and |
| commons-beanutils to work. |
| </action> |
| <action dev="ebourg" type="update"> |
| Fixed INIConfiguration to handle the quoted values and the lines |
| containing a value and a comment. |
| </action> |
| </release> |
| |
| <release version="1.4" date="2007-04-08" description="Improved interpolation, configuration for INI files, reloading strategy triggered with JMX, bug fixes."> |
| <action dev="oheger" type="update" issue="CONFIGURATION-256"> |
| MapConfiguration and the web-based configurations now treat strings |
| that contain an escaped list delimiter correctly: The escape character |
| will be removed, so that for instance "foo\,bar" becomes "foo,bar". |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-255"> |
| DatabaseConfiguration now handles list delimiters in property values |
| correctly. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-254" due-to="Carsten Kaiser"> |
| After cloning a XMLConfiguration there was still a connection to the |
| original configuration. So when the clone was modified and then saved |
| the content of the original configuration was written. This has now |
| been fixed. |
| </action> |
| <action dev="oheger" type="update"> |
| Class loading in BeanHelper is now done using ClassUtils of Commons |
| Lang. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-237" due-to="Nicolas de Loof"> |
| With ManagedReloadingStrategy a new reloading strategy for file-based |
| configurations was added that can be triggered through JMX. |
| </action> |
| <action dev="oheger" type="update"> |
| The dependencies to Commons Lang, Commons Collections, and Commons Digester |
| are updated to use the recent available version. However older versions |
| will still work. |
| </action> |
| <action dev="oheger" type="add"> |
| A pom for maven 2 was added. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-252"> |
| ConfigurationUtils.getFile() now always checks first whether the passed |
| in file name is absolute. If it is, this file will be returned. This |
| prevents that on Unix under certain circumstances absolute file names |
| are interpreted as relative ones. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-251"> |
| The dependency to xml-apis was changed to the version 1.0.b2. The so |
| far used version 2.0.2 is reported to be bogus. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-245"> |
| In addition to configuration event listeners now so-called configuration |
| error listeners are supported. These listeners are notified about |
| internal errors that had been logged and swallowed by privious versions. |
| The new enableRuntimeExceptions() method of ConfigurationUtils |
| registers a special error listener at the passed in configuration that |
| generates a runtime exception when an error event is received. |
| </action> |
| <action dev="oheger" type="add"> |
| AbstractConfiguration now allows to set an instance specific logger |
| using the setLogger() method. This gives clients more control over a |
| configuration's logging behavior. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-155"> |
| SubsetConfiguration and CompositeConfiguration were updated to fully |
| support an instance specific list delimiter. Concerning splitting of |
| string properties that contain a list delimiter character, these |
| classes now behave like a "normal" configuration. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-192"> |
| Variable interpolation features have been improved. A variable can now |
| have the form ${prefix:variableName} where the prefix |
| defines the type of the variable. The standard types sys for |
| system properties and const for constants are supported. |
| Variables without a prefix are treated as references to other |
| configuration properties (which is compatible to earlier versions). |
| </action> |
| <action dev="oheger" type="update"> |
| Commons Configuration now depends on Commons Lang 2.2. Some features |
| of Lang's new text package are used. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-244"> |
| The number of dependencies needed for DefaultConfigurationBuilder was |
| reduced by letting some of the default configuration providers resolve |
| their classes per reflection. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-240"> |
| File-based configurations with a reloading strategy did not work well |
| together with CombinedConfiguration because the reloading strategy is |
| only checked when its associated configuration is accessed (which does |
| not happen when only the combined configuration is queried). |
| As a workaround CombinedConfiguration now provides the boolean |
| forceReloadCheck property. If this is set to true, all contained |
| configurations will be triggered when a property is queried. This will |
| cause a reload if necessary. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-243"> |
| Configuration declarations in the configuration definition file for |
| DefaultConfigurationBuilder that are marked as optional now support a |
| new attribute config-forceCreate. If this attribute is set |
| to true and the initialization of the configuration fails, |
| DefaultConfigurationBuilder tries to add an empty configuration of the |
| correct type to the resulting combined configuration. Before this |
| change optional configurations that caused errors were never added to |
| the combined configuration. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-241"> |
| CompositeConfiguration.clearProperty() now generates the correct |
| update events. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-242"> |
| The configuration returned by HierarchicalConfiguration.subset() |
| performed variable interpolation only in the keys that belong to the |
| subset. Now the parent configuration is searched, too, to resolve the |
| value of the referenced property. This is consistent with the way |
| SubnodeConfiguration works. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-234"> |
| DefaultConfigurationBuilder now internally uses the standard expression |
| engine for hierarchical configurations. So the dependency to Commons |
| JXPath is no more needed when this class is used. Note that this change |
| has some impact on existing code that manually sets properties before |
| the combined configuration is created; this code must now be adapted to |
| the changed syntax of property keys. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-236"> |
| HierarchicalConfiguration and some of its sub classes now define a |
| copy constructor. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-197" due-to="Trevor Charles Miller"> |
| A new configuration class for windows ini files was added. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-229"> |
| For file-based configurations loaded by ConfigurationFactory the load() |
| method was called before all of the properties specified by attributes |
| of the XML element have been initialized. Now load() is called after |
| property initialization. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-235"> |
| Interpolation of non string values did not work when SubsetConfiguration |
| was involved. This has now been fixed. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-227"> |
| The compatibility of ConfigurationDynaBean with other configuration types |
| than those that inherit from BaseConfiguration was improved. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-233" due-to="Rainer Jung"> |
| The getList() method of CompositeConfiguration does now fully support |
| variable interpolation. So it is possible to refer to a variable in |
| one (sub) configuration that is defined in another configuration. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-230"> |
| XPathExpressionEngine used to create wrong keys for attribute nodes. |
| This caused some operations on XMLConfiguration to fail when such an |
| expression engine was set (e.g. reloading). Now correct keys for |
| attributes are constructed. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-228"> |
| Some of the methods of file-based hierarchical configurations (e.g. |
| subset() or configurationAt()) did not take an eventually set reloading |
| strategy into account. This is now fixed by overriding the internal |
| fetchNodeList() method in AbstractHierarchicalFileConfiguration and |
| letting it always check for a reload. |
| </action> |
| </release> |
| |
| <release version="1.3" date="2006-09-24"> |
| </release> |
| |
| <release version="1.3-rc2" date="2006-09-03"> |
| <action dev="oheger" type="update" issue="CONFIGURATION-223" due-to="Gabriele Garuglieri"> |
| AbstractFileConfiguration now overrides addProperty() and setProperty() |
| instead of addPropertyDirect() to implement the auto save feature. |
| This was necessary to properly integrate PropertiesConfigurationLayout. |
| It has also the advantage that an auto save is triggered only once if |
| multi-valued properties are involved (before a save operation was |
| performed for each property value). |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-222" due-to="Gabriele Garuglieri"> |
| The new PropertiesConfigurationLayout class broke the save() operation |
| of PropertiesConfiguration when an instance was newly created and |
| populated in memory. This is fixed now by ensuring that a layout object |
| is immediately created and registered as event listener at the |
| configuration. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-221" due-to="Rainer Jung"> |
| ConfigurationFactory now supports variables in its configuration |
| definition files. These variables are resolved using system properties |
| and have the typical ${} syntax. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-216" due-to="Gabriele Garuglieri"> |
| There were still some problems with resolving relative paths when |
| configuration files are loaded from classpath. This fix addresses these |
| issues. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-220"> |
| DataConfiguration.getDateArray() used to ignore the format argument. |
| This was fixed. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-219"> |
| PropertiesConfiguration now defines its own clone() method to handle |
| the associated PropertiesConfigurationLayout object correctly. |
| </action> |
| </release> |
| |
| <release version="1.3-rc1" date="2006-07-30"> |
| <action dev="oheger" type="update" issue="CONFIGURATION-217"> |
| The dependency to servletapi was updated from version 2.3 to version |
| 2.4, but version 2.3 will still work. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-104"> |
| A new class PropertiesConfigurationLayout was introduced whose task is |
| to preserve the structure (e.g. comments, blank lines) of a file |
| loaded by PropertiesConfiguration. Each PropertiesConfiguration |
| object is now associated with such a layout object. A saved properties |
| file will look very similar to its original. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-145"> |
| clone() methods have been added to BaseConfiguration, AbstractFileConfiguration, |
| MapConfiguration, CompositeConfiguration, and CombinedConfiguration. |
| So the most important Configuration implementations now support |
| cloning. To ConfigurationUtils an utility method cloneConfiguration() |
| was added that allows to conveniently clone a configuration. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-216"> |
| If a configuration file was to be loaded from classpath, the |
| constructor of AbstractFileConfiguration dropped the file's path. The |
| path is now taken into account. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-214"> |
| The getter methods for numeric data types in AbstractConfiguration now |
| support conversions between different Number types, e.g. you can now |
| call getLong(key) when key points to an Integer value. |
| </action> |
| <action dev="oheger" type="add"> |
| The new class DefaultConfigurationBuilder was added as an alternative to |
| ConfigurationFactory. It provides some more features and creates a |
| CombinedConfiguration object |
| </action> |
| <action dev="oheger" type="add"> |
| The new class CombinedConfiguration was added as a hierarchical |
| alternative to CompositeConfiguration. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-143"> |
| Support for low-level configuration events was added to all classes |
| derived from AbstractConfiguration. The major part of this is handled |
| by the new super class EventSource of AbstractConfiguration. |
| </action> |
| <action dev="oheger" type="add"> |
| A new method convertToHierarchical() was added to ConfigurationUtils, |
| which is able to convert an arbitrary configuration object into a |
| hierarchical configuration. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-63"> |
| Loading of file-based configurations no longer throws a NullPointerException |
| in setups where the thread context class loader is not set. |
| </action> |
| <action dev="oheger" type="update"> |
| The dependency to dom4j was removed; it was only used by two test classes, |
| which have been re-written. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-100"> |
| XMLConfiguration used to drop the DOCTYPE declaration when saving the |
| configuration. It is now able to extract the DTD's public and system ID |
| and write them back (more complex DOCTYPE declarations are still not supported). |
| With the new methods setSystemID() and setPublicID(), the DOCTYPE |
| declaration can be configured. |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-178"> |
| Added two new constructors in CompositeConfiguration accepting a |
| collection of configurations as a parameter. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-186"> |
| (Basic) Support for declaring beans in configuration files was added. |
| Some new classes in the beanutils package allow to create instances from |
| these declarations. |
| </action> |
| <action dev="oheger" type="update"> |
| The implementation of the interpolation features have been extracted out |
| off AbstractConfiguration and moved to PropertyConverter. The |
| interpolateHelper() method of AbstractConfiguration is now deprectated |
| and will not be called any more during interpolation. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-182"> |
| A new method configurationsAt() was added to HierarchicalConfiguration |
| that provides a convenient way of iterating over complex list-like |
| structures without the need of manually constructing configuration keys |
| with indices. |
| </action> |
| <action dev="oheger" type="add"> |
| A new class SubnodeConfiguration was introduced that wraps a configuration |
| node of a HierarchicalConfiguration. All operations performed on this |
| configuration use this wrapped node as root. The new configurationAt() |
| method of HierarchicalConfiguration returns such a SubnodeConfiguration |
| for a specified sub node. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-173"> |
| With XPathExpressionEngine an expression engine for hierarchical |
| configurations is now available that can evaluate XPATH expressions in |
| property keys. This expression engine implementation is based on |
| Commons JXPath, which is now declared as a new dependency (but at |
| runtime it is only needed if the XPathExpressionEngine class is used). |
| </action> |
| <action dev="oheger" type="add"> |
| The code for interpreting property keys was refactored out off |
| HierarchicalConfiguration. Instead this class now supports pluggable |
| expression engines (using the setExpressionEngine() method). So it is |
| possible to plug in different expression languages. A default expression |
| engine is provided that understands the native expression language used |
| by hierarchical configurations in older versions. During the process of |
| this refactoring some methods of HierarchicalConfiguration have been |
| deprecated; they will not be called any more when searching or adding |
| properties. These are the following: createAddPath(), fetchAddNode(), |
| findLastPathNode(), findPropertyNodes(). |
| </action> |
| <action dev="oheger" type="update"> |
| A larger refactoring was performed on the inner Node class of |
| HierarchicalConfiguration: A ConfigurationNode interface was extracted |
| for which a default implementation (DefaultConfigurationNode) is |
| provided. HierarchicalConfiguration.Node now extends this default |
| implementation. The new ConfigurationNode interface defines some more |
| methods than the Node class did originally for conveniently dealing with |
| sub nodes and attributes. HierarchicalConfiguration now uses the new |
| type ConfigurationNode whereever possible. Some methods dealing with |
| Node objects have been deprecated and replaced by versions operating on |
| ConfigurationNode objects instead. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-155" due-to="Jorge Ferrer"> |
| All configuration classes derived from AbstractConfiguration now allow |
| to set an instance specific list delimiter. This can be done through |
| the new method setListDelimiter(). As before it is possible to define |
| a default list delimiter, which will be used if no instance specific |
| delimiter is set. This can be done using the new setDefaultListDelimiter() |
| method (the methods get/setDelimiter() have been deprecated). With the |
| new setDelimiterParsingDisabled() method parsing of lists can be |
| disabled at all. |
| </action> |
| </release> |
| |
| <release version="1.2" date="2005-12-17"> |
| </release> |
| |
| <release version="1.2-rc3" date="2005-12-07"> |
| <action dev="oheger" type="update"> |
| Commons Configuration now declares a dependency to Xalan. As with |
| Xerces this dependency is only needed for JDK 1.3. It was introduced |
| in a process of making Configuration buildable on a JDK 1.3. Documentation |
| about the build process was also added. |
| </action> |
| <action dev="oheger" type="update"> |
| The dependency to Commons Beanutils Collections was unnecessary and |
| thus removed. |
| </action> |
| <action dev="oheger" type="update"> |
| Commons Configuration now depends on Commons Digester 1.6 instead of 1.5. |
| (This was done only to pick up the latest available release of digester.) |
| </action> |
| </release> |
| |
| <release version="1.2-rc2" date="2005-11-23"> |
| <action dev="oheger" type="update" issue="CONFIGURATION-2"> |
| ConfigurationDynaBean now implements the java.util.Map interface (as |
| was stated in the javadocs). This was done by deriving the class from |
| ConfigurationMap. |
| </action> |
| </release> |
| |
| <release version="1.2-rc1" date="2005-11-11"> |
| <action dev="oheger" type="update" issue="CONFIGURATION-33"> |
| The reload() method in AbstractFileConfiguration was updated to prevent |
| reentrant invocation, which may be caused by some methods when they |
| are called during a reloading operation. |
| </action> |
| <action dev="ebourg, oheger" type="update"> |
| AbstractHierarchicalFileConfiguration, a new base class for file based |
| hierarchical configurations, was introduced. XMLConfiguration now |
| extends this class. |
| </action> |
| <action dev="oheger" type="update" due-to="Kay Doebl" issue="CONFIGURATION-41"> |
| XMLConfiguration now prints the used encoding in the xml declaration of |
| generated files. In earlier versions always the default encoding was |
| written. PropertiesConfiguration now always uses the platform specific |
| line separator when saving files. |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-8"> |
| PropertiesConfiguration now translates properly the escaped unicode |
| characters (like \u1234) used in the property keys. This complies with |
| the specification of java.util.Properties. |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-123"> |
| ConfigurationConverter.getProperties() now uses the delimiter of the |
| specified configuration to convert the list properties into strings. |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-123"> |
| The interpolation of variables (${foo}) is now performed in all property |
| getters of AbstractConfiguration and DataConfiguration. As a side effect |
| the Properties object returned by ConfigurationConverter.getProperties() |
| contains only interpolated values. |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-35"> |
| PropertiesConfiguration now uses the ISO-8859-1 encoding by default |
| instead of the system encoding to comply with the specification of |
| java.util.Properties. |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-44"> |
| JNDIConfiguration no longer logs an error when attempting to get |
| a property that doesn't exist in the configuration. |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-99"> |
| Attempting to load a configuration from a directory instead of a file |
| will now throw a ConfigurationException. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-28"> |
| If a multi-valued property was involved in an interpolation operation, |
| AbstractConfiguration created a string representation of the list of all |
| values. This was changed to only use the first value, which makes more |
| sense in this context and is consistent with other getters for single |
| valued properties. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-83"> |
| If an include file with a relative path cannot be found in the base |
| path, PropertiesConfiguration now also tries to resolve it based on its |
| own location. |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-117" due-to="Steve Bate"> |
| Fixed MapConfiguration to store the list of values added under a same |
| key instead of the last value added. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-80"> |
| Fixed a bug in the handling of relative file names in ConfigurationFactory: |
| In most cases relative file names were not resolved relative to the |
| location of the configuration definition file as stated in the documentation. |
| This behavior was now changed to always be in sync with the documentation. |
| This may have an impact on existing code which uses workarounds for |
| the erroneous resolving mechanism. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-6"> |
| Empty elements or elements whose content consists only of comments or |
| whitespace are now taken into account by XMLConfiguration. They are |
| added to the configuration; their value is an empty string. |
| </action> |
| <action dev="oheger" type="add"> |
| XMLConfiguration now sets a valid system id in the InputSource used for |
| loading files. This enables XML parsers to correctly resolve relative |
| files, e.g. DTDs. |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-74"> |
| getKeys() in HierarchicalConfiguration now returns the keys in the same order the properties were inserted. |
| </action> |
| <action dev="ebourg" type="update"> |
| Commons Configuration now depends on Commons Collections 3.1 instead of 3.0 |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-195"> |
| New configurations implementing the "property list" format used in |
| NeXT/OpenStep and its XML variant used in Mac OS X. |
| (PropertyListConfiguration and XMLPropertyListConfiguration) |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-97"> |
| Resolved some issues with XMLConfiguration and properties containing |
| the delimiter character. These properties are now correctly treated, |
| escaping the delimiter will work, too. |
| </action> |
| <action dev="ebourg" type="add"> |
| Added support for XMLPropertiesConfiguration in ConfigurationFactory. |
| A <properties> element will generate a XMLPropertiesConfiguration |
| if the filename ends with ".xml". |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-184"> |
| PropertiesConfiguration now supports escaped key/value separators in the keys |
| (i.e foo\:key = bar). |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-166"> |
| PropertiesConfiguration now supports all key/value separators supported by java.util.Properties |
| ('=', ':' and white space characters). |
| </action> |
| <action dev="ebourg" type="update"> |
| Commons Configuration now depends on Commons Lang 2.1 instead of 2.0 |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-207"> |
| Comment lines for PropertiesConfiguration can start with the '!' char (compatibility with java.util.Properties). |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-84"> |
| Because ConfigurationUtils.copy() does not fully support hierarchical |
| configurations a clone() method was added to HierarchicalConfiguration |
| that can be used instead. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-206"> |
| XMLConfiguration now provides some support for validating XML |
| documents. With the setValidating() method DTD validation can be |
| enabled. It is also possible to set a custom DocumentBuilder allowing |
| a caller to perform enhanced configuration of the XML loading process. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-121"> |
| AbstractFileConfiguration now always sets a valid base path if the |
| configuration file could be located. This allows PropertiesConfiguration |
| to resolve include files even when loaded from class path. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-85"> |
| Updated XMLConfiguration to correctly deal with properties containing |
| dots in their names. Such properties could not be accessed before. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-9"> |
| PropertiesConfiguration's handling of backslash characters at the end |
| of line was incorrect when there was an even number of trailing |
| backslashes. This is now fixed. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-130"> |
| Fixed a problem related to file based configurations that are loaded |
| from a URL which is application/x-www-form-urlencoded: the save() method |
| would store such files at a wrong location. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-50"> |
| Updated FileChangedReloadingStrategy to use the file based configuration's |
| source URL to find the file to watch. Before that it was possible that |
| the strategy checked the wrong file. For configuration files loaded |
| from a jar FileChangedReloadingStrategy now checks the jar file itself |
| for changes. Finally a bug was fixed which caused the strategy to |
| check the watched file's last change date on every invocation of its |
| reloadingRequired() method ignoring its refresh delay. Thanks to Jorge |
| Ferrer. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-62"> |
| Fixed a bug in the collaboration between XMLConfiguration and its |
| reloading strategy: The configuration did not check its reloading |
| strategy, so no reload was performed. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-119"> |
| Disabled auto save mode during PropertiesConfiguration.load(). Prior |
| it was possible that the properties file to be loaded was immideately |
| overwritten. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-89"> |
| Under certain circumstances it was possible that a reloading strategy |
| set for PropertiesConfiguration interferred with the save() method causing |
| the configuration file to be erased. This has now been fixed. |
| </action> |
| <action dev="oheger" type="update" due-to="Jamie M. Guillemette" issue="CONFIGURATION-94"> |
| AbstractFileConfiguration now stores the URL of the config file in the |
| load() methods. This URL is reused by the save() method to ensure that |
| the same file is written. |
| </action> |
| <action dev="ebourg" type="update" due-to="Alistair Young"> |
| XMLPropertiesConfiguration no longer depends on Digester to parse the |
| configuration file, it's now implemented with a pure SAX parser. |
| </action> |
| <action dev="oheger" type="update" due-to="Mi Zhang" issue="CONFIGURATION-49"> |
| Fixed a bug which causes XMLConfiguration.save to lose attribute values |
| under some circumstances. The clear() method now also ensures that the |
| associated DOM document is always cleared. |
| </action> |
| <action dev="ebourg" type="update" due-to="Kunihara Tetsuya" issue="CONFIGURATION-13"> |
| XMLConfiguration now parse the configuration using the encoding |
| declared in the XML header instead of the OS default encoding. |
| </action> |
| <action dev="ebourg" type="update" due-to="Zsolt Koppany"> |
| XMLConfiguration now uses the delimiter set by setDelimiter(char). |
| </action> |
| </release> |
| |
| <release version="1.1" date="2005-04-02"> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-134"> |
| Fixed a ConcurrentModificationException thrown when calling clear() |
| on a SubsetConfiguration applied to a BaseConfiguration. |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-81"> |
| The resolveContainerStore() method in AbstractConfiguration now works |
| properly with arrays of objects and arrays of primitives. This means |
| it is possible to store an array of value in the configuration and |
| retrieve the first element with the getString(), getInt()... methods. |
| </action> |
| </release> |
| |
| <release version="1.1-rc2" date="2005-03-06"> |
| <action dev="oheger" type="update" issue="CONFIGURATION-118"> |
| Updated documentation for FileConfiguration's load() methods. Fixed a |
| problem in XMLConfiguration with the output of the save() method when |
| multiple files were loaded. |
| </action> |
| <action dev="ebourg" type="update"> |
| Fixed a bug in FileChangedReloadingStrategy preventing the detection |
| of a file change in some cases. |
| </action> |
| <action dev="ebourg" type="update"> |
| Changed getXXXArray() and getXXXList() in DataConfiguration to return |
| an empty array/list for empty values. |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-58"> |
| Fixed getLongArray(), getFloatArray() and getDoubleArray() in DataConfiguration, |
| the values were cast into integers. |
| </action> |
| </release> |
| |
| <release version="1.1-rc1" date="2005-02-13"> |
| <action dev="oheger" type="add" issue="CONFIGURATION-88"> |
| ConfigurationFactory now always configures digester to use the context |
| classloader. This avoids problems in application server environments, |
| which use their own version of digester. Thanks to Mike Colbert for the |
| patch! |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-148"> |
| Added a new configuration, XMLPropertiesConfiguration, supporting the |
| new XML format for java.util.Properties introduced in Java 1.5. |
| A 1.5 runtime is not required to use this class. |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-190"> |
| Added a comment header to PropertiesConfiguration. The header is not |
| parsed when the file is loaded yet. |
| </action> |
| <action dev="ebourg" type="add"> |
| Added the setEncoding(String) and the getEncoding() methods to the |
| FileConfiguration interface to control the encoding of the |
| configuration file. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-210"> |
| Access to the top level element of the XML document is now provided. For |
| newly created configurations this element can be changed before the |
| document is written. |
| </action> |
| <action dev="oheger" type="update" issue="CONFIGURATION-168"> |
| Merged the two XML related configuration classes into one new class |
| XMLConfiguration. This new class should provide the best of its |
| ancestors. |
| </action> |
| <action dev="ebourg" type="update"> |
| Replaced the PropertyTokenizer inner class in AbstractConfiguration |
| with the split method in PropertyConverter. Also moved the method |
| building an iterator on the elements of a composite value in |
| PropertyConverter as toIterator(). |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-15"> |
| Some cleanup of the handling of the base path in file based configurations. |
| The base path is now always taken into account. |
| </action> |
| <action dev="ebourg" type="fix"> |
| Calling getProperties on a JNDIConfiguration no longer throws an |
| UnsupportedOperationException. |
| </action> |
| <action dev="ebourg" type="remove"> |
| Removed the getPropertyDirect method from AbstractConfiguration, |
| concrete configurations now implement directly the getProperty method |
| from the Configuration interface. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-187"> |
| Added implementation of a save() method for HierarchicalXMLConfiguration. |
| </action> |
| <action dev="ebourg" type="update"> |
| Constructing a file based configuration with a File no longer throws |
| an exception when the file doesn't exist. |
| </action> |
| <action dev="ebourg" type="add"> |
| Saving a configuration now creates the path to the file if it doesn't exist. |
| </action> |
| <action dev="ebourg" type="update" issue="CONFIGURATION-45"> |
| AbstractFileConfiguration.save(File) no longer fails silently when |
| an error occurs, a ConfigurationException is thrown instead. |
| </action> |
| <action dev="ebourg" type="fix"> |
| ConfigurationUtils.locate() now checks if the URL based resources exist. |
| This fixes a bug preventing configuration files from being found if |
| the configuration descriptor is in a JAR file (reported by Grant Ingersoll). |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-96"> |
| Fixed NPE that were caused in the constructors of file based |
| configurations if an invalid file name was specified. |
| </action> |
| <action dev="oheger" type="add" issue="CONFIGURATION-162"> |
| Added support for optional configuration sources in definition files for |
| ConfigurationFactory. A new optional attribute allows to specify whether a |
| configuration source is mandatory or optional. |
| </action> |
| <action dev="ebourg" type="fix"> |
| JNDIConfiguration.getKeys() now returns an empty iterator instead of |
| throwing a ConfigurationRuntimeException when a NamingException occurs. |
| The NamingExceptions are now logged. |
| </action> |
| <action dev="ebourg" type="fix"> |
| DatabaseConfiguration.isEmpty() now returns true if an SQLException occurs. |
| </action> |
| <action dev="ebourg" type="add"> |
| Added two methods copy(Configuration, Configuration) and |
| append(Configuration, Configuration) in ConfigurationUtils to copy |
| properties between configurations. |
| </action> |
| <action dev="ebourg" type="update"> |
| Moved the constructors implementations from PropertiesConfiguration and |
| XMLConfiguration to AbstractFileConfiguration. |
| </action> |
| <action dev="epugh" type="remove"> |
| Remove deprecated getVector() implementations. |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-147"> |
| File based configurations can now be automatically reloaded when the |
| underlying file is modified. |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-156"> |
| Added a clear() method to the Configuration interface to remove |
| all properties. |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-208"> |
| Added a SystemConfiguration wrapping the system properties. |
| ConfigurationFactory recognizes the corresponding <system/> |
| element. |
| </action> |
| <action dev="ebourg" type="add"> |
| Added a MapConfiguration to turn any Map into a Configuration. The |
| getConfiguration() methods in ConfigurationConverter now use |
| MapConfiguration, as a result the Configuration returned is always |
| synchronized with the underlying Properties or ExtendedProperties, |
| changes made to the Configuration are available in the Properties, |
| and reciprocally. |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-146"> |
| The "autoSave" feature of XMLConfiguration has been generalized |
| to all file based configurations. |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-191"> |
| Numeric properties can now be specified in hexadecimal format, |
| for example "number = 0xC5F0". |
| </action> |
| <action dev="oheger" type="fix" issue="CONFIGURATION-36"> |
| Fixed HierarchicalConfiguration.getKeys(String), it returned an empty |
| iterator if the prefix string contained indices. |
| </action> |
| <action dev="ebourg" type="add"> |
| Added a DataConfiguration decorator providing getters for all useful |
| types found in a configuration (URL, Locale, Date, Calendar, Color, |
| lists and arrays) |
| </action> |
| <action dev="ebourg" type="add"> |
| Added 5 new configurations to be used in a web environment: |
| AppletConfiguration, ServletConfiguration, ServletContextConfiguration, |
| ServletRequestConfiguration, ServletFilterConfiguration. |
| </action> |
| </release> |
| |
| <release version="1.0" date="2004-10-11" description="First official release"> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-66"> |
| The getStringArray() method in CompositeConfiguration now interpolates |
| the strings. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-23"> |
| 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="CONFIGURATION-90"> |
| 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="CONFIGURATION-22"> |
| Replaced the calls to Boolean.booleanValue(boolean) in |
| AbstractConfiguration and ConfigurationDynaBean to be Java 1.3 |
| compatible. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-112"> |
| 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 behavior on missing properties for the get methods that |
| return objects configurable. A property throwExceptionOnMissing |
| can be set and then the getters throw an NoSuchElementException. |
| The old default behavior of returning a null value has |
| been restored. |
| </action> |
| <action dev="epugh" type="add" issue="CONFIGURATION-151"> |
| 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="CONFIGURATION-132" due-to="Mark Woodman"> |
| Test cases for HierarchicalConfigurationXMLReader stores comments as text nodes. |
| </action> |
| <action dev="epugh" type="fix" issue="CONFIGURATION-183" 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="CONFIGURATION-25"> |
| Fixed a ClassCastException when adding a non String property to an XMLConfiguration. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-138" due-to="Oliver Heger"> |
| Fixed the handling of attribute properties by HierarchicalConfigurationConverter. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-125"> |
| 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 "drop-on" 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="CONFIGURATION-132" due-to="Oliver Heger"> |
| HierarchicalConfigurationXMLReader stores comments as text nodes. |
| </action> |
| <action dev="epugh" type="add" issue="CONFIGURATION-122" due-to="Ricardo Gladwell"> |
| project.xml contains bad dependencies. |
| </action> |
| <action dev="epugh" type="add" issue="CONFIGURATION-64" due-to="Brent Worden"> |
| clearXmlProperty doesn't remove list properties completely. |
| </action> |
| <action dev="epugh" type="add" issue="CONFIGURATION-183" due-to="Ricardo Gladwell"> |
| new ConfigurationDynaBean. |
| </action> |
| <action dev="epugh" type="add" issue="CONFIGURATION-185" due-to="Ricardo Gladwell"> |
| new ConfigurationMap and ConfigurationSet. |
| </action> |
| <action dev="epugh" type="fix" issue="CONFIGURATION-91" 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="CONFIGURATION-18"> |
| DatabaseConfiguration doesn't support List properties. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-137"> |
| Fixed a bug related to XMLConfiguration. Can't add a new property as an |
| attribute in XMLConfiguration. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-116"> |
| Fixed a bug related to XMLConfiguration. XMLConfiguration doesn't |
| support attribute names with a dot. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-4"> |
| Fixed a bug related to XMLConfiguration. XMLConfiguration doesn't ignore |
| comments. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-32"> |
| Fixed a bug related to XMLConfiguration. XMLConfiguration.save() doesn't |
| escape reserved characters. |
| </action> |
| <action dev="ebourg" type="add" issue="CONFIGURATION-114"> |
| Added save methods in XMLConfiguration similar to PropertiesConfiguration |
| to save the configuration to another file. |
| </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" issue="CONFIGURATION-98"> |
| List values are now properly stored as comma separated values in the |
| Properties object returned by ConfigurationConverter.getProperties() |
| </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" issue="CONFIGURATION-174"> |
| Tokens like ${ref} in a PropertyConfiguration are now properly saved. |
| </action> |
| <action dev="ebourg" type="fix" issue="CONFIGURATION-127"> |
| 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. |
| </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" issue="CONFIGURATION-76"> |
| Fixed invalid subsets 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" issue="CONFIGURATION-154"> |
| Enhancement: Configuration Comparator. |
| </action> |
| <action dev="epugh" type="update" issue="CONFIGURATION-54"> |
| 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: one table per configuration (2 colums |
| key/value), one table for multiple configurations (2 columns key/value + |
| 1 column for the name of the configuration). |
| </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"> |
| ClassPropertiesConfiguration Additions: |
| Use the classloader of class that is provided by the constructor. |
| Add a constructor that indicates whether to use relative or absolute. |
| Change getPropertyStream to utilize the relative or absolute flag. |
| Add a test case that checks that absolute paths work. |
| </action> |
| <action dev="epugh" type="fix"> |
| JNDIConfiguration.getKeys() Addition: |
| 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"> |
| CompositeConfiguration.getKeys() Fix |
| 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> |