diff --git a/README.md b/README.md
index 66e67d7..c502404 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -74,12 +74,12 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-simple</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-sampling</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index a6a99a0..b429d75 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,4 +1,125 @@
 
+              Apache Commons RNG 1.3 RELEASE NOTES
+
+The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.3
+
+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.3 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).
+
+Changes in this version include:
+
+New features:
+o RNG-117:  Additional "XorShiRo" family generators. This adds 4 PlusPlus general purpose variants
+        of existing generators and 3 variants of a large state (1024-bit) generator. 
+o RNG-117:  "RandomSource": Support creating a byte[] seed suitable for the implementing
+        generator class. 
+o RNG-116:  "RandomSource": Expose interfaces supported by the implementing generator class
+        with methods isJumpable() and isLongJumpable(). 
+o RNG-111:  New "JenkinsSmallFast32" and "JenkinsSmallFast64" generators. 
+o RNG-19:  "JDKRandomWrapper": Wraps an instance of java.util.Random for use as a
+        UniformRandomProvider. Can wrap a SecureRandom to use functionality
+        provided by the JDK for cryptographic random numbers and platform dependent
+        features such as reading /dev/urandom on Linux. 
+o RNG-112:  New "DotyHumphreySmallFastCounting32" and "DotyHumphreySmallFastCounting64" generators. 
+o RNG-85:  New "MiddleSquareWeylSequence" generator. 
+o RNG-110:  Factory methods for Discrete and Continuous distribution samplers. The factory method
+        can choose the optimal implementation for the distribution parameters. 
+o RNG-84:  New Permuted Congruential Generators (PCG) from the PCG family.
+        Added the LCG and MCG 32 bit output versions of the XSH-RS and XSH-RR operations,
+        along with the 64 bit RXS-M-XS edition. Thanks to Abhishek Singh Dhadwal. 
+o RNG-102:  New "SharedStateSampler" interface to allow a sampler to create a new instance with
+        a new source of randomness. Any pre-computed state can be shared between the samplers. 
+o RNG-108:  Update "SeedFactory" to improve performance. 
+o RNG-99:  New "AliasMethodDiscreteSampler" that can sample from any discrete distribution defined
+        by an array of probabilities. Set-up is O(n) time and sampling is O(1) time. 
+o RNG-100:  New "GuideTableDiscreteSampler" that can sample from any discrete distribution defined
+        by an array of probabilities. 
+o RNG-98:  New "LongJumpableUniformRandomProvider" interface extends JumpableUniformRandomProvider
+        with a long jump method. 
+o RNG-97:  New "JumpableUniformRandomProvider" interface provides a jump method that advances
+        the generator a large number of steps of the output sequence in a single operation. A
+        copy is returned allowing repeat invocations to create a series of generators
+        for use in parallel computations. 
+o RNG-101:  New "MarsagliaTsangWangDiscreteSampler" that provides samples from a discrete
+        distribution stored as a look-up table using a single random integer deviate. Computes
+        tables for the Poisson or Binomial distributions, and generically any provided discrete
+        probability distribution. 
+o RNG-91:  New "KempSmallMeanPoissonSampler" that provides Poisson samples using only 1 random
+        deviate per sample. This algorithm outperforms the SmallMeanPoissonSampler
+        when the generator is slow. 
+o RNG-70:  New "XorShiRo" family of generators. This adds 6 new general purpose generators with
+        different periods and 4 related generators with improved performance for floating-point
+        generation. 
+o RNG-82:  New "XorShift1024StarPhi" generator. This is a modified implementation of XorShift1024Star
+        that improves randomness of the output sequence. The XOR_SHIFT_1024_S enum has been marked
+        deprecated as a note to users to switch to the new XOR_SHIFT_1024_S_PHI version. 
+o RNG-78:  New "ThreadLocalRandomSource" class provides thread safe access to random generators. 
+o RNG-79:  Benchmark methods for producing nextDouble and nextFloat. 
+o RNG-72:  Add new JMH benchmark ConstructionPerformance. 
+o RNG-71:  Validate parameters for the distribution samplers. 
+o RNG-67:  Instructions for how to build and run the examples-stress code. 
+o RNG-69:  New "GeometricSampler" class. 
+
+Fixed Bugs:
+o RNG-115:  "JDKRandom": Fixed the restore state method to function when the instance has not
+        previously been used to save state. 
+o RNG-96:  "AhrensDieterMarsagliaTsangGammaSampler": Fix parameter interpretation so that alpha
+        is a 'shape' parameter and theta is a 'scale' parameter. This reverses the functionality
+        of the constructor parameters from previous versions. Dependent code should be checked
+        and parameters reversed to ensure existing functionality is maintained. 
+o RNG-93:  "SmallMeanPoissonSampler": Requires the Poisson probability for p(x=0) to be positive
+        setting an upper bound on the mean of approximately 744.44. 
+o RNG-92:  "LargeMeanPoissonSampler": Requires mean >= 1. 
+
+Changes:
+o RNG-122:  "SeedFactory": Use XoRoShiRo1024PlusPlus as the default source of randomness. 
+o RNG-121:  "ChengBetaSampler": Algorithms for different distribution parameters have
+        been delegated to specialised classes. 
+o RNG-120:  Update security of serialization code for java.util.Random instances. Implement
+        look-ahead deserialization or remove the use of ObjectInputStream.readObject(). 
+o RNG-76:  "SplitMix64": Added primitive long constructor. 
+o RNG-119:  Add LongJumpable support to XoShiRo generators previously only supporting Jumpable. 
+o RNG-114:  "ListSampler": Select the shuffle algorithm based on the list type. This improves
+        performance for non-RandomAccess lists such as LinkedList. 
+o RNG-109:  "DiscreteProbabilityCollectionSampler": Use a faster enumerated probability
+        distribution sampler to replace the binary search algorithm. 
+o RNG-90:  "BaseProvider": Updated to use faster algorithm for nextInt(int). 
+o RNG-95:  "DiscreteUniformSampler": Updated to use faster algorithms for generation of ranges. 
+o RNG-106:  Ensure SeedFactory produces non-zero seed arrays. This avoids invalid seeding of
+        generators that cannot recover from a seed of zeros. 
+o RNG-103:  "LargeMeanPoissonSampler: Switch from SmallMeanPoissonSampler to use
+        KempSmallMeanPoissonSampler for the fractional mean sample. 
+o RNG-75:  "RandomSource.create(...)": Refactor internal components to allow custom seeding routines
+        per random source. Improvements were made to the speed of creating generators with small
+        seeds. 
+o RNG-77:  "NumberFactory": Improve performance of int and long array to/from byte array conversions. 
+o RNG-88:  Update the generation performance JMH benchmarks to have a reference baseline. 
+o RNG-87:  "MultiplyWithCarry256": Performance improvement by advancing state one step per sample. 
+o RNG-81:  "NumberFactory": Evenly sample all dyadic rationals between 0 and 1. 
+o RNG-73:  Add the methods used from UniformRandomProvider to each sampler in the sampling module. 
+o RNG-74:  "DiscreteUniformSampler": Algorithms for small and large integer ranges have
+        been delegated to specialised classes. 
+o RNG-68:  "AhrensDieterMarsagliaTsangGammaSampler": Algorithms for small and large theta have
+        been delegated to specialised classes. 
+
+
+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.2 RELEASE NOTES
 
 The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.2
