diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index e69de29..056dca9 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -0,0 +1,24 @@
+
+              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:
+
+http://commons.apache.org/proper/commons-rng/
+
+
diff --git a/commons-rng-client-api/pom.xml b/commons-rng-client-api/pom.xml
index 4353015..9c8293e 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.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-client-api</artifactId>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <name>Apache Commons RNG Client API</name>
 
   <description>The Apache Commons RNG API module defines the API for client
diff --git a/commons-rng-core/pom.xml b/commons-rng-core/pom.xml
index c2ea5d1..084a24d 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.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-core</artifactId>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <name>Apache Commons RNG Core</name>
 
   <description>The Apache Commons RNG Core module provides pure Java implementations of
@@ -47,7 +47,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-rng-client-api</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
   </dependencies>
 
diff --git a/commons-rng-examples/pom.xml b/commons-rng-examples/pom.xml
index d0209f0..a7b54ca 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.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-examples</artifactId>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <name>Apache Commons RNG Examples</name>
 
   <description>The Apache Commons RNG Examples module contains examples
@@ -51,7 +51,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-rng-simple</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
   </dependencies>
 
diff --git a/commons-rng-jmh/pom.xml b/commons-rng-jmh/pom.xml
index 43db257..061adfe 100644
--- a/commons-rng-jmh/pom.xml
+++ b/commons-rng-jmh/pom.xml
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-rng-parent</artifactId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-jmh</artifactId>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <name>Apache Commons RNG JMH</name>
 
   <description>The Apache Commons RNG JMH module provides code for running
@@ -38,7 +38,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-rng-simple</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
 
     <dependency>
diff --git a/commons-rng-sampling/pom.xml b/commons-rng-sampling/pom.xml
index 7b6330d..82a8f6e 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.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-sampling</artifactId>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <name>Apache Commons RNG Sampling</name>
 
   <description>The Apache Commons RNG Sampling module provides samplers
@@ -47,13 +47,13 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-rng-client-api</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-rng-simple</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
       <scope>test</scope>
     </dependency>
 
diff --git a/commons-rng-simple/pom.xml b/commons-rng-simple/pom.xml
index 7111bf4..e615497 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.0-SNAPSHOT</version>
+    <version>1.0</version>
   </parent>
 
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-simple</artifactId>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <name>Apache Commons RNG Simple</name>
 
   <description>The Apache Commons RNG Simple module provides a factory class to
@@ -48,7 +48,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-rng-core</artifactId>
-      <version>1.0-SNAPSHOT</version>
+      <version>1.0</version>
     </dependency>
   </dependencies>
 
diff --git a/pom.xml b/pom.xml
index d01bfd9..ba1dc74 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,7 @@
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-rng-parent</artifactId>
   <packaging>pom</packaging>
-  <version>1.0-SNAPSHOT</version>
+  <version>1.0</version>
   <name>Apache Commons RNG</name>
 
   <inceptionYear>2016</inceptionYear>
@@ -90,7 +90,7 @@
     <!-- do not use snapshot suffix here -->
     <commons.release.version>1.0</commons.release.version>
     <commons.release.desc>(requires Java 6+)</commons.release.desc>
-    <!-- <commons.rc.version>RC1</commons.rc.version> -->
+    <commons.rc.version>RC3</commons.rc.version>
     <commons.binary.suffix>-bin</commons.binary.suffix>
 
     <commons.jira.id>RNG</commons.jira.id>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 1f5d550..cb5cbad 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -50,7 +50,7 @@
     <title>Apache Commons RNG Release Notes</title>
   </properties>
   <body>
-    <release version="1.0" date="TBD" description="
+    <release version="1.0" date="2016-11-30" description="
 This is the first release of Apache Commons RNG.
 
 Apache Commons RNG 1.0 contains the following modules:
