We have fixed quite a few bugs and added some significant enhancements
since Apache Commons RNG 1.4 was released, so I would like to release
Apache Commons RNG 1.5.
Apache Commons RNG 1.5 RC1 is available for review here:
https://dist.apache.org/repos/dist/dev/commons/rng/1.5-RC1 (svn
revision 57177)
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/
The Git tag commit for this RC is commons-rng-1.5-RC1 which you can browse
here:
https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=commit;h=commons-rng-1.5-RC1
You may checkout this tag using:
git clone https://gitbox.apache.org/repos/asf/commons-rng.git --branch
commons-rng-1.5-RC1 commons-rng-1.5-RC1
(signature can be checked from git using 'git tag -v commons-rng-1.5-RC1')
Maven artifacts are here:
https://repository.apache.org/content/repositories/orgapachecommons-1596/org/apache/commons/
These are the artifacts and their hashes:
#Release SHA-512s
#Tue Oct 04 13:00:24 BST 2022
commons-rng-1.5-bin.tar.gz=9e98092cb123a1873cc4ab05ebd87681b9f5fe171ad53cd00488c33e0ab2c7fb8a0bdd9c903a3bde7bc2e4f4035b07cf223b0d921e35d00fcea226ec16f86b5c
commons-rng-1.5-bin.zip=ad01629da0ef089641c4a7a8fed8e2dd9f1ed0fec3e9cc6fd19df22e0516bc8c1a4699a8d2104b5878a13ad9fbec724b85ca0a71c1e3027673cbcab8a5911b30
commons-rng-1.5-src.tar.gz=7fdfcd9ee43ac51f73eb6781d8fae7f313bf20658af84383ff791779def56c690458b99f2e996ce7fec8588db3218f23eea6dc6c2ff7d692f4209b78eb4b4dd8
commons-rng-1.5-src.zip=e1624601d449eecca660839b592c4deb7386ef77a09d613002e8220149f244cbb5bc70c08100fe27eb0d448efea7aef8ac1ebe26f416d846ba3bccd4f43d82e5
Signatures may be validated on a system supporting a bash unix shell by
executing:
svn co https://dist.apache.org/repos/dist/dev/commons/rng/1.5-RC1/
cd 1.5-RC1
chmod +x ./signature-validator.sh
for m in client-api core simple sampling bom; do
./signature-validator.sh
https://repository.apache.org/content/repositories/orgapachecommons-1596/org/apache/commons/commons-rng-${m}/1.5/;
done
The source code contains examples that are not part of the public API.
These examples contain Java 11 modules and are enabled using a profile (see
below).
Note: Testing randomness using statistical thresholds results in failures
at a given probability. The 'maven-surefire-plugin' is configured to re-run
tests that fail, and pass the build if they succeed within the allotted
number of reruns (the test will be marked as 'flaky' in the report).
I have tested this with 'mvn clean install' using:
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: /usr/local/apache-maven-3
Java version: 1.8.0_333, vendor: Oracle Corporation, runtime:
/usr/lib/jvm/jdk1.8.0_333/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-193-generic", arch: "amd64", family:
"unix"
I have tested this with 'mvn clean package site site:stage
-Pcommons-rng-examples' using:
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: /usr/local/apache-maven-3
Java version: 11.0.16, vendor: Ubuntu, runtime:
/usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-193-generic", arch: "amd64", family:
"unix"
Details of changes since 1.4 are in the release notes:
https://dist.apache.org/repos/dist/dev/commons/rng/1.5-RC1/RELEASE-NOTES.txt
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/changes-report.html
Site:
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/index.html
(note some *relative* links are broken and the 1.5 directories are not
yet created - these will be OK once the site is deployed.)
JApiCmp Report (compared to 1.4):
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/commons-rng-client-api/japicmp.html
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/commons-rng-core/japicmp.html
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/commons-rng-simple/japicmp.html
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/commons-rng-sampling/japicmp.html
RevApi Report (compared to 1.4):
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/commons-rng-client-api/revapi-report.html
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/commons-rng-core/revapi-report.html
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/commons-rng-simple/revapi-report.html
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/commons-rng-sampling/revapi-report.html
RAT Report:
https://home.apache.org/~aherbert/commons-rng-1.5-RC1-site/rat-report.html
KEYS:
https://www.apache.org/dist/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,
Alex Herbert,
Release Manager (using key BC87A3FD0A54480F0BADBEBD21939FF0CA2A6567)
The following is intended as a helper and refresher for reviewers.
Validating a release candidate
==============================
These guidelines are NOT complete.
Requirements: Git, Java, Maven.
You can validate a release from a release candidate (RC) tag as follows.
1) Extract the .tar.gz or .zip source archive from the release artifacts.
unzip commons-rng-1.5-src.zip
cd commons-rng-1.5-src
Alternatively clone and checkout the RC tag
git clone https://gitbox.apache.org/repos/asf/commons-rng.git --branch
commons-rng-1.5-RC1 commons-rng-1.5-RC1
cd commons-rng-1.5-RC1
2) Check Apache licenses
This step is not required if the site includes a RAT report page which you
then must check.
mvn apache-rat:check
3) Check binary compatibility
Newer components use JApiCmp with the japicmp Maven Profile:
This step is not required if the site includes a JApiCmp report page which
you then must check.
mvn install -DskipTests -P japicmp japicmp:cmp
4) Build the package
mvn -V clean verify
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
5) Build the site for a multi-module project
mvn package site site:stage
Check the site reports in:
- Windows: target\site\index.html
- Linux: target/site/index.html
-the end-