We have fixed a few bugs and added enhancements since the release of
Apache Commons Lang 3.20.0, so I would like to release Apache Commons
Lang 3.21.0.

Apache Commons Lang 3.21.0 RC1 is available for review here:
    https://dist.apache.org/repos/dist/dev/commons/lang/3.21.0-RC1
(svn revision 87792)

The Git tag commons-lang-3.21.0-RC1 commit for this RC is
e9e546b0c442b55418fce822737f6f9a0dd292f1, which you can browse here:
    
https://gitbox.apache.org/repos/asf?p=commons-lang.git;a=commit;h=e9e546b0c442b55418fce822737f6f9a0dd292f1
You may checkout this tag using:
    git clone https://gitbox.apache.org/repos/asf/commons-lang.git
--branch commons-lang-3.21.0-RC1 commons-lang-3.21.0-RC1

Maven artifacts are here:
    
https://repository.apache.org/content/repositories/orgapachecommons-1965/org/apache/commons/commons-lang3/3.21.0/

These are the artifacts and their hashes:

#Release SHA-512s
#Tue Sep 22 12:22:44 UTC 2026
commons-lang3-3.21.0-bin.tar.gz=6a081b8e73c818708cafc33a3cb85b316a70315ae71219e2a6f870043934cfd16686f66c740cb10d671f4eaa6277bd1bb16dc893d495ca684c0642faf931f3c3
commons-lang3-3.21.0-bin.zip=43ef924d857a2f3991235ddd84a251e4bbdb1245d0b926625794161e71dcffbbc5844c1e9c23e7da4eed9da24c9d1e032a7f79620ab70bc9d1bbb2b598fe34f9
commons-lang3-3.21.0-bom.json=ee343340e34e6493f0f18f5cd5a3f5b1030231613afc4b781b90f2e084b448114cd7fe5915b4bf8b0ece5ba477ddc4b085cd440389ee01ee95188a237415616c
commons-lang3-3.21.0-bom.xml=3665535f645ee227012b6a3d594e16d1e643d04357cb73fce70472e11b790b32ce75835d94dde9427c8c227092953bbd5e9aac722363884febe6757ddff1d875
commons-lang3-3.21.0-javadoc.jar=3db2e407b39c9557159f5293b06181724db324090c02e1499895fad8c9bd092ff91ad4d9ef52c79519809c9ca08ed5bd4fac72f2c3e53681b21c3ce871ebad98
commons-lang3-3.21.0-sources.jar=366230321cb2aeff70ef84c0dd301ce7c7ffaa0e56c69a7c385475779467a4771509337767082006e2e2a0a8c19a353b7a16a5e935bd780a8c789058aceed8db
commons-lang3-3.21.0-src.tar.gz=cbc0fad7c211da65bdc65ff6ca4ec10eb357be16c6d0c403bd97df5ec91ff52eb6f53ce02d6561ddccf01fffdd1c694ad2b420e208b273db502c4305512aefee
commons-lang3-3.21.0-src.zip=43330d0c34114b7b2c8e1aa65149f9dcc4c4b7fcd763eb5d616853a59f7f5c7bd9ce6750f67374c401e9ebcb714e9125bfb8352eca6ec90ca114689ff0ea7dec
commons-lang3-3.21.0-test-sources.jar=2a7049d5866efd152cd5c2b3ccb347c123eb831a0f2c85b75ad570b1862cd1794dc0947aafb49d75e38616f06d6e7934ac5db90c6d6c3fe2fc588aeb9f44bb22
commons-lang3-3.21.0-tests.jar=c458be473d3f968c388adef0474fb102fc7603cb4a9468a58cf6258aa69641fdd3b53158c96678d7e54821efde5d482c128d10a4432727fde839cf2809b0b55e
org.apache.commons_commons-lang3-3.21.0.spdx.json=e7e78f7d2628b77c125bb52420e8103883fd158294d95afe880337728b1f35476ece66f4050da0cdcaae362ff3fcd065995b36ecc9472347a29ffceea2c56306


I have tested this with 'mvn' and 'mvn clean install site' using:

