This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch POOL_2_X
in repository https://gitbox.apache.org/repos/asf/commons-pool.git


The following commit(s) were added to refs/heads/POOL_2_X by this push:
     new f9a5b907 Prepare for the next release candidate
f9a5b907 is described below

commit f9a5b9072e60ddccf9cdfdf2848f5f005e1608bf
Author: Gary Gregory <[email protected]>
AuthorDate: Sat Dec 6 03:09:26 2025 +0000

    Prepare for the next release candidate
---
 CONTRIBUTING.md                  |  4 +--
 README.md                        |  8 ++---
 RELEASE-NOTES.txt                | 67 ++++++++++++++++++++++++++++++++++++++++
 pom.xml                          |  2 +-
 src/changes/changes.xml          |  2 +-
 src/changes/release-notes.vm     |  2 +-
 src/site/xdoc/download_pool.xml  | 30 +++++++++---------
 src/site/xdoc/issue-tracking.xml |  2 +-
 src/site/xdoc/mail-lists.xml     |  2 +-
 9 files changed, 93 insertions(+), 26 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 5a1eaea7..07b40c5a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -61,11 +61,11 @@ Making Changes
 
 + 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, `POOL-123-InputStream`.
+  * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. 
`POOL-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, `[POOL-123] Close input stream earlier`
+  * For example, `[POOL-123] Close input stream sooner`
 + Respect the original code style:
   + Only use spaces for indentation; you can check for unnecessary whitespace 
with `git diff` before committing.
   + 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.
diff --git a/README.md b/README.md
index b33d81f6..55b5c12b 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@ Apache Commons Pool
 
 [![Java 
CI](https://github.com/apache/commons-pool/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-pool/actions/workflows/maven.yml)
 [![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-pool2?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-pool2)
-[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-pool2/2.12.1.svg)](https://javadoc.io/doc/org.apache.commons/commons-pool2/2.12.1)
+[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-pool2/2.13.0.svg)](https://javadoc.io/doc/org.apache.commons/commons-pool2/2.13.0)
 
[![CodeQL](https://github.com/apache/commons-pool/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-pool/actions/workflows/codeql-analysis.yml)
 [![OpenSSF 
Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-pool/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-pool)
 
@@ -68,7 +68,7 @@ Alternatively, you can pull it from the central Maven 
repositories:
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-pool2</artifactId>
-  <version>2.12.1</version>
+  <version>2.13.0</version>
 </dependency>
 ```
 
@@ -89,8 +89,8 @@ There are some guidelines which will make applying PRs easier 
for us:
 + Respect the existing code style for each file.
 + 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.
 + Provide JUnit tests for your changes and make sure your changes don't break 
any existing tests by running `mvn`.
-+ Before you pushing a PR, run `mvn` (by itself), this runs the default goal, 
which contains all build checks.
-+ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false`
++ Before you push a PR, run `mvn` (without arguments). This runs the default 
goal which contains all build checks.
++ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco`
 
 If you plan to contribute on a regular basis, please consider filing a 
