diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index e69de29..552bda6 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -0,0 +1,26 @@
+
+              Apache Commons Geometry 1.0-beta1 RELEASE NOTES
+
+The Apache Commons Geometry team is pleased to announce the release of
+Apache Commons Geometry 1.0-beta1
+
+The Apache Commons Geometry project provides geometric types and utilities.
+
+This is a beta release of Apache Commons Geometry. No guarantees are made regarding the stability
+of the API or compatibility with future releases.
+
+Apache Commons Geometry 1.0-beta1 contains the following library modules:
+ commons-geometry-core (requires Java 8+)
+ commons-geometry-euclidean (requires Java 8+)
+ commons-geometry-spherical (requires Java 8+)
+ commons-geometry-hull (requires Java 8+)
+ commons-geometry-enclosing (requires Java 8+)
+
+No changes defined in this version.
+
+For complete information on Apache Commons Geometry, including instructions on how to submit bug
+reports, patches, or suggestions for improvement, see the Apache Commons Geometry website:
+
+https://commons.apache.org/proper/commons-geometry/
+
+
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index bc9ed7d..9dd1eea 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -51,16 +51,29 @@
   </properties>
   <body>
 
-    <release version="1.0" date="TBD" description="
-This is the first release of Apache Commons Geometry.
+        <release version="1.0" date="TBD" description="
+This is the first major release of Apache Commons Geometry.
 
-Apache Commons RNG 1.0 contains the following modules:
-  commons-geometry-core (requires Java 8)
-  commons-geometry-bsp (requires Java 8)
-  commons-geometry-hull (requires Java 8)
-  commons-geometry-enclosing (requires Java 8)
-  commons-geometry-spherical (requires Java 8)
-  commons-geometry-euclidean (requires Java 8)
+Apache Commons Geometry 1.0 contains the following library modules:
+  commons-geometry-core (requires Java 8+)
+  commons-geometry-euclidean (requires Java 8+)
+  commons-geometry-spherical (requires Java 8+)
+  commons-geometry-hull (requires Java 8+)
+  commons-geometry-enclosing (requires Java 8+)
+">
+    </release>
+
+    <release version="1.0-beta1" date="2020-07-20" description="
+This is a beta release of Apache Commons Geometry. No guarantees are
+made regarding the stability of the API or compatibility with future
+releases.
+
+Apache Commons Geometry 1.0-beta1 contains the following library modules:
+  commons-geometry-core (requires Java 8+)
+  commons-geometry-euclidean (requires Java 8+)
+  commons-geometry-spherical (requires Java 8+)
+  commons-geometry-hull (requires Java 8+)
+  commons-geometry-enclosing (requires Java 8+)
 ">
     </release>
 