@@ -44,3 +165,87 @@
 https://commons.apache.org/proper/commons-rng/
 
 
+=============================================================================
+
+              Apache Commons RNG 1.1 RELEASE NOTES
+
+The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.1
+
+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.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).
+
+Changes in this version include:
+
+New features:
+o RNG-37:  Implementation of the "Ziggurat" algorithm for Gaussian sampling. 
+o RNG-47:  "DiscreteProbabilityCollectionSampler": Sampling from a collection of items
+        with user-defined probabilities (feature ported from "Commons Math"). 
+o RNG-43:  "LogNormalSampler" with user-defined underlying "NormalizedGaussianSampler". 
+o RNG-39:  "UnitSphereSampler": generate random vectors isotropically located
+        on the surface of a sphere (feature ported from "Commons Math"). 
+o 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). 
+o RNG-35:  New generic "GaussianSampler" based on "NormalizedGaussianSampler"
+        marker interface.
+        Implementation of "BoxMullerNormalizedGaussianSampler" deprecates
+        "BoxMullerGaussianSampler". 
+
+Fixed Bugs:
+o 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. 
+
+Changes:
+o RNG-50:  "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. Thanks to Alex D. Herbert. 
+o RNG-42:  Use "ZigguratNormalizedGaussianSampler" within the library. 
+o RNG-46:  Following RNG-43, "BoxMullerLogNormalSampler" has been deprecated. 
+
+
+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.0 RELEASE NOTES
+
+The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.0
+
+The Apache Commons RNG project provides pure-Java implementation of pseudo-random generators.
+
+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)
+
+No changes defined in this version.
+
+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/
+
+
diff --git a/commons-rng-client-api/README.md b/commons-rng-client-api/README.md
index 2ac21b9..03a5802 100644
--- a/commons-rng-client-api/README.md
+++ b/commons-rng-client-api/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -67,7 +67,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-client-api</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-client-api/pom.xml b/commons-rng-client-api/pom.xml
index 5544938..d07193e 100644
--- a/commons-rng-client-api/pom.xml
+++ b/commons-rng-client-api/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-parent</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-client-api</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <name>Apache Commons RNG Client API</name>
 
   <description>API for client code that uses random numbers generators.</description>
diff --git a/commons-rng-core/README.md b/commons-rng-core/README.md
index 2652d4c..8f8b2a4 100644
--- a/commons-rng-core/README.md
+++ b/commons-rng-core/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -71,7 +71,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-core</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-core/pom.xml b/commons-rng-core/pom.xml
index e027ec6..01cbba9 100644
--- a/commons-rng-core/pom.xml
+++ b/commons-rng-core/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-parent</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-core</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <name>Apache Commons RNG Core</name>
 
   <description>Pure Java implementations of random numbers generator algorithms.