[contributor license agreement](https://www.apache.org/licenses/#clas).
 You can learn more about contributing via GitHub in our [contribution 
guidelines](CONTRIBUTING.md).
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index d6f0f2f7..b1a27677 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,3 +1,70 @@
+Apache Commons Pool 2.13.0 Release Notes
+----------------------------------------
+
+The Apache Commons Pool team is pleased to announce the release of Apache 
Commons Pool 2.13.0.
+
+Apache Commons Pool provides an object-pooling API and several object-pool 
implementations.
+Version 2 contains a completely rewritten pooling implementation compared to 
the 1.x series.
+In addition to performance and scalability improvements, version 2 includes 
robust instance
+tracking and pool monitoring.
+
+Version 2.7.x and up requires Java 8 or above.
+Version 2.6.x requires Java 7 or above.
+Version 2.5.x requires Java 7 or above.
+Version 2.0 requires 6 or above. 
+
+NOTE: The MBean interfaces (DefaultPooledObjectInfoMBean, 
GenericKeyedObjectPoolMXBean,
+      and GenericKeyedObjectPoolMXBean) exist only to define the attributes 
and methods
+      that will be made available via JMX. Clients must not implement them as
+      they are subject to change between major, minor, and patch version 
releases of
+      Commons Pool. Clients that implement any of these interfaces may not
+      be able to upgrade to a new minor or patch release without requiring code
+      changes.
+
+${d}
+
+Changes in version 2.13.0 include:
+
+New features:
+o            Add org.apache.commons.pool2.PooledObject.nonNull(PooledObject). 
Thanks to Gary Gregory.
+o            Add 
org.apache.commons.pool2.PooledObject.getObject(PooledObject). Thanks to Gary 
Gregory.
+o            Made statistics collection optional in BaseGenericObjectPool 
#429. Thanks to Pratyay, Gary Gregory.
+
+Fixed Bugs:
+o POOL-424:  GenericObjectPool.invalidateObject() can leave other threads 
waiting to borrow hanging.
+             The fix for this issue changes behavior of invalidateObject.  
This method now always tries to add a new instance
+             to the pool to replace the invalidated and destroyed instance.  
As a result of this change, abandoned object
+             removal now attemps to replace abandoned objects. Thanks to 
Steven Adams.
+o POOL-425:  GenericObjectPool addObject does not respect maxIdle.
+o POOL-350:  Make placement of calls to GKOP reuseCapacity configurable.
+o POOL-290:  TestSoftRefOutOfMemory (unit test) can loop infinitely on 
failure. Thanks to Serge Angelov.
+o POOL-419:  GenericObjectPool counters and object collections can be 
corrupted when returnObject and invalidate are invoked concurrently by client 
threads on the same pooled object. Thanks to Raju Gupta, Phil Steitz.
+o POOL-421:  GenericObjectPool addObject should return immediately when there 
is no capacity to add. Thanks to Phil Steitz.
+o POOL-420:  The maximum wait time for GenericKeyedObjectPool.borrowObject(*) 
may exceed configured maximum wait time. This is the same issue as POOL-418, 
but for GKOP.
+             Also included in this fix is a change to addObject that prevents 
it from waiting for capacity to create. That method now returns immediately 
when there is no capcity to add to the pool under the given key. Thanks to Phil 
Steitz.
+o            Remove -nouses directive from maven-bundle-plugin. OSGi package 
imports now state 'uses' definitions for package imports, this doesn't affect 
JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.
+o POOL-418:  The maximum wait time for GenericObjectPool.borrowObject(*) may 
exceed expectations due to a spurious thread wakeup.
+             The remaining duration was incorrectly calculated and the method 
did not end up waiting long enough.
+             Recompute the remaining duration an additional time when we block 
when exhausted. Thanks to Gary Gregory.
+o            Fix site link from the About page to the Download page, see also 
#387. Thanks to Wei Guo, Gary Gregory.
+o            Operation on the "idleHighWaterMark" shared variable in 
"ErodingFactor" class is not atomic 
[org.apache.commons.pool2.PoolUtils$ErodingFactor] At PoolUtils.java:[line 98] 
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE. Thanks to Gary Gregory.
+o            org.apache.commons.pool2.impl.GenericObjectPool.create(Duration) 
should normalize a negative duration to zero. Thanks to Gary Gregory.
+o            Fix potential ConcurrentModificationException in EvictionTimer 
thread clean-up. Thanks to Coverity Scan.
+o            Fix potential ConcurrentModificationException in EvictionTimer 
tasks. Thanks to Coverity Scan.
+
+Changes:
+o            Bump org.apache.commons:commons-parent from 79 to 93. Thanks to 
Gary Gregory.
+o            [test] Bump commons-lang3 from 3.17.0 to 3.20.0. Thanks to Gary 
Gregory.
+
+
+For complete information on Apache Commons Pool, including instructions on how 
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Pool website:
+
+https://commons.apache.org/proper/commons-pool/
+
+Download page: https://commons.apache.org/proper/commons-pool/download_pool.cgi
+
+-----------------------------------------------------------------------------------------------
 Apache Commons Pool 2.12.1 Release Notes
 ----------------------------------------
 
diff --git a/pom.xml b/pom.xml
index c45c77ce..dfa7da97 100644
--- a/pom.xml
+++ b/pom.xml
@@ -88,7 +88,7 @@
     <commons.release.branch>release-2.x</commons.release.branch>
     <commons.componentid>pool</commons.componentid>
     <commons.module.name>org.apache.commons.pool2</commons.module.name>
-    <commons.rc.version>RC3</commons.rc.version>
+    <commons.rc.version>RC1</commons.rc.version>
     
<checkstyle.suppress.file>${basedir}/src/conf/checkstyle-suppressions.xml</checkstyle.suppress.file>
     <!-- Java 8 -->
     <commons.release.version>2.13.0</commons.release.version>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 3d3ab180..18aed084 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -45,7 +45,7 @@ The <action> type attribute can be add,update,fix,remove.
     <title>Apache Commons Pool Release Notes</title>
   </properties>
   <body>
-  <release version="2.13.0" date="YYYY-MM-DD" description="This is a feature 
and maintenance release. Java 8 or later is required.">
+  <release version="2.13.0" date="2025-12-06" description="This is a feature 
and maintenance release. Java 8 or later is required.">
     <!-- FIX -->
     <action type="fix" issue="POOL-424" dev="psteitz" due-to="Steven 
Adams">GenericObjectPool.invalidateObject() can leave other threads waiting to 
borrow hanging.
        The fix for this issue changes behavior of invalidateObject.  This 
method now always tries to add a new instance
diff --git a/src/changes/release-notes.vm b/src/changes/release-notes.vm
index d13be39c..74667386 100644
--- a/src/changes/release-notes.vm
+++ b/src/changes/release-notes.vm
@@ -15,7 +15,7 @@
 ## specific language governing permissions and limitations
 ## under the License.
 ${project.name} ${version} Release Notes
-------------------------------------------------
+----------------------------------------
 
 The ${developmentTeam} is pleased to announce the release of ${project.name} 
${version}.
 
diff --git a/src/site/xdoc/download_pool.xml b/src/site/xdoc/download_pool.xml
index b42d0968..089ce449 100644
--- a/src/site/xdoc/download_pool.xml
+++ b/src/site/xdoc/download_pool.xml
@@ -58,7 +58,7 @@ limitations under the License.
 -->
 <document xmlns="http://maven.apache.org/XDOC/2.0";
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="https://maven.apache.org/XDOC/2.0 
https://maven.apache.org/xsd/xdoc-2.0.xsd";>
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 
https://maven.apache.org/xsd/xdoc-2.0.xsd";>
   <properties>
     <title>Download Apache Commons Pool</title>
     <author email="[email protected]">Apache Commons Team</author>
@@ -81,7 +81,7 @@ limitations under the License.
         mirrors (at the end of the mirrors list) that should be
         available.
         <br></br>
-        [if-any logo]<a href="[link]"><img align="right" src="[logo]" 
border="0"></img></a>[end]
+        [if-any logo]<a href="[link]"><img align="right" src="[logo]" 
border="0" alt="Logo"></img></a>[end]
       </p>
 
       <form action="[location]" method="get" id="SelectMirror">
@@ -115,32 +115,32 @@ limitations under the License.
       </p>
     </subsection>
     </section>
-    <section name="Apache Commons Pool 2.12.1 (Java 8 or above)">
+    <section name="Apache Commons Pool 2.13.0 (Java 8 or above)">
       <subsection name="Binaries">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/pool/binaries/commons-pool2-2.12.1-bin.tar.gz">commons-pool2-2.12.1-bin.tar.gz</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/pool/binaries/commons-pool2-2.12.1-bin.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/pool/binaries/commons-pool2-2.12.1-bin.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/pool/binaries/commons-pool2-2.13.0-bin.tar.gz">commons-pool2-2.13.0-bin.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/pool/binaries/commons-pool2-2.13.0-bin.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/pool/binaries/commons-pool2-2.13.0-bin.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/pool/binaries/commons-pool2-2.12.1-bin.zip">commons-pool2-2.12.1-bin.zip</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/pool/binaries/commons-pool2-2.12.1-bin.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/pool/binaries/commons-pool2-2.12.1-bin.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/pool/binaries/commons-pool2-2.13.0-bin.zip">commons-pool2-2.13.0-bin.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/pool/binaries/commons-pool2-2.13.0-bin.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/pool/binaries/commons-pool2-2.13.0-bin.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
       <subsection name="Source">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/pool/source/commons-pool2-2.12.1-src.tar.gz">commons-pool2-2.12.1-src.tar.gz</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/pool/source/commons-pool2-2.12.1-src.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/pool/source/commons-pool2-2.12.1-src.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/pool/source/commons-pool2-2.13.0-src.tar.gz">commons-pool2-2.13.0-src.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/pool/source/commons-pool2-2.13.0-src.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/pool/source/commons-pool2-2.13.0-src.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/pool/source/commons-pool2-2.12.1-src.zip">commons-pool2-2.12.1-src.zip</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/pool/source/commons-pool2-2.12.1-src.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/pool/source/commons-pool2-2.12.1-src.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/pool/source/commons-pool2-2.13.0-src.zip">commons-pool2-2.13.0-src.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/pool/source/commons-pool2-2.13.0-src.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/pool/source/commons-pool2-2.13.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 8d4bad32..ee99de56 100644
--- a/src/site/xdoc/issue-tracking.xml
+++ b/src/site/xdoc/issue-tracking.xml
@@ -43,7 +43,7 @@ limitations under the License.
 -->
 <document xmlns="http://maven.apache.org/XDOC/2.0";
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="https://maven.apache.org/XDOC/2.0 
https://maven.apache.org/xsd/xdoc-2.0.xsd";>
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 
https://maven.apache.org/xsd/xdoc-2.0.xsd";>
   <properties>
     <title>Apache Commons Pool Issue tracking</title>
     <author email="[email protected]">Apache Commons Team</author>
diff --git a/src/site/xdoc/mail-lists.xml b/src/site/xdoc/mail-lists.xml
index c1af08d2..59156542 100644
--- a/src/site/xdoc/mail-lists.xml
+++ b/src/site/xdoc/mail-lists.xml
@@ -41,7 +41,7 @@ limitations under the License.
 -->
 <document xmlns="http://maven.apache.org/XDOC/2.0";
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="https://maven.apache.org/XDOC/2.0 
https://maven.apache.org/xsd/xdoc-2.0.xsd";>
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 
https://maven.apache.org/xsd/xdoc-2.0.xsd";>
   <properties>
     <title>Apache Commons Pool Mailing Lists</title>
     <author email="[email protected]">Apache Commons Team</author>

Reply via email to