release: 2.12.0 updates
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 21cf36a..11b3fa1 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,7 +6,7 @@
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
- https://www.apache.org/licenses/LICENSE-2.0
+ 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,
@@ -60,21 +60,18 @@
--------------
+ Create a _topic branch_ for your isolated work.
- * Usually you should base your branch from the `master` branch.
- * A good topic branch name can be the JIRA bug ID plus a keyword, for example, `CONFIGURATION-123-InputStream`.
+ * Usually you should base your branch on the `master` branch.
+ * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. `CONFIGURATION-123-InputStream`.
* If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests.
+ Make commits of logical units.
* Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue.
- * For example, `[CONFIGURATION-123] Close input stream earlier`
+ * e.g. `CONFIGURATION-123: Close input stream earlier`
+ Respect the original code style:
- + Only use spaces for indentation; you can check for unnecessary whitespace with `git diff` before committing.
+ + Only use spaces for indentation.
+ Create minimal diffs - disable _On Save_ actions like _Reformat Source Code_ or _Organize Imports_. If you feel the source code should be reformatted create a separate PR for this change first.
-+ Write unit tests that match behavioral changes, where the tests fail if the changes to the runtime are not applied. This may not always be possible but is a best-practice.
-Unit tests are typically in the `src/test/java` directory.
-+ Run a successful build using the default [Maven](https://maven.apache.org/) goal with `mvn`; that's `mvn` on the command line by itself.
-+ Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
-+ Each commit in the pull request should have a meaningful subject line and body. Note that commits might be squashed by a maintainer on merge.
-
+ + Check for unnecessary whitespace with `git diff` -- check before committing.
++ Make sure you have added the necessary tests for your changes, typically in `src/test/java`.
++ Run all the tests with `mvn clean verify` to ensure nothing else was accidentally broken.
Making Trivial Changes
----------------------
@@ -82,7 +79,7 @@
The JIRA tickets are used to generate the changelog for the next release.
For changes of a trivial nature to comments and documentation, it is not always necessary to create a new ticket in JIRA.
-In this case, it is appropriate to start the first line of a commit with '[doc]' or '[javadoc]' instead of a ticket number.
+In this case, it is appropriate to start the first line of a commit with '(doc)' instead of a ticket number.
Submitting Changes
diff --git a/README.md b/README.md
index 18cd94b..7fd3d17 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@
[](https://github.com/apache/commons-configuration/actions/workflows/maven.yml)
[](https://search.maven.org/artifact/org.apache.commons/commons-configuration2)
-[](https://javadoc.io/doc/org.apache.commons/commons-configuration2/2.11.0)
+[](https://javadoc.io/doc/org.apache.commons/commons-configuration2/2.12.0)
[](https://github.com/apache/commons-configuration/actions/workflows/codeql-analysis.yml)
[](https://api.securityscorecards.dev/projects/github.com/apache/commons-configuration)
@@ -62,20 +62,20 @@
--------------------------
You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-configuration/download_configuration.cgi).
-Alternatively, you can pull it from the central Maven repositories:
+Alternatively, you can pull it from the central Maven repositories:
```xml
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-configuration2</artifactId>
- <version>2.11.0</version>
+ <version>2.12.0</version>
</dependency>
```
Building
--------
-Building requires a Java JDK and [Apache Maven](https://maven.apache.org/).
+Building requires a Java JDK and [Apache Maven](https://maven.apache.org/).
The required Java version is found in the `pom.xml` as the `maven.compiler.source` property.
From a command shell, run `mvn` without arguments to invoke the default Maven goal to run all tests and checks.
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index d4eb5bc..801c008 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,4 +1,74 @@
Apache Commons Configuration
+Version 2.12.0
+Release Notes
+
+Introducing Apache Commons Configuration
+----------------------------------------
+
+This document contains the release notes for this version of the Commons
+Configuration component. It describes the changes since the previous version.
+The Commons Configuration software library provides a generic configuration
+interface which enables an application to read configuration data from a variety
+of sources.
+
+Tools to assist in the reading of configuration/preferences files in various formats; requires Java 8.
+
+Minor release with new features and updated dependencies; requires Java 8 or above.
+
+Changes in this version include:
+
+New features:
+o Add PrefixedKeysIterator.toString() to package-private PrefixedKeysIterator. Thanks to Gary Gregory.
+o New web configurations using the jakarta.servlet namespace are now available Issue: CONFIGURATION-836. Thanks to Emmanuel Bourg.
+o Add org.apache.commons.configuration2.web.JakartaServletConfiguration. Issue: CONFIGURATION-836. Thanks to Emmanuel Bourg.
+o Add org.apache.commons.configuration2.web.JakartaServletContextConfiguration. Issue: CONFIGURATION-836. Thanks to Emmanuel Bourg.
+o Add org.apache.commons.configuration2.web.JakartaServletFilterConfiguration. Issue: CONFIGURATION-836. Thanks to Emmanuel Bourg.
+o Add org.apache.commons.configuration2.web.JakartaServletRequestConfiguration. Issue: CONFIGURATION-836. Thanks to Emmanuel Bourg.
+o Add org.apache.commons.configuration2.AbstractHierarchicalConfiguration.getKeysInternal(String, String). Thanks to Gary Gregory.
+
+Fixed Bugs:
+o PropertyConverter.to(Class, Object, DefaultConversionHandler) doesn't convert custom java.lang.Number subclasses. Thanks to Gary Gregory.
+o DefaultConversionHandler.convertValue(Object, Class, ConfigurationInterpolator) doesn't convert custom java.lang.Number subclasses. Thanks to Gary Gregory.
+o DefaultConversionHandler.to(Object, Class, ConfigurationInterpolator) doesn't convert custom java.lang.Number subclasses. Thanks to Gary Gregory.
+o SubsetConfiguration does not account for delimiters as it did in 2.9.0. Issue: CONFIGURATION-848. Thanks to Laszlo Hujber, Gary Gregory.
+o CompositeConfiguration does not account for delimiters as it did in 2.9.0. Issue: CONFIGURATION-848. Thanks to Laszlo Hujber, Gary Gregory.
+o Describe the security model #540. Thanks to Arnout Engelen, Gary Gregory.
+o De-emphasize the 1.x version line on the website #539. Thanks to Arnout Engelen, Gary Gregory.
+o HomeDirectoryLocationStrategy no longer resolves the user HOME directory correctly. Issue: CONFIGURATION-851. Thanks to Scott Babcock, Gary Gregory.
+
+Changes:
+o Bump org.apache.commons:commons-parent from 70 to 81 #434, #453, #466, #470, #479, #486, #491, #499, #537. Thanks to Gary Gregory, Dependabot.
+o Bump commons-logging:commons-logging from 1.3.2 to 1.3.5 #442, #467. Thanks to Gary Gregory, Dependabot.
+o Bump com.fasterxml.jackson.core:jackson-databind from 2.17.1 to 2.18.3 #447, #483, #518. Thanks to Gary Gregory, Dependabot.
+o Bump commons-codec:commons-codec from 1.17.0 to 1.18.0 #449, #533. Thanks to Gary Gregory, Dependabot.
+o Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 #450, #458, #471. Thanks to Gary Gregory, Dependabot.
+o Bump slf4j.version from 2.0.13 to 2.0.17 #457, #462, #464, #549. Thanks to Gary Gregory, Dependabot.
+o Bump spring.version from 5.3.35 to 5.3.39. Thanks to Gary Gregory.
+o Bump org.yaml:snakeyaml from 2.2 to 2.4 #473. Thanks to Gary Gregory, Dependabot.
+o Bump log4j.version from 2.23.1 to 2.24.3 #475, #486, #514, #519. Thanks to Gary Gregory, Dependabot.
+o Bump commons-io:commons-io from 2.16.1 to 2.19.0 #480, #513. Thanks to Gary Gregory, Dependabot.
+o Bump org.apache.commons:commons-dbcp2 from 2.12.0 to 2.13.0 #515. Thanks to Gary Gregory, Dependabot.
+o Bump org.apache.commons:commons-text from 1.12.0 to 1.13.1 #521. Thanks to Gary Gregory, Dependabot.
+o Bump commons-beanutils:commons-beanutils from 1.9.4 to 1.10.1. Thanks to Gary Gregory.
+o Bump org.apache.commons:commons-pool2 from 2.12.0 to 2.12.1 #532. Thanks to Gary Gregory, Dependabot.
+o Bump org.dbunit:dbunit from 2.8.0 to 3.0.0 #534. Thanks to Gary Gregory, Dependabot.
+o Bump org.apache.commons:commons-vfs2 from 2.9.0 to 2.10.0. Thanks to Gary Gregory, Dependabot.
+
+
+Have fun!
+-Apache Commons Configuration team
+
+Historical list of changes: https://commons.apache.org/proper/commons-configuration/changes-report.html
+
+For complete information on Apache Commons Configuration, including instructions on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Apache Commons Configuration website:
+
+https://commons.apache.org/proper/commons-configuration/
+
+Download it from https://commons.apache.org/proper/commons-configuration//download_configuration.cgi
+
+-----------------------------------------------------------------------------
+Apache Commons Configuration
Version 2.11.0
Release Notes
diff --git a/pom.xml b/pom.xml
index 355582d..4d07959 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>commons-configuration2</artifactId>
- <version>2.12.0-SNAPSHOT</version>
+ <version>2.12.0</version>
<name>Apache Commons Configuration</name>
<inceptionYear>2001</inceptionYear>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 53fa6cc..a3e74a8 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -23,7 +23,7 @@
<author email="dev@commons.apache.org">Apache Commons Community</author>
</properties>
<body>
- <release version="2.12.0" date="YYYY-MM-DD" description="This is a feature and maintenance release. Java 8 or later is required.">
+ <release version="2.12.0" date="2025-04-22" description="This is a feature and maintenance release. Java 8 or later is required.">
<!-- FIX -->
<action type="fix" dev="ggregory" due-to="Gary Gregory">PropertyConverter.to(Class, Object, DefaultConversionHandler) doesn't convert custom java.lang.Number subclasses.</action>
<action type="fix" dev="ggregory" due-to="Gary Gregory">DefaultConversionHandler.convertValue(Object, Class, ConfigurationInterpolator) doesn't convert custom java.lang.Number subclasses.</action>
diff --git a/src/site/xdoc/download_configuration.xml b/src/site/xdoc/download_configuration.xml
index a1f80a0..c7ec99a 100644
--- a/src/site/xdoc/download_configuration.xml
+++ b/src/site/xdoc/download_configuration.xml
@@ -115,32 +115,32 @@
</p>
</subsection>
</section>
- <section name="Apache Commons Configuration 2.11.0 (Java 8 or above)">
+ <section name="Apache Commons Configuration 2.12.0 (Java 8 or above)">
<subsection name="Binaries">
<table>
<tr>
- <td><a href="[preferred]/commons/configuration/binaries/commons-configuration2-2.11.0-bin.tar.gz">commons-configuration2-2.11.0-bin.tar.gz</a></td>
- <td><a href="https://downloads.apache.org/commons/configuration/binaries/commons-configuration2-2.11.0-bin.tar.gz.sha512">sha512</a></td>
- <td><a href="https://downloads.apache.org/commons/configuration/binaries/commons-configuration2-2.11.0-bin.tar.gz.asc">pgp</a></td>
+ <td><a href="[preferred]/commons/configuration/binaries/commons-configuration2-2.12.0-bin.tar.gz">commons-configuration2-2.12.0-bin.tar.gz</a></td>
+ <td><a href="https://downloads.apache.org/commons/configuration/binaries/commons-configuration2-2.12.0-bin.tar.gz.sha512">sha512</a></td>
+ <td><a href="https://downloads.apache.org/commons/configuration/binaries/commons-configuration2-2.12.0-bin.tar.gz.asc">pgp</a></td>
</tr>
<tr>
- <td><a href="[preferred]/commons/configuration/binaries/commons-configuration2-2.11.0-bin.zip">commons-configuration2-2.11.0-bin.zip</a></td>
- <td><a href="https://downloads.apache.org/commons/configuration/binaries/commons-configuration2-2.11.0-bin.zip.sha512">sha512</a></td>
- <td><a href="https://downloads.apache.org/commons/configuration/binaries/commons-configuration2-2.11.0-bin.zip.asc">pgp</a></td>
+ <td><a href="[preferred]/commons/configuration/binaries/commons-configuration2-2.12.0-bin.zip">commons-configuration2-2.12.0-bin.zip</a></td>
+ <td><a href="https://downloads.apache.org/commons/configuration/binaries/commons-configuration2-2.12.0-bin.zip.sha512">sha512</a></td>
+ <td><a href="https://downloads.apache.org/commons/configuration/binaries/commons-configuration2-2.12.0-bin.zip.asc">pgp</a></td>
</tr>
</table>
</subsection>
<subsection name="Source">
<table>
<tr>
- <td><a href="[preferred]/commons/configuration/source/commons-configuration2-2.11.0-src.tar.gz">commons-configuration2-2.11.0-src.tar.gz</a></td>
- <td><a href="https://downloads.apache.org/commons/configuration/source/commons-configuration2-2.11.0-src.tar.gz.sha512">sha512</a></td>
- <td><a href="https://downloads.apache.org/commons/configuration/source/commons-configuration2-2.11.0-src.tar.gz.asc">pgp</a></td>
+ <td><a href="[preferred]/commons/configuration/source/commons-configuration2-2.12.0-src.tar.gz">commons-configuration2-2.12.0-src.tar.gz</a></td>
+ <td><a href="https://downloads.apache.org/commons/configuration/source/commons-configuration2-2.12.0-src.tar.gz.sha512">sha512</a></td>
+ <td><a href="https://downloads.apache.org/commons/configuration/source/commons-configuration2-2.12.0-src.tar.gz.asc">pgp</a></td>
</tr>
<tr>
- <td><a href="[preferred]/commons/configuration/source/commons-configuration2-2.11.0-src.zip">commons-configuration2-2.11.0-src.zip</a></td>
- <td><a href="https://downloads.apache.org/commons/configuration/source/commons-configuration2-2.11.0-src.zip.sha512">sha512</a></td>
- <td><a href="https://downloads.apache.org/commons/configuration/source/commons-configuration2-2.11.0-src.zip.asc">pgp</a></td>
+ <td><a href="[preferred]/commons/configuration/source/commons-configuration2-2.12.0-src.zip">commons-configuration2-2.12.0-src.zip</a></td>
+ <td><a href="https://downloads.apache.org/commons/configuration/source/commons-configuration2-2.12.0-src.zip.sha512">sha512</a></td>
+ <td><a href="https://downloads.apache.org/commons/configuration/source/commons-configuration2-2.12.0-src.zip.asc">pgp</a></td>
</tr>
</table>
</subsection>
diff --git a/src/site/xdoc/issue-tracking.xml b/src/site/xdoc/issue-tracking.xml
index 7052ce8..3c1ac48 100644
--- a/src/site/xdoc/issue-tracking.xml
+++ b/src/site/xdoc/issue-tracking.xml
@@ -7,7 +7,7 @@
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
- https://www.apache.org/licenses/LICENSE-2.0
+ 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,
@@ -41,12 +41,10 @@
| |
+======================================================================+
-->
-<document xmlns="http://maven.apache.org/XDOC/2.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
+<document>
<properties>
<title>Apache Commons Configuration Issue tracking</title>
- <author email="dev@commons.apache.org">Apache Commons Team</author>
+ <author email="dev@commons.apache.org">Apache Commons Documentation Team</author>
</properties>
<body>
@@ -66,7 +64,6 @@
<p>
If you would like to report a bug, or raise an enhancement request with
Apache Commons Configuration please do the following:
- </p>
<ol>
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=12310467&sorter/field=issuekey&sorter/order=DESC&status=1&status=3&status=4">Search existing open bugs</a>.
If you find your issue listed then please add a comment with your details.</li>
@@ -76,15 +73,16 @@
<li>Submit either a <a href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310467&issuetype=1&priority=4&assignee=-1">bug report</a>
or <a href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310467&issuetype=4&priority=4&assignee=-1">enhancement request</a>.</li>
</ol>
+ </p>
<p>
Please also remember these points:
- </p>
<ul>
<li>the more information you provide, the better we can help you</li>
<li>test cases are vital, particularly for any proposed enhancements</li>
<li>the developers of Apache Commons Configuration are all unpaid volunteers</li>
</ul>
+ </p>
<p>
For more information on creating patches see the
@@ -93,12 +91,12 @@
<p>
You may also find these links useful:
- </p>
<ul>
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=12310467&sorter/field=issuekey&sorter/order=DESC&status=1&status=3&status=4">All Open Apache Commons Configuration bugs</a></li>
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=12310467&sorter/field=issuekey&sorter/order=DESC&status=5&status=6">All Resolved Apache Commons Configuration bugs</a></li>
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=12310467&sorter/field=issuekey&sorter/order=DESC">All Apache Commons Configuration bugs</a></li>
</ul>
+ </p>
</section>
</body>
</document>
diff --git a/src/site/xdoc/mail-lists.xml b/src/site/xdoc/mail-lists.xml
index 4a34d79..9dc5b09 100644
--- a/src/site/xdoc/mail-lists.xml
+++ b/src/site/xdoc/mail-lists.xml
@@ -7,7 +7,7 @@
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
- https://www.apache.org/licenses/LICENSE-2.0
+ 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,
@@ -39,12 +39,10 @@
| |
+======================================================================+
-->
-<document xmlns="http://maven.apache.org/XDOC/2.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
+<document>
<properties>
<title>Apache Commons Configuration Mailing Lists</title>
- <author email="dev@commons.apache.org">Apache Commons Team</author>
+ <author email="dev@commons.apache.org">Apache Commons Documentation Team</author>
</properties>
<body>
@@ -55,10 +53,10 @@
To make it easier for people to only read messages related to components they are interested in,
the convention in Commons is to prefix the subject line of messages with the component's name,
for example:
+ <ul>
+ <li>[configuration] Problem with the ...</li>
+ </ul>
</p>
- <ul>
- <li>[configuration] Problem with the ...</li>
- </ul>
<p>
Questions related to the usage of Apache Commons Configuration should be posted to the
<a href="https://lists.apache.org/list.html?user@commons.apache.org">User List</a>.