The 2 changes from RC1 are:

- LANG-1792: TypeUtils.toString() skips angle brackets for Class type.
Thanks to Mykhailo Hryb, Gary Gregory.
- Mention JDK 25 LTS as a tested version in the release notes #1485.
Thanks to Sebastian Peters, Gary Gregory.

We have fixed a few bugs and added enhancements since Apache Commons
Lang 3.19.0 was released, so I would like to release Apache Commons
Lang 3.20.0.

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

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

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

These are the artifacts and their hashes:

#Release SHA-512s
#Wed Nov 12 20:08:05 UTC 2025
commons-lang3-3.20.0-bin.tar.gz=eead2c04a85c85cfc83ef8a858f954e7abf668367d5a42e1152eb5d656eb8f4c1d5e7ad03f46859e99393e92b0d5fc69c927301c1a2ca466a3c49fb1f186ce89
commons-lang3-3.20.0-bin.zip=70ffad0ac141497684292853a3ae73759ede613530e6b088e0c880798d74ae432b52b8f4e8d9c1ccd981a4a7576a5b823ab4545c70085cc919267b75f15cafa5
commons-lang3-3.20.0-bom.json=8fc2045bdc690a8e6ec90c99fd380b0ca67b4fe2cd69c992960de4ea1f62f90e743f159043d08c063b50dea330f4eebdf1dfc08acc1b0325a118608c412e2dd3
commons-lang3-3.20.0-bom.xml=6247df43234a923bec6a0a7db1ac89a399ebdd6ea9af790277b094ba64549cd9a29df09a3bd3f0dbcd5f713005dc75e31e0dea19b5c2590c6d2a43dace5053e5
commons-lang3-3.20.0-javadoc.jar=e75a98ae455ed7c82dc2856d65e3ba081bbaac95630dc4f7f88969508a4e12ecaf7e7566601a17d81bd5dee9f832ffa5136a81a4126d1ecc619e14dfb2a1e43d
commons-lang3-3.20.0-sources.jar=82d1c8158a266a880207a8ac5cdbcdb0d316f53bba52d0b4e230005ebbd0713197ff476ad5703f6774b5bed3457c4af382f5de44fac7818ae668f85a94f2ad4a
commons-lang3-3.20.0-src.tar.gz=aebc40e4cccdaa56d6b9831e4928fde872c4accdc1e62cfe4dce937a285002eba6b01636051e52fd458116480b50ec824356c2b1534750d6ad477cbcff3d59bb
commons-lang3-3.20.0-src.zip=8119aee81ea7f8bdace78df52af73818416ee8402bf40ce7c41db979e0a40c0d1824aabe126f4a45700eb21918141579b5ddf36b78c7ca6b60e911a76fa0f930
commons-lang3-3.20.0-test-sources.jar=7d1721491ab71c7943dd6269159325d1ca4bbc3bb19dc4370f619cbe8287c0cda75e515c63f82f4d183416ae069be04522760b246c3bb69d30874b58e2fa0d7a
commons-lang3-3.20.0-tests.jar=ed66946619259c1a6380cb8374b7d5145a40c73b17dc5b5305733a795502e6adbfec3614bf125e1f1175efc7a5630ab3d03825a5a9709ad2c64ef7891ecd59c3
org.apache.commons_commons-lang3-3.20.0.spdx.json=27fcbd52db89a110cbd468ee21fbaef4bd514acc1b2fabf60fdd5074c4b013c1c3fe797d662a74e018c57fea22325bb2e78ef724fbdf995345c1d18b97b38eb1


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

openjdk version "25.0.1" 2025-10-21
OpenJDK Runtime Environment Homebrew (build 25.0.1)
OpenJDK 64-Bit Server VM Homebrew (build 25.0.1, mixed mode, sharing)

Apache Maven 3.9.11 (3e54c93a704957b63ee3494413a2b544fd3d825b)
Maven home: /opt/homebrew/Cellar/maven/3.9.11/libexec
Java version: 25.0.1, vendor: Homebrew, runtime:
/opt/homebrew/Cellar/openjdk/25.0.1/libexec/openjdk.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "15.7.2", arch: "aarch64", family: "mac"

Darwin ****-MacBook-Pro.local 24.6.0 Darwin Kernel Version 24.6.0: Wed
Oct 15 21:12:15 PDT 2025;
root:xnu-11417.140.69.703.14~1/RELEASE_ARM64_T6041 arm64

Docker version 28.4.0, build d8eb465


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

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

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

RAT Report:
    
https://dist.apache.org/repos/dist/dev/commons/lang/3.20.0-RC2/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.20.0-RC2/source

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

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

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

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