openjdk version "25.0.4.1" 2026-08-18
OpenJDK Runtime Environment Homebrew (build 25.0.4.1)
OpenJDK 64-Bit Server VM Homebrew (build 25.0.4.1, mixed mode, sharing)

Apache Maven 3.9.16 (2bdd9fddda4b155ebf8000e807eb73fd829a51d5)
Maven home: /opt/homebrew/Cellar/maven/3.9.16/libexec
Java version: 25.0.4.1, vendor: Homebrew, runtime:
/opt/homebrew/Cellar/openjdk@25/25.0.4.1/libexec/openjdk.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "26.7", arch: "aarch64", family: "mac"

Darwin Garys-MacBook-Pro.local 25.6.0 Darwin Kernel Version 25.6.0:
Tue Aug 18 17:48:46 PDT 2026;
root:xnu-12377.161.15.700.19~2/RELEASE_ARM64_T6041 arm64

Docker version 29.8.0, build 88096ef

I also tested a snapshot build with all Commons components that depend on Lang.

Details of changes since 3.20.0 are in the release notes:
    
https://dist.apache.org/repos/dist/dev/commons/lang/3.21.0-RC1/RELEASE-NOTES.txt
    
https://dist.apache.org/repos/dist/dev/commons/lang/3.21.0-RC1/site/changes.html

Site:
    
https://dist.apache.org/repos/dist/dev/commons/lang/3.21.0-RC1/site/index.html
    (Note some *relative* links are broken and the 3.21.0 directories
are not yet created - these will be OK once the site is deployed.)

 JApiCmp Report (compared to 3.20.0):
    
https://dist.apache.org/repos/dist/dev/commons/lang/3.21.0-RC1/site/japicmp.html

RAT Report:
    
https://dist.apache.org/repos/dist/dev/commons/lang/3.21.0-RC1/site/rat-report.html

KEYS:
  https://downloads.apache.org/commons/KEYS

Please review the release candidate and vote.
This vote will close no sooner than 72 hours from now.

  [ ] +1 Release these artifacts
  [ ] +0 OK, but...
  [ ] -0 OK, but really should fix...
  [ ] -1 I oppose this release because...

Thank you,

Gary Gregory,
Release Manager (using key 530AA5F25C25011F)

The following is intended as a helper and refresher for reviewers.

Validating a release candidate
==============================

These guidelines are NOT complete.

Requirements: Git, Java, and Maven.

You can validate a release from a release candidate (RC) tag as follows.

1a) Download and decompress the source archive from:

https://dist.apache.org/repos/dist/dev/commons/lang/3.21.0-RC1/source

1b) Check out the RC tag from git (optional)

This is optional,  as a reviewer must at least check source distributions.

git clone https://gitbox.apache.org/repos/asf/commons-lang.git
--branch commons-lang-3.21.0-RC1 commons-lang-3.21.0-RC1
cd commons-lang-3.21.0-RC1

2) Checking the build

All components should include a default Maven goal, such that you can
run 'mvn' from the command line by itself.

2) Check Apache licenses

This step is not required if the site includes a RAT report page,
which you then must check.
This check should be included in the default Maven build, but you can
check it with:

mvn apache-rat:check

3) Check binary compatibility

This step is not required if the site includes a JApiCmp report page,
which you then must check.
This check should be included in the default Maven build, but you can
check it with:

mvn verify -DskipTests -P japicmp japicmp:cmp

4) Build the package

This check should be included in the default Maven build, but you can
check it with:

mvn -V clean package

You can record the Maven and Java version produced by -V in your VOTE reply.
To gather OS information from a command line:
Windows: ver
Linux: uname -a

4b) Check reproducibility

To check that a build is reproducible, run:

mvn clean verify artifact:compare -DskipTests
-Dreference.repo=https://repository.apache.org/content/repositories/staging/
'-Dbuildinfo.ignore=*/*.spdx.json'

Note that this excludes SPDX files from the check.

5) Build the site for a single module project

Note: Some plugins require the components to be installed instead of packaged.

mvn site
Check the site reports in:
- Windows: target\site\index.html
- Linux: target/site/index.html

-the end-

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to