diff --git a/src/site/xdoc/download_rng.xml b/src/site/xdoc/download_rng.xml
index 0d09e8f..e8890a0 100644
--- a/src/site/xdoc/download_rng.xml
+++ b/src/site/xdoc/download_rng.xml
@@ -61,9 +61,94 @@
   </properties>
   <body>
     <section name="Download Apache Commons RNG">
-      <!-- DO NOT RUN "mvn commons:download-page" until there is something to download
-           from this page -->
-      <i>Coming soon.</i>
+    <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
+        the downloaded files using signatures downloaded from our main
+        distribution directories. Recent releases (48 hours) may not yet
+        be available from all the mirrors.
+      </p>
+
+      <p>
+        You are currently using <b>[preferred]</b>.  If you
+        encounter a problem with this mirror, please select another
+        mirror.  If all mirrors are failing, there are <i>backup</i>
+        mirrors (at the end of the mirrors list) that should be
+        available.
+        <br></br>
+        [if-any logo]<a href="[link]"><img align="right" src="[logo]" border="0"></img></a>[end]
+      </p>
+
+      <form action="[location]" method="get" id="SelectMirror">
+        <p>
+          Other mirrors:
+          <select name="Preferred">
+          [if-any http]
+            [for http]<option value="[http]">[http]</option>[end]
+          [end]
+          [if-any ftp]
+            [for ftp]<option value="[ftp]">[ftp]</option>[end]
+          [end]
+          [if-any backup]
+            [for backup]<option value="[backup]">[backup] (backup)</option>[end]
+          [end]
+          </select>
+          <input type="submit" value="Change"></input>
+        </p>
+      </form>
+
+      <p>
+        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>MD5</code> hash (<code>*.md5</code> checksum files).
+      </p>
+      <p>
+        The <a href="https://www.apache.org/dist/commons/KEYS">KEYS</a>
+        file contains the public PGP keys used by Apache Commons developers
+        to sign releases.
+      </p>
+    </subsection>
+    </section>
+    <section name="Apache Commons RNG 1.0 (requires Java 6+)">
+      <subsection name="Binaries">
+        <table>
+          <tr>
+              <td><a href="[preferred]/commons/rng/binaries/commons-rng-1.0-bin.tar.gz">commons-rng-1.0-bin.tar.gz</a></td>
+              <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.0-bin.tar.gz.md5">md5</a></td>
+              <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.0-bin.tar.gz.asc">pgp</a></td>
+          </tr>
+          <tr>
+              <td><a href="[preferred]/commons/rng/binaries/commons-rng-1.0-bin.zip">commons-rng-1.0-bin.zip</a></td>
+              <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.0-bin.zip.md5">md5</a></td>
+              <td><a href="https://www.apache.org/dist/commons/rng/binaries/commons-rng-1.0-bin.zip.asc">pgp</a></td>
+          </tr>
+        </table>
+      </subsection>
+      <subsection name="Source">
+        <table>
+          <tr>
+              <td><a href="[preferred]/commons/rng/source/commons-rng-1.0-src.tar.gz">commons-rng-1.0-src.tar.gz</a></td>
+              <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.0-src.tar.gz.md5">md5</a></td>
+              <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.0-src.tar.gz.asc">pgp</a></td>
+          </tr>
+          <tr>
+              <td><a href="[preferred]/commons/rng/source/commons-rng-1.0-src.zip">commons-rng-1.0-src.zip</a></td>
+              <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.0-src.zip.md5">md5</a></td>
+              <td><a href="https://www.apache.org/dist/commons/rng/source/commons-rng-1.0-src.zip.asc">pgp</a></td>
+          </tr>
+        </table>
+      </subsection>
+    </section>
+    <section name="Archives">
+        <p>
+          Older releases can be obtained from the archives.
+        </p>
+        <ul>
+          <li class="download"><a href="[preferred]/commons/rng/">browse download area</a></li>
+          <li><a href="https://archive.apache.org/dist/commons/rng/">archives...</a></li>
+        </ul>
     </section>
   </body>
 </document>