@@ -51,7 +51,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-rng-client-api</artifactId>
-      <version>1.3-SNAPSHOT</version>
+      <version>1.3</version>
     </dependency>
     <dependency>
       <!-- For testing floating point precision -->
diff --git a/commons-rng-examples/README.md b/commons-rng-examples/README.md
index ede4f66..11c10bf 100644
--- a/commons-rng-examples/README.md
+++ b/commons-rng-examples/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -69,7 +69,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-examples/examples-jmh/README.md b/commons-rng-examples/examples-jmh/README.md
index 6b1ac19..6354cb0 100644
--- a/commons-rng-examples/examples-jmh/README.md
+++ b/commons-rng-examples/examples-jmh/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -68,7 +68,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-jmh</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-examples/examples-jmh/pom.xml b/commons-rng-examples/examples-jmh/pom.xml
index 0335052..d306632 100644
--- a/commons-rng-examples/examples-jmh/pom.xml
+++ b/commons-rng-examples/examples-jmh/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-examples</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-jmh</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <name>JMH Benchmark</name>
 
   <description>Code for running JMH benchmarks that assess the performance of the generators.
diff --git a/commons-rng-examples/examples-jpms/README.md b/commons-rng-examples/examples-jpms/README.md
index 49e122f..f14e600 100644
--- a/commons-rng-examples/examples-jpms/README.md
+++ b/commons-rng-examples/examples-jpms/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -67,7 +67,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-jpms</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-examples/examples-jpms/jpms-app/README.md b/commons-rng-examples/examples-jpms/jpms-app/README.md
index 232f236..d3c0dc0 100644
--- a/commons-rng-examples/examples-jpms/jpms-app/README.md
+++ b/commons-rng-examples/examples-jpms/jpms-app/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -67,7 +67,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-jpms-app</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-examples/examples-jpms/jpms-app/pom.xml b/commons-rng-examples/examples-jpms/jpms-app/pom.xml
index 7fccfe3..a6b2f78 100644
--- a/commons-rng-examples/examples-jpms/jpms-app/pom.xml
+++ b/commons-rng-examples/examples-jpms/jpms-app/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-examples-jpms</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-jpms-app</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <name>JPMS module example (application)</name>
 
   <description>Testing JPMS. Code in this module is not part of the public API.</description>
@@ -42,7 +42,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-rng-examples-jpms-lib</artifactId>
-      <version>1.3-SNAPSHOT</version>
+      <version>1.3</version>
     </dependency>
   </dependencies>
 
diff --git a/commons-rng-examples/examples-jpms/jpms-lib/README.md b/commons-rng-examples/examples-jpms/jpms-lib/README.md
index 743c017..d70f5fd 100644
--- a/commons-rng-examples/examples-jpms/jpms-lib/README.md
+++ b/commons-rng-examples/examples-jpms/jpms-lib/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -67,7 +67,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-jpms-lib</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-examples/examples-jpms/jpms-lib/pom.xml b/commons-rng-examples/examples-jpms/jpms-lib/pom.xml
index 512b9b7..e938ba0 100644
--- a/commons-rng-examples/examples-jpms/jpms-lib/pom.xml
+++ b/commons-rng-examples/examples-jpms/jpms-lib/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-examples-jpms</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-jpms-lib</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <name>JPMS module example (library)</name>
 
   <description>Testing JPMS. Code in this module is not part of the public API.</description>
diff --git a/commons-rng-examples/examples-jpms/pom.xml b/commons-rng-examples/examples-jpms/pom.xml
index b9f428e..db1b795 100644
--- a/commons-rng-examples/examples-jpms/pom.xml
+++ b/commons-rng-examples/examples-jpms/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-examples</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-jpms</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <packaging>pom</packaging>
   <name>JPMS Integration test</name>
 
diff --git a/commons-rng-examples/examples-jpms/runApp.sh b/commons-rng-examples/examples-jpms/runApp.sh
index 53070fd..4230200 100755
--- a/commons-rng-examples/examples-jpms/runApp.sh
+++ b/commons-rng-examples/examples-jpms/runApp.sh
@@ -19,7 +19,7 @@
 # "mvn package" from the top level project directory).
 
 TOPDIR=../..
-RNGVERSION=1.3-SNAPSHOT
+RNGVERSION=1.3
 TARGETDIR=target
 
 # Module path.
diff --git a/commons-rng-examples/examples-quadrature/README.md b/commons-rng-examples/examples-quadrature/README.md
index e82cdd6..949f997 100644
--- a/commons-rng-examples/examples-quadrature/README.md
+++ b/commons-rng-examples/examples-quadrature/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -68,7 +68,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-quadrature</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-examples/examples-quadrature/pom.xml b/commons-rng-examples/examples-quadrature/pom.xml
index 18b5026..139afe7 100644
--- a/commons-rng-examples/examples-quadrature/pom.xml
+++ b/commons-rng-examples/examples-quadrature/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-examples</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-quadrature</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <name>Quadrature example</name>
 
   <description>Contains examples for computing numerical quadrature (integration).
