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

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

commit 2b254908077f7fab15d90b6c9e97cd3b74e39adf
Author: Gary Gregory <[email protected]>
AuthorDate: Mon Nov 10 23:43:17 2025 +0000

    Prepare for the next release candidate
---
 CONTRIBUTING.md                 |  2 +-
 README.md                       |  4 +-
 RELEASE-NOTES.txt               | 81 +++++++++++++++++++++++++++++++++--------
 src/changes/changes.xml         |  2 +-
 src/changes/release-notes.vm    |  2 +-
 src/site/xdoc/download_lang.xml | 26 ++++++-------
 6 files changed, 84 insertions(+), 33 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6566faba6..040ae7a3e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -69,7 +69,7 @@ Making Changes
 + 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.
-+ 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.
++ 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.
diff --git a/README.md b/README.md
index 111077f1b..1dbf9db97 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@ Apache Commons Lang
 
 [![Java 
CI](https://github.com/apache/commons-lang/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-lang/actions/workflows/maven.yml)
 [![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-lang3?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-lang3)
-[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-lang3/3.19.0.svg)](https://javadoc.io/doc/org.apache.commons/commons-lang3/3.19.0)
+[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-lang3/3.20.0.svg)](https://javadoc.io/doc/org.apache.commons/commons-lang3/3.20.0)
 
[![CodeQL](https://github.com/apache/commons-lang/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-lang/actions/workflows/codeql-analysis.yml)
 [![OpenSSF 
Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-lang/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-lang)
 
@@ -76,7 +76,7 @@ Alternatively, you can pull it from the central Maven 
repositories:
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-lang3</artifactId>
-  <version>3.19.0</version>
+  <version>3.20.0</version>
 </dependency>
 ```
 
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 81b2266a6..cf0e51314 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -14,6 +14,72 @@ 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.
 
+Apache Commons Lang 3.20.0 Release Notes
+----------------------------------------
+
+The Apache Commons Lang team is pleased to announce the release of Apache 
Commons Lang 3.20.0.
+
+Commons Lang is a set of utility functions and reusable components that should 
be useful in any Java environment.
+
+Starting with Commons Lang 3.9, we target Java 8, using those features.
+
+For advice on upgrading from 2.x to 3.x, see:
+
+    https://commons.apache.org/lang/article3_0.html
+
+Apache Commons Lang, a package of Java utility classes for the
+classes that are in java.lang's hierarchy, or are considered to be so
+standard as to justify existence in java.lang.
+
+The code is tested using the latest revision of the JDK for supported
+LTS releases: 8, 11, 17 and 21 currently.
+See 
https://github.com/apache/commons-lang/blob/master/.github/workflows/maven.yml
+
+Please ensure your build environment is up-to-date and kindly report any build 
issues.
+
+This is a feature and maintenance release. Java 8 or later is required.
+
+Changes in this version include:
+
+New features:
+o            Add SystemProperties.getPath(String, Supplier<Path>). Thanks to 
Gary Gregory.
+o            Add JavaVersion.JAVA_25. Thanks to Gary Gregory.
+o            Add JavaVersion.JAVA_26. Thanks to Gary Gregory.
+o            Add SystemUtils.IS_JAVA_25. Thanks to Gary Gregory.
+o            Add SystemUtils.IS_JAVA_26. Thanks to Gary Gregory.
+o            Add MutablePair.ofNonNull(Map.Entry). Thanks to jack5505, Gary 
Gregory.
+o            Add TimedSemaphore.builder(), Builder, and deprecate 
constructors. Thanks to Gary Gregory.
+o LANG-1504: Adding labels and history to split StopWatch #1473. Thanks to 
Edwin Delgado H, Gary Gregory.
+
+Fixed Bugs:
+o            Optimize ObjectToStringComparator.compare() method #1449. Thanks 
to mayuming, Gary Gregory.
+o            [javadoc] Improve StringUtils Javadoc #1450. Thanks to 
Marcono1234, Gary Gregory.
+o            Fix internal inverted logic in private isEnum() method and 
correct its usage in getFirstEnum() #1454. Thanks to mayuming, Gary Gregory.
+o            Use accessors in ToStringStyle so subclasses can effectively 
override them. Thanks to William Degrange, Gary Gregory, Rob Spoor.
+o            `LocaleUtils.toLocale(String)` for a 2 letter country code now 
returns a value instead of throwing an `IllegalArgumentException`. Thanks to 
jack5505, Gary Gregory.
+o            Fix typo in StringUtils.trunctate() IllegalArgumentException 
message and test assertion messages. Thanks to mayuming, Gary Gregory.
+o            Fix test fixture in 
ReflectionDiffBuilderTest.testTransientFieldDifference() #1464. Thanks to 
mayuming, Gary Gregory.
+o LANG-1789: NullPointerException when generating NoSuchMethodException in 
MethodUtils. Thanks to Hylke van der Schaaf, Gary Gregory.
+o LANG-1786: Map deprecated TimeZone short IDs and avoid JRE WARNINGs to the 
console #1483. Thanks to Daniel Migowski, Gary Gregory, Lenny Primak.
+
+Changes:
+o            Bump org.apache.commons:commons-parent from 88 to 91 #1472. 
Thanks to Gary Gregory, Dependabot.
+
+
+Historical list of changes: 
https://commons.apache.org/proper/commons-lang/changes.html
+
+For complete information on Apache Commons Lang, including instructions on how 
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons Lang website:
+
+https://commons.apache.org/proper/commons-lang/
+
+Download page: https://commons.apache.org/proper/commons-lang/download_lang.cgi
+
+Have fun!
+Apache Commons Team
+
+-----------------------------------------------------------------------------
+
 Apache Commons Lang 3.19.0 Release Notes
 ----------------------------------------
 
@@ -140,21 +206,6 @@ Apache Commons Team
 
 -----------------------------------------------------------------------------
 
-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
-
-https://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.
-
 Apache Commons Lang 3.18.0 Release Notes
 ----------------------------------------
 
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 875ba4d9b..3a7d05624 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -44,7 +44,7 @@ The <action> type attribute can be add,update,fix,remove.
     <title>Apache Commons Lang Release Notes</title>
   </properties>
   <body>
-  <release version="3.20.0" date="YYYY-MM-DD" description="This is a feature 
and maintenance release. Java 8 or later is required.">
+  <release version="3.20.0" date="2025-11-10" description="This is a feature 
and maintenance release. Java 8 or later is required.">
     <!-- FIX -->
     <action                   type="fix" dev="ggregory" due-to="mayuming, Gary 
Gregory">Optimize ObjectToStringComparator.compare() method #1449.</action>
     <action                   type="fix" dev="ggregory" due-to="Marcono1234, 
Gary Gregory">[javadoc] Improve StringUtils Javadoc #1450.</action>
diff --git a/src/changes/release-notes.vm b/src/changes/release-notes.vm
index 16d5fb567..811694322 100644
--- a/src/changes/release-notes.vm
+++ b/src/changes/release-notes.vm
@@ -32,7 +32,7 @@ See the License for the 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_lang.xml b/src/site/xdoc/download_lang.xml
index 24ca64275..c10d85b82 100644
--- a/src/site/xdoc/download_lang.xml
+++ b/src/site/xdoc/download_lang.xml
@@ -115,32 +115,32 @@ limitations under the License.
       </p>
     </subsection>
     </section>
-    <section name="Apache Commons Lang 3.19.0 (Java 8+)">
+    <section name="Apache Commons Lang 3.20.0 (Java 8+)">
       <subsection name="Binaries">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/lang/binaries/commons-lang3-3.19.0-bin.tar.gz">commons-lang3-3.19.0-bin.tar.gz</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.19.0-bin.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.19.0-bin.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/lang/binaries/commons-lang3-3.20.0-bin.tar.gz">commons-lang3-3.20.0-bin.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.20.0-bin.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.20.0-bin.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/lang/binaries/commons-lang3-3.19.0-bin.zip">commons-lang3-3.19.0-bin.zip</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.19.0-bin.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.19.0-bin.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/lang/binaries/commons-lang3-3.20.0-bin.zip">commons-lang3-3.20.0-bin.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.20.0-bin.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/lang/binaries/commons-lang3-3.20.0-bin.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
       <subsection name="Source">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/lang/source/commons-lang3-3.19.0-src.tar.gz">commons-lang3-3.19.0-src.tar.gz</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.19.0-src.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.19.0-src.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/lang/source/commons-lang3-3.20.0-src.tar.gz">commons-lang3-3.20.0-src.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.20.0-src.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.20.0-src.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/lang/source/commons-lang3-3.19.0-src.zip">commons-lang3-3.19.0-src.zip</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.19.0-src.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.19.0-src.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/lang/source/commons-lang3-3.20.0-src.zip">commons-lang3-3.20.0-src.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.20.0-src.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/lang/source/commons-lang3-3.20.0-src.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>

Reply via email to