diff --git a/src/site/resources/release-notes/RELEASE-NOTES-1.0-beta1.txt b/src/site/resources/release-notes/RELEASE-NOTES-1.0-beta1.txt
new file mode 100644
index 0000000..552bda6
--- /dev/null
+++ b/src/site/resources/release-notes/RELEASE-NOTES-1.0-beta1.txt
@@ -0,0 +1,26 @@
+
+              Apache Commons Geometry 1.0-beta1 RELEASE NOTES
+
+The Apache Commons Geometry team is pleased to announce the release of
+Apache Commons Geometry 1.0-beta1
+
+The Apache Commons Geometry project provides geometric types and utilities.
+
+This is a beta release of Apache Commons Geometry. No guarantees are made regarding the stability
+of the API or compatibility with future releases.
+
+Apache Commons Geometry 1.0-beta1 contains the following library modules:
+ commons-geometry-core (requires Java 8+)
+ commons-geometry-euclidean (requires Java 8+)
+ commons-geometry-spherical (requires Java 8+)
+ commons-geometry-hull (requires Java 8+)
+ commons-geometry-enclosing (requires Java 8+)
+
+No changes defined in this version.
+
+For complete information on Apache Commons Geometry, including instructions on how to submit bug
+reports, patches, or suggestions for improvement, see the Apache Commons Geometry website:
+
+https://commons.apache.org/proper/commons-geometry/
+
+
diff --git a/src/site/xdoc/download_geometry.xml b/src/site/xdoc/download_geometry.xml
index d76f488..5535862 100644
--- a/src/site/xdoc/download_geometry.xml
+++ b/src/site/xdoc/download_geometry.xml
@@ -1,118 +1,156 @@
-<?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 GENERATED BY THE COMMONS BUILD PLUGIN      ****|
- |****                    DO NOT EDIT DIRECTLY                      ****|
- |****                                                              ****|
- +======================================================================+
- | TEMPLATE FILE: download-page-template.xml                            |
- | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
- +======================================================================+
- |                                                                      |
- | 1) Re-generate using: mvn commons:download-page                      |
- |                                                                      |
- | 2) Set the following properties in the component's pom:              |
- |    - commons.componentid (required, alphabetic, lower case)          |
- |    - commons.release.version (required)                              |
- |    - commons.release.name    (required)                              |
- |    - commons.binary.suffix   (optional)                              |
- |      (defaults to "-bin", set to "" for pre-maven2 releases)         |
- |    - commons.release.desc    (optional)                              |
- |    - commons.release.subdir  (optional)                              |
- |                                                                      |
- |    - commons.release.2/3.version       (conditional)                 |
- |    - commons.release.2/3.name          (conditional)                 |
- |    - commons.release.2/3.binary.suffix (optional)                    |
- |    - commons.release.2/3.desc          (optional)                    |
- |    - commons.release.2/3.subdir        (optional)                    |
- |                                                                      |
- | 3) Example Properties                                                |
- |    (commons.release.name inherited by parent:                        |
- |     ${project.artifactId}-${commons.release.version}                 |
- |                                                                      |
- |  <properties>                                                        |
- |    <commons.componentid>math</commons.componentid>                   |
- |    <commons.release.version>1.2</commons.release.version>            |
- |  </properties>                                                       |
- |                                                                      |
- +======================================================================+
--->
-<document>
-  <properties>
-    <title>Download Apache Commons Geometry</title>
-    <author email="dev@commons.apache.org">Apache Commons Documentation Team</author>
-  </properties>
-  <body>
-    <section name="Download Apache Commons Geometry">
-    <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>SHA256</code> hash (<code>*.SHA256</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>
+<?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 GENERATED BY THE COMMONS BUILD PLUGIN      ****|
+ |****                    DO NOT EDIT DIRECTLY                      ****|
+ |****                                                              ****|
+ +======================================================================+
+ | TEMPLATE FILE: download-page-template.xml                            |
+ | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
+ +======================================================================+
+ |                                                                      |
+ | 1) Re-generate using: mvn commons-build:download-page                |
+ |                                                                      |
+ | 2) Set the following properties in the component's pom:              |
+ |    - commons.componentid     (required, alphabetic, lower case)      |
+ |    - commons.release.version (required)                              |
+ |    - commons.release.name    (required)                              |
+ |    - commons.binary.suffix   (optional)                              |
+ |      (defaults to "-bin", set to "" for pre-maven2 releases)         |
+ |    - commons.release.desc    (optional)                              |
+ |    - commons.release.subdir  (optional)                              |
+ |    - 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, [sha512])|
+ |                                                                      |
+ | 3) Example Properties                                                |
+ |    (commons.release.name inherited by parent:                        |
+ |     ${project.artifactId}-${commons.release.version}                 |
+ |                                                                      |
+ |  <properties>                                                        |
+ |    <commons.componentid>math</commons.componentid>                   |
+ |    <commons.release.version>1.2</commons.release.version>            |
+ |  </properties>                                                       |
+ |                                                                      |
+ +======================================================================+
+-->
+<document>
+  <properties>
+    <title>Download Apache Commons Geometry</title>
+    <author email="dev@commons.apache.org">Apache Commons Documentation Team</author>
+  </properties>
+  <body>
+    <section name="Download Apache Commons Geometry">
+    <subsection name="Using a Mirror">
+      <p>
+        We recommend you use a mirror to download our release
+        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.
+      </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>SHA512</code> hash (<code>*.sha512</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 Geometry 1.0-beta1 (requires Java 8+)">
+      <subsection name="Binaries">
+        <table>
+          <tr>
+              <td><a href="[preferred]/commons/geometry/binaries/commons-geometry-1.0-beta1-bin.tar.gz">commons-geometry-1.0-beta1-bin.tar.gz</a></td>
+              <td><a href="https://www.apache.org/dist/commons/geometry/binaries/commons-geometry-1.0-beta1-bin.tar.gz.sha512">sha512</a></td>
+              <td><a href="https://www.apache.org/dist/commons/geometry/binaries/commons-geometry-1.0-beta1-bin.tar.gz.asc">pgp</a></td>
+          </tr>
+          <tr>
+              <td><a href="[preferred]/commons/geometry/binaries/commons-geometry-1.0-beta1-bin.zip">commons-geometry-1.0-beta1-bin.zip</a></td>
+              <td><a href="https://www.apache.org/dist/commons/geometry/binaries/commons-geometry-1.0-beta1-bin.zip.sha512">sha512</a></td>
+              <td><a href="https://www.apache.org/dist/commons/geometry/binaries/commons-geometry-1.0-beta1-bin.zip.asc">pgp</a></td>
+          </tr>
+        </table>
+      </subsection>
+      <subsection name="Source">
+        <table>
+          <tr>
+              <td><a href="[preferred]/commons/geometry/source/commons-geometry-1.0-beta1-src.tar.gz">commons-geometry-1.0-beta1-src.tar.gz</a></td>
+              <td><a href="https://www.apache.org/dist/commons/geometry/source/commons-geometry-1.0-beta1-src.tar.gz.sha512">sha512</a></td>
+              <td><a href="https://www.apache.org/dist/commons/geometry/source/commons-geometry-1.0-beta1-src.tar.gz.asc">pgp</a></td>
+          </tr>
+          <tr>
+              <td><a href="[preferred]/commons/geometry/source/commons-geometry-1.0-beta1-src.zip">commons-geometry-1.0-beta1-src.zip</a></td>
+              <td><a href="https://www.apache.org/dist/commons/geometry/source/commons-geometry-1.0-beta1-src.zip.sha512">sha512</a></td>
+              <td><a href="https://www.apache.org/dist/commons/geometry/source/commons-geometry-1.0-beta1-src.zip.asc">pgp</a></td>
+          </tr>
+        </table>
+      </subsection>
     </section>
-    <section name="Apache Commons Geometry 1.0 (requires Java 8+)">
-    	<p>There is no release yet. Please come and help development</p>
+    <section name="Archives">
+        <p>
+          Older releases can be obtained from the archives.
+        </p>
+        <ul>
+          <li class="download"><a href="[preferred]/commons/geometry/">browse download area</a></li>
+          <li><a href="https://archive.apache.org/dist/commons/geometry/">archives...</a></li>
+        </ul>
     </section>
   </body>
 </document>
diff --git a/src/site/xdoc/release-history.xml b/src/site/xdoc/release-history.xml
index a14ad1f..a8388f7 100644
--- a/src/site/xdoc/release-history.xml
+++ b/src/site/xdoc/release-history.xml
@@ -20,16 +20,16 @@
   </properties>
   <body>
     <!-- ================================================== -->
-    <!--section name="Commons Geometry Release History">
+    <section name="Commons Geometry Release History">
       <p><em>Note.</em> For older javadocs see the individal 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.0</td><td>????-??-??</td><td>8+</td><td><a href="release-notes/RELEASE-NOTES-1.0.txt">release notes for 1.0</a></td>
+          <td>1.0-beta1</td><td>2020-07-20</td><td>8+</td><td><a href="release-notes/RELEASE-NOTES-1.0-beta1.txt">release notes for 1.0-beta1</a></td>
         </tr>
       </table>
 
-    </section-->
+    </section>
     <!-- ================================================== -->
   </body>
 </document>