diff --git a/commons-rng-examples/examples-sampling/README.md b/commons-rng-examples/examples-sampling/README.md
index 2c19c1a..eb01a72 100644
--- a/commons-rng-examples/examples-sampling/README.md
+++ b/commons-rng-examples/examples-sampling/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -68,7 +68,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-sampling</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-examples/examples-sampling/pom.xml b/commons-rng-examples/examples-sampling/pom.xml
index 955fd1c..f9ff05a 100644
--- a/commons-rng-examples/examples-sampling/pom.xml
+++ b/commons-rng-examples/examples-sampling/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-examples</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-sampling</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <!-- This name is used in the shaded jar to provide the application title for the version information. -->
   <name>Apache Commons RNG Examples Sampling Utilities</name>
 
diff --git a/commons-rng-examples/examples-stress/README.md b/commons-rng-examples/examples-stress/README.md
index 45972b7..fcc58e7 100644
--- a/commons-rng-examples/examples-stress/README.md
+++ b/commons-rng-examples/examples-stress/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -68,7 +68,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-stress</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-examples/examples-stress/pom.xml b/commons-rng-examples/examples-stress/pom.xml
index 3c01926..5fa70aa 100644
--- a/commons-rng-examples/examples-stress/pom.xml
+++ b/commons-rng-examples/examples-stress/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-examples</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples-stress</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <!-- This name is used in the shaded jar to provide the application title for the version information. -->
   <name>Apache Commons RNG Examples Stress Utilities</name>
 
diff --git a/commons-rng-examples/pom.xml b/commons-rng-examples/pom.xml
index c63e546..c8b4ab4 100644
--- a/commons-rng-examples/pom.xml
+++ b/commons-rng-examples/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-parent</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <packaging>pom</packaging>
   <name>Apache Commons RNG Examples</name>
 
@@ -57,17 +57,17 @@
       <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-rng-simple</artifactId>
-        <version>1.3-SNAPSHOT</version>
+        <version>1.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-rng-sampling</artifactId>
-        <version>1.3-SNAPSHOT</version>
+        <version>1.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-rng-client-api</artifactId>
-        <version>1.3-SNAPSHOT</version>
+        <version>1.3</version>
       </dependency>
       <dependency>
         <groupId>info.picocli</groupId>
diff --git a/commons-rng-sampling/README.md b/commons-rng-sampling/README.md
index 44e47ec..918b535 100644
--- a/commons-rng-sampling/README.md
+++ b/commons-rng-sampling/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -68,7 +68,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-sampling</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-sampling/pom.xml b/commons-rng-sampling/pom.xml
index c0da2e4..62a505f 100644
--- a/commons-rng-sampling/pom.xml
+++ b/commons-rng-sampling/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-parent</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-sampling</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <name>Apache Commons RNG Sampling</name>
 
   <description>The Apache Commons RNG Sampling module provides samplers
@@ -48,13 +48,13 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-rng-client-api</artifactId>
-      <version>1.3-SNAPSHOT</version>
+      <version>1.3</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-rng-simple</artifactId>
-      <version>1.3-SNAPSHOT</version>
+      <version>1.3</version>
       <scope>test</scope>
     </dependency>
 
