blob: 38979495d789137b028c037bbb5a36e8a7e5895f [file] [log] [blame]
<?xml version="1.0"?>
<!--
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
http://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.
-->
<!--
This file is used by the maven-changes-plugin to generate the release notes.
Useful ways of finding items to add to this file are:
1. Add items when you fix a bug or add a feature (this makes the
release process easy :-).
2. Do a JIRA search for tickets closed since the previous release.
3. Use the report generated by the maven-changelog-plugin to see all
SVN commits.
To generate the file RELEASE-NOTES.txt from this file:
mvn changes:announcement-generate -Prelease-notes [-Dchanges.version]
The <action> type attribute can be add,update,fix,remove.
-->
<!-- NOTE:
The description attribute entries below are specially formatted
so as to improve the layout of the generated text release notes.
The parsing process removes all line feeds, replacing them with a single space.
The Velocity template in src/changes/release-notes.vm has been enhanced to replace pairs of adjacent spaces
with a new-line in the release notes. (These spaces are ignored when displaying HTML).
If the output is not quite correct, check for invisible trailing spaces!
-->
<document>
<properties>
<title>Apache Commons RNG Release Notes</title>
</properties>
<body>
<release version="1.2" date="2018-12-07" description="
This is a minor release of Apache Commons RNG, containing a
few new features and performance improvements.
Apache Commons RNG 1.2 contains the following library modules:
commons-rng-client-api (requires Java 6)
commons-rng-core (requires Java 6)
commons-rng-simple (requires Java 6)
commons-rng-sampling (requires Java 6)
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 9+.
Additional code is provided in the following module:
commons-rng-examples (requires Java 9)
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 of 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).
">
<action dev="erans" type="update" issue="RNG-63">
"NumberFactory": Some methods have become obsolete following RNG-57.
</action>
<action dev="erans" type="update" issue="RNG-64" due-to="Alex D. Herbert">
"PermutationSampler" and "CombinationSampler" shared code moved to a utility class.
</action>
<action dev="erans" type="add" issue="RNG-62" due-to="Alex D. Herbert">
New "CombinationSampler" class.
</action>
<action dev="erans" type="update" issue="RNG-61" due-to="Alex D. Herbert">
"PermutationSampler": Performance improvement.
</action>
<action dev="erans" type="update" issue="RNG-57" due-to="Alex D. Herbert">
Cache for using up all the bits provided by the underlying source of randomness.
</action>
<action dev="erans" type="update" issue="RNG-60">
Use random seeds for unit testing.
</action>
<action dev="erans" type="update" issue="RNG-52">
Set conservative upper bound in "LargePoissonSampler" to avoid truncation.
</action>
<action dev="erans" type="fix" issue="RNG-59">
Use JDK's "SecureRandom" to seed the "SeedFactory".
</action>
<action dev="erans" type="update" issue="RNG-58">
Allow part of RNG state to be contained in base classes, e.g. to enable
caching in common code (see RNG-57).
</action>
<action dev="erans" type="update" issue="RNG-51" due-to="Alex D. Herbert">
"PoissonSampler": Performance improvement.
</action>
<action dev="erans" type="fix" issue="RNG-56">
"ZigguratNormalizedGaussianSampler": Missing statements in least used branch.
</action>
<action dev="erans" type="fix" issue="RNG-55" due-to="Alex D. Herbert">
"UnitSphereSampler": Prevent returning NaN components and forbid
negative dimension.
</action>
</release>
<release version="1.1" date="2018-08-14" description="
This is a minor release of Apache Commons RNG, containing a
few new features and performance improvements.
Apache Commons RNG 1.1 contains the following library modules:
commons-rng-client-api (requires Java 6)
commons-rng-core (requires Java 6)
commons-rng-simple (requires Java 6)
commons-rng-sampling (requires Java 6)
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 9+.
Additional code is provided in the following module:
commons-rng-examples (requires Java 9)
It is however not part of the official API and no compatibility
should be expected in subsequent releases.
We would like to also note that unit tests in module 'commons-rng-sampling'
are bound to fail with some probability; this is expected due to the nature
of random number generation. The 'maven-surefire-plugin' can be configured
to re-run tests that fail and pass the build if they succeed (the test will
be marked as 'flaky' in the report).
">
<action dev="erans" type="fix" issue="RNG-53">
Class "SamplerBase" has been deprecated. It was meant for internal use
only but, through inheritance, it allows incorrect usage of the sampler
classes.
</action>
<action dev="erans" type="update" issue="RNG-50" due-to="Alex D. Herbert">
"PoissonSampler": Algorithms for small mean and large mean have
been separated into dedicated classes. Cache precomputation has
been disabled as it is only marginally used and is a performance
hit for small sampling sets.
</action>
<action dev="erans" type="add" issue="RNG-37">
Implementation of the "Ziggurat" algorithm for Gaussian sampling.
</action>
<action dev="erans" type="update" issue="RNG-42">
Use "ZigguratNormalizedGaussianSampler" within the library.
</action>
<action dev="erans" type="add" issue="RNG-47">
"DiscreteProbabilityCollectionSampler": Sampling from a collection of items
with user-defined probabilities (feature ported from "Commons Math").
</action>
<action dev="erans" type="add" issue="RNG-43">
"LogNormalSampler" with user-defined underlying "NormalizedGaussianSampler".
</action>
<action dev="erans" type="update" issue="RNG-46">
Following RNG-43, "BoxMullerLogNormalSampler" has been deprecated.
</action>
<action dev="erans" type="add" issue="RNG-39">
"UnitSphereSampler": generate random vectors isotropically located
on the surface of a sphere (feature ported from "Commons Math").
</action>
<action dev="erans" type="add" issue="RNG-36">
"MarsagliaNormalizedGaussianSampler": Faster variation of the
Box-Muller algorithm.
This version is used within "AhrensDieterMarsagliaTsangGammaSampler"
"MarsagliaLogNormalSampler" and "PoissonSampler" (generated sequences
will thus differ from those generated by version 1.0 of the library).
</action>
<action dev="erans" type="add" issue="RNG-35">
New generic "GaussianSampler" based on "NormalizedGaussianSampler"
marker interface.
Implementation of "BoxMullerNormalizedGaussianSampler" deprecates
"BoxMullerGaussianSampler".
</action>
</release>
<release version="1.0" date="2016-12-13" description="
This is the first release of Apache Commons RNG.
Apache Commons RNG 1.0 contains the following modules:
commons-rng-client-api (requires Java 6)
commons-rng-core (requires Java 6)
commons-rng-simple (requires Java 6)
commons-rng-sampling (requires Java 6)
commons-rng-jmh (requires Java 6)
commons-rng-examples (requires Java 7)
">
</release>
</body>
</document>