Prepare for the next release candidate
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 040ae7a..6566fab 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -69,7 +69,7 @@
+ 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 1dbf9db..116f814 100644
--- a/README.md
+++ b/README.md
@@ -54,7 +54,7 @@
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.
+ LTS releases: 8, 11, 17, 21 and 25 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.
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 00d2d88..c8b809c 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -32,6 +32,89 @@
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, 21 and 25 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.
+o LANG-1792: TypeUtils.toString() skips angle brackets for Class type. Thanks to Mykhailo Hryb, Gary Gregory.
+o Mention JDK 25 LTS as a tested version in the release notes #1485. Thanks to Sebastian Peters, Gary Gregory.
+
+Changes:
+o Bump org.apache.commons:commons-parent from 88 to 92 #1472, #1484. 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
+
+-----------------------------------------------------------------------------
+
+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.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
diff --git a/pom.xml b/pom.xml
index 02f1854..dde09b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -157,7 +157,7 @@
<uberjar.name>benchmarks</uberjar.name>
<!-- Commons Release Plugin -->
<commons.bc.version>3.19.0</commons.bc.version>
- <commons.rc.version>RC1</commons.rc.version>
+ <commons.rc.version>RC2</commons.rc.version>
<commons.release.isDistModule>true</commons.release.isDistModule>
<commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/lang</commons.distSvnStagingUrl>
<!-- JaCoCo: Don't make code coverage worse than: -->
@@ -313,7 +313,6 @@
</plugin>
</plugins>
</build>
-
<reporting>
<plugins>
<plugin>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 3fa5fa3..ce2b5b0 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -44,7 +44,7 @@
<title>Apache Commons Lang Release Notes</title>
</properties>
<body>
- <release version="3.20.0" date="2025-11-10" description="This is a feature and maintenance release. Java 8 or later is required.">
+ <release version="3.20.0" date="2025-11-12" 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>