diff --git a/commons-rng-simple/README.md b/commons-rng-simple/README.md
index af6f417..c4f4fdd 100644
--- a/commons-rng-simple/README.md
+++ b/commons-rng-simple/README.md
@@ -35,7 +35,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>rng</commons.componentid>                    |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -67,7 +67,7 @@
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-simple</artifactId>
-  <version>1.2</version>
+  <version>1.3</version>
 </dependency>
 ```
 
diff --git a/commons-rng-simple/pom.xml b/commons-rng-simple/pom.xml
index a9526e0..2ba52aa 100644
--- a/commons-rng-simple/pom.xml
+++ b/commons-rng-simple/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-parent</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-simple</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <name>Apache Commons RNG Simple</name>
 
   <description>Simple API for instantiating random numbers generators.</description>
@@ -48,7 +48,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-rng-core</artifactId>
-      <version>1.3-SNAPSHOT</version>
+      <version>1.3</version>
     </dependency>
 
     <dependency>
diff --git a/dist-archive/pom.xml b/dist-archive/pom.xml
index 127bc16..55a6f8d 100644
--- a/dist-archive/pom.xml
+++ b/dist-archive/pom.xml
@@ -25,12 +25,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-parent</artifactId>
-    <version>1.3-SNAPSHOT</version>
+    <version>1.3</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <packaging>pom</packaging>
   <name>Apache Commons RNG (full distribution)</name>
   <description>This module creates the Apache Commons RNG distribution.</description>
@@ -39,13 +39,13 @@
     <checkstyle.skip>true</checkstyle.skip>
     <animal.sniffer.skip>true</animal.sniffer.skip>
     <!-- Commons Release Plugin -->
-    <commons.bc.version>1.0</commons.bc.version>
+    <commons.bc.version>1.2</commons.bc.version>
     <commons.release.isDistModule>true</commons.release.isDistModule>
     <commons.siteOutputDirectory>${basedir}/../target/site</commons.siteOutputDirectory>
     <commons.releaseNotesLocation>${basedir}/../RELEASE-NOTES.txt</commons.releaseNotesLocation>
     <commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}</commons.distSvnStagingUrl>
-    <commons.releaseManagerName>Gilles Sadowski</commons.releaseManagerName>
-    <commons.releaseManagerKey>B39617E095CD748DFE505816703413011E22D5B8</commons.releaseManagerKey>
+    <commons.releaseManagerName>Alex Herbert</commons.releaseManagerName>
+    <commons.releaseManagerKey>BC87A3FD0A54480F0BADBEBD21939FF0CA2A6567</commons.releaseManagerKey>
   </properties>
 
 
@@ -71,18 +71,18 @@
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-client-api</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-client-api</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>sources</classifier>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-client-api</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>javadoc</classifier>
         </dependency>
 
@@ -90,18 +90,18 @@
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-core</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-core</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>sources</classifier>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-core</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>javadoc</classifier>
         </dependency>
 
@@ -109,18 +109,18 @@
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-simple</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-simple</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>sources</classifier>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-simple</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>javadoc</classifier>
         </dependency>
 
@@ -128,18 +128,18 @@
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-sampling</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-sampling</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>sources</classifier>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-sampling</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>javadoc</classifier>
         </dependency>
 
@@ -147,18 +147,18 @@
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-jmh</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-jmh</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>sources</classifier>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-jmh</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>javadoc</classifier>
         </dependency>
 
@@ -166,35 +166,35 @@
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-jpms-app</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-jpms-app</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>sources</classifier>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-jpms-app</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>javadoc</classifier>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-jpms-lib</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-jpms-lib</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>sources</classifier>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-jpms-lib</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>javadoc</classifier>
         </dependency>
 
@@ -202,18 +202,18 @@
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-quadrature</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-quadrature</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>sources</classifier>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-quadrature</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>javadoc</classifier>
         </dependency>
 
@@ -221,18 +221,18 @@
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-sampling</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-sampling</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>sources</classifier>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-sampling</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>javadoc</classifier>
         </dependency>
 
@@ -240,18 +240,18 @@
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-stress</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-stress</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>sources</classifier>
         </dependency>
         <dependency>
           <groupId>org.apache.commons</groupId>
           <artifactId>commons-rng-examples-stress</artifactId>
-          <version>1.3-SNAPSHOT</version>
+          <version>1.3</version>
           <classifier>javadoc</classifier>
         </dependency>
 
diff --git a/pom.xml b/pom.xml
index 22e31f0..0fdaf0d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-parent</artifactId>
-  <version>1.3-SNAPSHOT</version>
+  <version>1.3</version>
   <packaging>pom</packaging>
   <name>Apache Commons RNG</name>
   <description>The Apache Commons RNG project provides pure-Java implementation of pseudo-random generators.</description>
@@ -43,7 +43,7 @@
     <!-- Java 9+ -->
     <commons.automatic.module.name>org.apache.commons.rng.parent</commons.automatic.module.name>
     <!-- do not use snapshot suffix here -->
-    <commons.release.version>1.2</commons.release.version>
+    <commons.release.version>1.3</commons.release.version>
     <commons.rc.version>RC1</commons.rc.version>
     <commons.release.desc>(requires Java 6+)</commons.release.desc>
     <commons.binary.suffix>-bin</commons.binary.suffix>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index d45e789..fc2c722 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -51,7 +51,7 @@
   </properties>
   <body>
 
-    <release version="1.3" date="TBD" description="
+    <release version="1.3" date="2019-11-08" description="
 This is a minor release of Apache Commons RNG, containing a
 few new features and performance improvements.
 Apache Commons RNG 1.3 contains the following library modules:
diff --git a/src/site/resources/release-notes/RELEASE-NOTES-1.3.txt b/src/site/resources/release-notes/RELEASE-NOTES-1.3.txt
new file mode 100644
index 0000000..b429d75
--- /dev/null
+++ b/src/site/resources/release-notes/RELEASE-NOTES-1.3.txt
@@ -0,0 +1,251 @@
+
+              Apache Commons RNG 1.3 RELEASE NOTES
+
+The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.3
+
+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.3 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).
+
+Changes in this version include:
+
+New features:
+o RNG-117:  Additional "XorShiRo" family generators. This adds 4 PlusPlus general purpose variants
+        of existing generators and 3 variants of a large state (1024-bit) generator. 
+o RNG-117:  "RandomSource": Support creating a byte[] seed suitable for the implementing
+        generator class. 
+o RNG-116:  "RandomSource": Expose interfaces supported by the implementing generator class
+        with methods isJumpable() and isLongJumpable(). 
+o RNG-111:  New "JenkinsSmallFast32" and "JenkinsSmallFast64" generators. 
+o RNG-19:  "JDKRandomWrapper": Wraps an instance of java.util.Random for use as a
+        UniformRandomProvider. Can wrap a SecureRandom to use functionality
+        provided by the JDK for cryptographic random numbers and platform dependent
+        features such as reading /dev/urandom on Linux. 
+o RNG-112:  New "DotyHumphreySmallFastCounting32" and "DotyHumphreySmallFastCounting64" generators. 
+o RNG-85:  New "MiddleSquareWeylSequence" generator. 
+o RNG-110:  Factory methods for Discrete and Continuous distribution samplers. The factory method
+        can choose the optimal implementation for the distribution parameters. 
+o RNG-84:  New Permuted Congruential Generators (PCG) from the PCG family.
+        Added the LCG and MCG 32 bit output versions of the XSH-RS and XSH-RR operations,
+        along with the 64 bit RXS-M-XS edition. Thanks to Abhishek Singh Dhadwal. 
+o RNG-102:  New "SharedStateSampler" interface to allow a sampler to create a new instance with
+        a new source of randomness. Any pre-computed state can be shared between the samplers. 
+o RNG-108:  Update "SeedFactory" to improve performance. 
+o RNG-99:  New "AliasMethodDiscreteSampler" that can sample from any discrete distribution defined
+        by an array of probabilities. Set-up is O(n) time and sampling is O(1) time. 
+o RNG-100:  New "GuideTableDiscreteSampler" that can sample from any discrete distribution defined
+        by an array of probabilities. 
+o RNG-98:  New "LongJumpableUniformRandomProvider" interface extends JumpableUniformRandomProvider
+        with a long jump method. 
+o RNG-97:  New "JumpableUniformRandomProvider" interface provides a jump method that advances
+        the generator a large number of steps of the output sequence in a single operation. A
+        copy is returned allowing repeat invocations to create a series of generators
+        for use in parallel computations. 
+o RNG-101:  New "MarsagliaTsangWangDiscreteSampler" that provides samples from a discrete
+        distribution stored as a look-up table using a single random integer deviate. Computes
+        tables for the Poisson or Binomial distributions, and generically any provided discrete
+        probability distribution. 
+o RNG-91:  New "KempSmallMeanPoissonSampler" that provides Poisson samples using only 1 random
+        deviate per sample. This algorithm outperforms the SmallMeanPoissonSampler
+        when the generator is slow. 
+o RNG-70:  New "XorShiRo" family of generators. This adds 6 new general purpose generators with
+        different periods and 4 related generators with improved performance for floating-point
+        generation. 
+o RNG-82:  New "XorShift1024StarPhi" generator. This is a modified implementation of XorShift1024Star
+        that improves randomness of the output sequence. The XOR_SHIFT_1024_S enum has been marked
+        deprecated as a note to users to switch to the new XOR_SHIFT_1024_S_PHI version. 
+o RNG-78:  New "ThreadLocalRandomSource" class provides thread safe access to random generators. 
+o RNG-79:  Benchmark methods for producing nextDouble and nextFloat. 
+o RNG-72:  Add new JMH benchmark ConstructionPerformance. 
+o RNG-71:  Validate parameters for the distribution samplers. 
+o RNG-67:  Instructions for how to build and run the examples-stress code. 
+o RNG-69:  New "GeometricSampler" class. 
+
+Fixed Bugs:
+o RNG-115:  "JDKRandom": Fixed the restore state method to function when the instance has not
+        previously been used to save state. 
+o RNG-96:  "AhrensDieterMarsagliaTsangGammaSampler": Fix parameter interpretation so that alpha
+        is a 'shape' parameter and theta is a 'scale' parameter. This reverses the functionality
+        of the constructor parameters from previous versions. Dependent code should be checked
+        and parameters reversed to ensure existing functionality is maintained. 
+o RNG-93:  "SmallMeanPoissonSampler": Requires the Poisson probability for p(x=0) to be positive
+        setting an upper bound on the mean of approximately 744.44. 
+o RNG-92:  "LargeMeanPoissonSampler": Requires mean >= 1. 
+
+Changes:
+o RNG-122:  "SeedFactory": Use XoRoShiRo1024PlusPlus as the default source of randomness. 
+o RNG-121:  "ChengBetaSampler": Algorithms for different distribution parameters have
+        been delegated to specialised classes. 
+o RNG-120:  Update security of serialization code for java.util.Random instances. Implement
+        look-ahead deserialization or remove the use of ObjectInputStream.readObject(). 
+o RNG-76:  "SplitMix64": Added primitive long constructor. 
+o RNG-119:  Add LongJumpable support to XoShiRo generators previously only supporting Jumpable. 
+o RNG-114:  "ListSampler": Select the shuffle algorithm based on the list type. This improves
+        performance for non-RandomAccess lists such as LinkedList. 
+o RNG-109:  "DiscreteProbabilityCollectionSampler": Use a faster enumerated probability
+        distribution sampler to replace the binary search algorithm. 
+o RNG-90:  "BaseProvider": Updated to use faster algorithm for nextInt(int). 
+o RNG-95:  "DiscreteUniformSampler": Updated to use faster algorithms for generation of ranges. 
+o RNG-106:  Ensure SeedFactory produces non-zero seed arrays. This avoids invalid seeding of
+        generators that cannot recover from a seed of zeros. 
+o RNG-103:  "LargeMeanPoissonSampler: Switch from SmallMeanPoissonSampler to use
+        KempSmallMeanPoissonSampler for the fractional mean sample. 
+o RNG-75:  "RandomSource.create(...)": Refactor internal components to allow custom seeding routines
+        per random source. Improvements were made to the speed of creating generators with small
+        seeds. 
+o RNG-77:  "NumberFactory": Improve performance of int and long array to/from byte array conversions. 
+o RNG-88:  Update the generation performance JMH benchmarks to have a reference baseline. 
+o RNG-87:  "MultiplyWithCarry256": Performance improvement by advancing state one step per sample. 
+o RNG-81:  "NumberFactory": Evenly sample all dyadic rationals between 0 and 1. 
+o RNG-73:  Add the methods used from UniformRandomProvider to each sampler in the sampling module. 
+o RNG-74:  "DiscreteUniformSampler": Algorithms for small and large integer ranges have
+        been delegated to specialised classes. 
+o RNG-68:  "AhrensDieterMarsagliaTsangGammaSampler": Algorithms for small and large theta have
+        been delegated to specialised classes. 
+
+
+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.2 RELEASE NOTES
+
+The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.2
+
+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.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).
+
+Changes in this version include:
+
+New features:
+o RNG-62:  New "CombinationSampler" class. Thanks to Alex D. Herbert. 
+
+Fixed Bugs:
+o RNG-59:  Use JDK's "SecureRandom" to seed the "SeedFactory". 
+o RNG-56:  "ZigguratNormalizedGaussianSampler": Missing statements in least used branch. 
+o RNG-55:  "UnitSphereSampler": Prevent returning NaN components and forbid
+        negative dimension. Thanks to Alex D. Herbert. 
+
+Changes:
+o RNG-63:  "NumberFactory": Some methods have become obsolete following RNG-57. 
+o RNG-64:  "PermutationSampler" and "CombinationSampler" shared code moved to a utility class. Thanks to Alex D. Herbert. 
+o RNG-61:  "PermutationSampler": Performance improvement. Thanks to Alex D. Herbert. 
+o RNG-57:  Cache for using up all the bits provided by the underlying source of randomness. Thanks to Alex D. Herbert. 
+o RNG-60:  Use random seeds for unit testing. 
+o RNG-52:  Set conservative upper bound in "LargePoissonSampler" to avoid truncation. 
+o RNG-58:  Allow part of RNG state to be contained in base classes, e.g. to enable
+        caching in common code (see RNG-57). 
+o RNG-51:  "PoissonSampler": Performance improvement. Thanks to Alex D. Herbert. 
+
+
+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.1 RELEASE NOTES
+
+The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.1
+
+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.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).
+
+Changes in this version include:
+
+New features:
+o RNG-37:  Implementation of the "Ziggurat" algorithm for Gaussian sampling. 
+o RNG-47:  "DiscreteProbabilityCollectionSampler": Sampling from a collection of items
+        with user-defined probabilities (feature ported from "Commons Math"). 
+o RNG-43:  "LogNormalSampler" with user-defined underlying "NormalizedGaussianSampler". 
+o RNG-39:  "UnitSphereSampler": generate random vectors isotropically located
+        on the surface of a sphere (feature ported from "Commons Math"). 
+o 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). 
+o RNG-35:  New generic "GaussianSampler" based on "NormalizedGaussianSampler"
+        marker interface.
+        Implementation of "BoxMullerNormalizedGaussianSampler" deprecates
+        "BoxMullerGaussianSampler". 
+
+Fixed Bugs:
+o 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. 
+
+Changes:
+o RNG-50:  "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. Thanks to Alex D. Herbert. 
+o RNG-42:  Use "ZigguratNormalizedGaussianSampler" within the library. 
+o RNG-46:  Following RNG-43, "BoxMullerLogNormalSampler" has been deprecated. 
+
+
+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.0 RELEASE NOTES
+
+The Apache Commons RNG team is pleased to announce the release of Apache Commons RNG 1.0
+
+The Apache Commons RNG project provides pure-Java implementation of pseudo-random generators.
+
+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)
+
+No changes defined in this version.
+
+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/
+
+
diff --git a/src/site/xdoc/download_rng.xml b/src/site/xdoc/download_rng.xml
index c542285..7c6630f 100644
--- a/src/site/xdoc/download_rng.xml
+++ b/src/site/xdoc/download_rng.xml
@@ -36,14 +36,14 @@
  |      (defaults to "-bin", set to "" for pre-maven2 releases)         |
  |    - commons.release.desc    (optional)                              |
  |    - commons.release.subdir  (optional)                              |
- |    - commons.release.hash    (optional, lowercase, default sha256)   |
+ |    - commons.release.hash    (optional, lowercase, default sha512)   |
  |                                                                      |
  |    - commons.release.[234].version       (conditional)               |
  |    - commons.release.[234].name          (conditional)               |
  |    - commons.release.[234].binary.suffix (optional)                  |
  |    - commons.release.[234].desc          (optional)                  |
  |    - commons.release.[234].subdir        (optional)                  |
- |    - commons.release.[234].hash       (optional, lowercase, [sha256])|
+ |    - commons.release.[234].hash       (optional, lowercase, [sha512])|
  |                                                                      |
  | 3) Example Properties                                                |
  |    (commons.release.name inherited by parent:                        |
@@ -51,7 +51,7 @@
  |                                                                      |
  |  <properties>                                                        |
  |    <commons.componentid>math</commons.componentid>                   |
- |    <commons.release.version>1.2</commons.release.version>            |
+ |    <commons.release.version>1.3</commons.release.version>            |
  |  </properties>                                                       |
  |                                                                      |
  +======================================================================+
@@ -66,7 +66,7 @@
     <subsection name="Using a Mirror">
       <p>
         We recommend you use a mirror to download our release
-        builds, but you <strong>must</strong> <a href="http://www.apache.org/info/verification.html">verify the integrity</a> of
+        builds, but you <strong>must</strong> <a href="https://www.apache.org/info/verification.html">verify the integrity</a> of
         the downloaded files using signatures downloaded from our main
         distribution directories. Recent releases (48 hours) may not yet
         be available from all the mirrors.
@@ -104,7 +104,7 @@
         It is essential that you
         <a href="https://www.apache.org/info/verification.html">verify the integrity</a>
         of downloaded files, preferably using the <code>PGP</code> signature (<code>*.asc</code> files);
-        failing that using the <code>SHA256</code> hash (<code>*.sha256</code> checksum files).
+        failing that using the <code>SHA512</code> hash (<code>*.sha512</code> checksum files).
       </p>
       <p>
         The <a href="https://www.apache.org/dist/commons/KEYS">KEYS</a>
@@ -113,32 +113,32 @@
       </p>
     </subsection>
     </section>
-    <section name="Apache Commons RNG 1.2 (requires Java 6+)">
+    <section name="Apache Commons RNG 1.3 (requires Java 6+)">
       <subsection name="Binaries">
         <table>
           <tr>
-              <td><a href="[preferred]/commons/rng/binaries/commons-rng-1.2-bin.tar.gz">commons-rng-1.2-bin.tar.gz</a></td>
-              <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.2-bin.tar.gz.sha256">sha256</a></td>
-              <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.2-bin.tar.gz.asc">pgp</a></td>
+              <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>
           </tr>
           <tr>
-              <td><a href="[preferred]/commons/rng/binaries/commons-rng-1.2-bin.zip">commons-rng-1.2-bin.zip</a></td>
-              <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.2-bin.zip.sha256">sha256</a></td>
-              <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.2-bin.zip.asc">pgp</a></td>
+              <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>
           </tr>
         </table>
       </subsection>
       <subsection name="Source">
         <table>
           <tr>
-              <td><a href="[preferred]/commons/rng/source/commons-rng-1.2-src.tar.gz">commons-rng-1.2-src.tar.gz</a></td>
-              <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.2-src.tar.gz.sha256">sha256</a></td>
-              <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.2-src.tar.gz.asc">pgp</a></td>
+              <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>
           </tr>
           <tr>
-              <td><a href="[preferred]/commons/rng/source/commons-rng-1.2-src.zip">commons-rng-1.2-src.zip</a></td>
-              <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.2-src.zip.sha256">sha256</a></td>
-              <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.2-src.zip.asc">pgp</a></td>
+              <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>
           </tr>
         </table>
       </subsection>
diff --git a/src/site/xdoc/release-history.xml b/src/site/xdoc/release-history.xml
index 6a797ec..92f6d2a 100644
--- a/src/site/xdoc/release-history.xml
+++ b/src/site/xdoc/release-history.xml
@@ -20,11 +20,14 @@
   </properties>
   <body>
     <!-- ================================================== -->
-    <section name="Commons Text Release History">
-      <p><em>Note.</em> For older javadocs see the individal artifact sub-sites.</p>
+    <section name="Commons RNG Release History">
+      <p><em>Note.</em> For older release javadocs see the individual artifact sub-sites.</p>
       <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.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>
           <td>1.2</td><td>2018-12-07</td><td>6+</td><td><a href="release-notes/RELEASE-NOTES-1.2.txt">release notes for 1.2</a></td>
         </tr>
         <tr>
