This is an automated email from the ASF dual-hosted git repository. aherbert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-rng.git
commit 9ba0f3d89ecdb39cb7cb257eb0e6110c1406c7ff Author: aherbert <aherb...@apache.org> AuthorDate: Mon Sep 13 11:20:43 2021 +0100 Retrieve 1.4 release details from the release branch --- RELEASE-NOTES.txt | 105 +++++++++++++++++++++ src/changes/changes.xml | 32 ++++++- .../resources/release-notes/RELEASE-NOTES-1.4.txt | 105 +++++++++++++++++++++ src/site/xdoc/download_rng.xml | 28 +++--- src/site/xdoc/release-history.xml | 3 + 5 files changed, 258 insertions(+), 15 deletions(-) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 167a288..3e5b3a7 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,4 +1,109 @@ + Apache Commons RNG 1.4 RELEASE NOTES + +The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.4 + +The Apache Commons RNG project provides pure-Java implementation +of pseudo-random generators. + +This is a minor release of Apache Commons RNG, containing a +few new features and performance improvements. + +Apache Commons RNG 1.4 contains the following library modules: + commons-rng-client-api (requires Java 8) + commons-rng-core (requires Java 8) + commons-rng-simple (requires Java 8) + commons-rng-sampling (requires Java 8) + +The code in module 'commons-rng-core' should not be accessed +directly by applications as a future release might make use of +the JPMS modularization feature available in Java 11+. + +Additional code is provided in the following modules: + commons-rng-examples-quadrature (requires Java 8) + commons-rng-examples-jmh (requires Java 8) + commons-rng-examples-sampling (requires Java 8) + commons-rng-examples-stress (requires Java 8) + commons-rng-examples-jpms (requires Java 11) + +It is however not part of the official API and no compatibility +should be expected in subsequent releases. + +It must be noted that, due to the nature of random number generation, some unit tests +are bound to fail with some 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). + +Changes in this version include: + +New features: +o RNG-156: New "DirichletSampler" class to sample from a Dirichlet distribution. +o RNG-137: New "StableSampler" class to sample from a stable distribution. +o RNG-138: New "CompositeSamplers" class to sample from a weighted combination of samplers. +o RNG-140: New "LongSampler" interface for sampling a long. New "UniformLongSampler" to sample + from a range. +o RNG-151: New "ZigguratSampler" implementation of the modified "Ziggurat" algorithm for + Gaussian and exponential sampling. +o RNG-147: New "LevySampler" to sample from a Levy distribution. +o RNG-145: "ContinuousUniformSampler": Add optional support for an open interval: (lower, upper). +o RNG-143: "RandomSource": Add an instance create method. Deprecate the static create method. +o RNG-136: New "ObjectSampler<T>" and "SharedStateObjectSampler<T>" interfaces. + These interfaces are implemented by samplers returning an object. + This changes the functional compatibility of existing samplers that implement + SharedStatedSampler<R>: CollectionSampler<T>; CombinationSampler; + DiscreteProbabilityCollectionSampler<T>; PermutationSampler; and UnitSphereSampler. + The method signature of the SharedStateSampler<R> interface remains + 'public R withUniformRandomProvider(UniformRandomProvider)'. The result can still be + assigned to an instance of the same class R; it can no longer be assigned to an instance + of SharedStatedSampler<R>. It can now be assigned to SharedStateObjectSampler<T> + which can be used to generate samples of type <T>. + Code that assigned to SharedStatedSampler<R> should be updated. +o RNG-135: New "TetrahedronSampler" to sample uniformly from a tetrahedron. +o RNG-134: New "BoxSampler" to sample uniformly from a box (or hyperrectangle). +o RNG-133: New "LineSampler" to sample uniformly on a line segment. +o RNG-131: New "TriangleSampler" to sample uniformly from a triangle. +o RNG-132: New "o.a.c.rng.sampling.shape" package for sampling coordinates from shapes. +o RNG-128: New "UnitBallSampler" to generate coordinates uniformly within an n-unit ball. +o RNG-126: "PoissonSamplerCache": Method to return a SharedStateDiscreteSampler. +o RNG-124: Add fixed increment versions of the PCG generators. + +Fixed Bugs: +o RNG-159: "ZigguratSampler.NormalizedGaussian": Corrected biased sampling within convex regions + at the edge of the ziggurat. +o RNG-146: "GaussianSampler": Prevent infinite mean and standard deviation. +o RNG-144: "AhrensDieterExponentialSampler": Avoid possible infinite loop during sampling if the + underlying UniformRandomProvider creates a zero for the uniform deviate. +o RNG-130: "UnitSphereSampler": Fix 1 dimension sampling to only return vectors containing 1 or -1. + +Changes: +o RNG-163: Update test suite to JUnit 5. +o Simplify assertions with simpler equivalent. Thanks to Arturo Bernal. +o RNG-162: Update the minimum Java version to 1.8. +o RNG-160: "ZigguratSampler.NormalizedGaussian": Performance improvement by extracting ziggurat + edge sampling to a separate method. +o RNG-157: "UnitSphereSampler": Deprecate public constructor. Use the factory constructor to create + an optimal sampler. +o RNG-155: "ZigguratNormalizedGaussianSampler": Update to a table size of 256. +o RNG-152: Update samplers to use ZigguratSampler.NormalizedGaussian for Gaussian deviates. +o RNG-154: Update Gaussian samplers to avoid infinity in the tails of the distribution. Applies + to: ZigguratNormalisedGaussianSampler; BoxMullerNormalizedGaussianSampler; and + BoxMullerGaussianSampler. +o RNG-153: "UnitBallSampler": Update to use the ZigguratSampler for an exponential deviate for + ball point picking. +o RNG-150: Update "LargeMeanPoissonSampler" and "GeometricSampler" to use the ZigguratSampler for + exponential deviates. +o RNG-129: "UnitSphereSampler": Improve performance with specialisations for low order dimensions. + Added a factory constructor to create the sampler. + + +For complete information on Apache Commons RNG, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Commons RNG website: + +https://commons.apache.org/proper/commons-rng/ + + +============================================================================= + Apache Commons RNG 1.3 RELEASE NOTES The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.3 diff --git a/src/changes/changes.xml b/src/changes/changes.xml index ed12355..0becee6 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -53,7 +53,37 @@ If the output is not quite correct, check for invisible trailing spaces! </properties> <body> - <release version="1.4" date="TBD" description=" + <release version="1.5" date="TBD" description=" +This is a minor release of Apache Commons RNG, containing a +few new features and performance improvements. +Apache Commons RNG 1.4 contains the following library modules: + commons-rng-client-api (requires Java 8) + commons-rng-core (requires Java 8) + commons-rng-simple (requires Java 8) + commons-rng-sampling (requires Java 8) +The code in module 'commons-rng-core' should not be accessed +directly by applications as a future release might make use of +the JPMS modularization feature available in Java 11+. + +Additional code is provided in the following modules: + commons-rng-examples-quadrature (requires Java 8) + commons-rng-examples-jmh (requires Java 8) + commons-rng-examples-sampling (requires Java 8) + commons-rng-examples-stress (requires Java 8) + commons-rng-examples-jpms (requires Java 11) +It is however not part of the official API and no compatibility +should be expected in subsequent releases. + +It must be noted that, due to the nature of random number +generation, some unit tests are bound to fail with some +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). +"> +</release> + + <release version="1.4" date="2021-09-13" description=" This is a minor release of Apache Commons RNG, containing a few new features and performance improvements. Apache Commons RNG 1.4 contains the following library modules: diff --git a/RELEASE-NOTES.txt b/src/site/resources/release-notes/RELEASE-NOTES-1.4.txt similarity index 72% copy from RELEASE-NOTES.txt copy to src/site/resources/release-notes/RELEASE-NOTES-1.4.txt index 167a288..3e5b3a7 100644 --- a/RELEASE-NOTES.txt +++ b/src/site/resources/release-notes/RELEASE-NOTES-1.4.txt @@ -1,4 +1,109 @@ + Apache Commons RNG 1.4 RELEASE NOTES + +The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.4 + +The Apache Commons RNG project provides pure-Java implementation +of pseudo-random generators. + +This is a minor release of Apache Commons RNG, containing a +few new features and performance improvements. + +Apache Commons RNG 1.4 contains the following library modules: + commons-rng-client-api (requires Java 8) + commons-rng-core (requires Java 8) + commons-rng-simple (requires Java 8) + commons-rng-sampling (requires Java 8) + +The code in module 'commons-rng-core' should not be accessed +directly by applications as a future release might make use of +the JPMS modularization feature available in Java 11+. + +Additional code is provided in the following modules: + commons-rng-examples-quadrature (requires Java 8) + commons-rng-examples-jmh (requires Java 8) + commons-rng-examples-sampling (requires Java 8) + commons-rng-examples-stress (requires Java 8) + commons-rng-examples-jpms (requires Java 11) + +It is however not part of the official API and no compatibility +should be expected in subsequent releases. + +It must be noted that, due to the nature of random number generation, some unit tests +are bound to fail with some 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). + +Changes in this version include: + +New features: +o RNG-156: New "DirichletSampler" class to sample from a Dirichlet distribution. +o RNG-137: New "StableSampler" class to sample from a stable distribution. +o RNG-138: New "CompositeSamplers" class to sample from a weighted combination of samplers. +o RNG-140: New "LongSampler" interface for sampling a long. New "UniformLongSampler" to sample + from a range. +o RNG-151: New "ZigguratSampler" implementation of the modified "Ziggurat" algorithm for + Gaussian and exponential sampling. +o RNG-147: New "LevySampler" to sample from a Levy distribution. +o RNG-145: "ContinuousUniformSampler": Add optional support for an open interval: (lower, upper). +o RNG-143: "RandomSource": Add an instance create method. Deprecate the static create method. +o RNG-136: New "ObjectSampler<T>" and "SharedStateObjectSampler<T>" interfaces. + These interfaces are implemented by samplers returning an object. + This changes the functional compatibility of existing samplers that implement + SharedStatedSampler<R>: CollectionSampler<T>; CombinationSampler; + DiscreteProbabilityCollectionSampler<T>; PermutationSampler; and UnitSphereSampler. + The method signature of the SharedStateSampler<R> interface remains + 'public R withUniformRandomProvider(UniformRandomProvider)'. The result can still be + assigned to an instance of the same class R; it can no longer be assigned to an instance + of SharedStatedSampler<R>. It can now be assigned to SharedStateObjectSampler<T> + which can be used to generate samples of type <T>. + Code that assigned to SharedStatedSampler<R> should be updated. +o RNG-135: New "TetrahedronSampler" to sample uniformly from a tetrahedron. +o RNG-134: New "BoxSampler" to sample uniformly from a box (or hyperrectangle). +o RNG-133: New "LineSampler" to sample uniformly on a line segment. +o RNG-131: New "TriangleSampler" to sample uniformly from a triangle. +o RNG-132: New "o.a.c.rng.sampling.shape" package for sampling coordinates from shapes. +o RNG-128: New "UnitBallSampler" to generate coordinates uniformly within an n-unit ball. +o RNG-126: "PoissonSamplerCache": Method to return a SharedStateDiscreteSampler. +o RNG-124: Add fixed increment versions of the PCG generators. + +Fixed Bugs: +o RNG-159: "ZigguratSampler.NormalizedGaussian": Corrected biased sampling within convex regions + at the edge of the ziggurat. +o RNG-146: "GaussianSampler": Prevent infinite mean and standard deviation. +o RNG-144: "AhrensDieterExponentialSampler": Avoid possible infinite loop during sampling if the + underlying UniformRandomProvider creates a zero for the uniform deviate. +o RNG-130: "UnitSphereSampler": Fix 1 dimension sampling to only return vectors containing 1 or -1. + +Changes: +o RNG-163: Update test suite to JUnit 5. +o Simplify assertions with simpler equivalent. Thanks to Arturo Bernal. +o RNG-162: Update the minimum Java version to 1.8. +o RNG-160: "ZigguratSampler.NormalizedGaussian": Performance improvement by extracting ziggurat + edge sampling to a separate method. +o RNG-157: "UnitSphereSampler": Deprecate public constructor. Use the factory constructor to create + an optimal sampler. +o RNG-155: "ZigguratNormalizedGaussianSampler": Update to a table size of 256. +o RNG-152: Update samplers to use ZigguratSampler.NormalizedGaussian for Gaussian deviates. +o RNG-154: Update Gaussian samplers to avoid infinity in the tails of the distribution. Applies + to: ZigguratNormalisedGaussianSampler; BoxMullerNormalizedGaussianSampler; and + BoxMullerGaussianSampler. +o RNG-153: "UnitBallSampler": Update to use the ZigguratSampler for an exponential deviate for + ball point picking. +o RNG-150: Update "LargeMeanPoissonSampler" and "GeometricSampler" to use the ZigguratSampler for + exponential deviates. +o RNG-129: "UnitSphereSampler": Improve performance with specialisations for low order dimensions. + Added a factory constructor to create the sampler. + + +For complete information on Apache Commons RNG, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Commons RNG website: + +https://commons.apache.org/proper/commons-rng/ + + +============================================================================= + Apache Commons RNG 1.3 RELEASE NOTES The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.3 diff --git a/src/site/xdoc/download_rng.xml b/src/site/xdoc/download_rng.xml index 7c6630f..cf764a2 100644 --- a/src/site/xdoc/download_rng.xml +++ b/src/site/xdoc/download_rng.xml @@ -51,7 +51,7 @@ limitations under the License. | | | <properties> | | <commons.componentid>math</commons.componentid> | - | <commons.release.version>1.3</commons.release.version> | + | <commons.release.version>1.2</commons.release.version> | | </properties> | | | +======================================================================+ @@ -113,32 +113,32 @@ limitations under the License. </p> </subsection> </section> - <section name="Apache Commons RNG 1.3 (requires Java 6+)"> + <section name="Apache Commons RNG 1.4 (requires Java 8+)"> <subsection name="Binaries"> <table> <tr> - <td><a href="[preferred]/commons/rng/binaries/commons-rng-1.3-bin.tar.gz">commons-rng-1.3-bin.tar.gz</a></td> - <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.3-bin.tar.gz.sha512">sha512</a></td> - <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.3-bin.tar.gz.asc">pgp</a></td> + <td><a href="[preferred]/commons/rng/binaries/commons-rng-1.4-bin.tar.gz">commons-rng-1.4-bin.tar.gz</a></td> + <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.4-bin.tar.gz.sha512">sha512</a></td> + <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.4-bin.tar.gz.asc">pgp</a></td> </tr> <tr> - <td><a href="[preferred]/commons/rng/binaries/commons-rng-1.3-bin.zip">commons-rng-1.3-bin.zip</a></td> - <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.3-bin.zip.sha512">sha512</a></td> - <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.3-bin.zip.asc">pgp</a></td> + <td><a href="[preferred]/commons/rng/binaries/commons-rng-1.4-bin.zip">commons-rng-1.4-bin.zip</a></td> + <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.4-bin.zip.sha512">sha512</a></td> + <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.4-bin.zip.asc">pgp</a></td> </tr> </table> </subsection> <subsection name="Source"> <table> <tr> - <td><a href="[preferred]/commons/rng/source/commons-rng-1.3-src.tar.gz">commons-rng-1.3-src.tar.gz</a></td> - <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.3-src.tar.gz.sha512">sha512</a></td> - <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.3-src.tar.gz.asc">pgp</a></td> + <td><a href="[preferred]/commons/rng/source/commons-rng-1.4-src.tar.gz">commons-rng-1.4-src.tar.gz</a></td> + <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.4-src.tar.gz.sha512">sha512</a></td> + <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.4-src.tar.gz.asc">pgp</a></td> </tr> <tr> - <td><a href="[preferred]/commons/rng/source/commons-rng-1.3-src.zip">commons-rng-1.3-src.zip</a></td> - <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.3-src.zip.sha512">sha512</a></td> - <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.3-src.zip.asc">pgp</a></td> + <td><a href="[preferred]/commons/rng/source/commons-rng-1.4-src.zip">commons-rng-1.4-src.zip</a></td> + <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.4-src.zip.sha512">sha512</a></td> + <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.4-src.zip.asc">pgp</a></td> </tr> </table> </subsection> diff --git a/src/site/xdoc/release-history.xml b/src/site/xdoc/release-history.xml index 92f6d2a..c4d4ac6 100644 --- a/src/site/xdoc/release-history.xml +++ b/src/site/xdoc/release-history.xml @@ -25,6 +25,9 @@ limitations under the License. <table> <tr><th>Version</th><th>Release date (YYYY-MM-DD)</th><th>Required Java Version</th><th>Release notes</th></tr> <tr> + <td>1.4</td><td>2021-09-13</td><td>8+</td><td><a href="release-notes/RELEASE-NOTES-1.4.txt">release notes for 1.4</a></td> + </tr> + <tr> <td>1.3</td><td>2019-11-08</td><td>6+</td><td><a href="release-notes/RELEASE-NOTES-1.3.txt">release notes for 1.3</a></td> </tr> <tr>