diff --git a/README.md b/README.md
index 363d4b5..2b602bb 100644
--- a/README.md
+++ b/README.md
@@ -26,11 +26,11 @@
 
 The repository contains two branches:
 
-- The __master__ branch contains the site's HTML framework, comprised of the top-level landing page and the next level of pages, such as Docs, Community, and Releases, and the tools needed to compile the deployable site. 
+- The __master__ branch contains the site's HTML framework, composed of the top-level landing page and the next level of pages, such as Docs, Community, and Releases, and the tools needed to compile the deployable site. 
 
   Content resides under the `website/content` directory. These sources are compiled into a deployable site by gradle scripts using a tool called [Pandoc](http://johnmacfarlane.net/pandoc).
 
-- The __asf-site__ branch contains a copy of the deployable site built from the __master__ branch, fleshed-out with __externally-generated__ content, which includes all non-HTML content such as the User Guide and the Javadocs, which you build separately then add manually before publishing the completed site. Stylesheets also reside on the __asf-site__ branch.
+- The __asf-site__ branch contains a copy of the deployable site built from the __master__ branch, fleshed-out with __externally-generated__ content, which includes all non-framework content such as the User Guide and the Javadocs, which you build separately then add manually on the __asf-site__ branch before publishing the completed site. Stylesheets also reside on the __asf-site__ branch.
 
   To deploy the Apache Geode website, you push the __asf-site__ branch to the upstream Apache repository. An Apache "sync" tool monitors the __asf-site__ branch 
 of the repository and publishes your update to the
diff --git a/website/content/releases/index.html b/website/content/releases/index.html
index bcc1606..4dce8db 100644
--- a/website/content/releases/index.html
+++ b/website/content/releases/index.html
@@ -34,39 +34,39 @@
       <!-- RELEASES -->
       <div class="container">
 
-        <!-- START OF 1.13.0-->
-        <h3>1.13.0</h3>
+        <!-- START OF 1.13.1-->
+        <h3>1.13.1</h3>
         <!-- RELEASE NOTES -->
         <strong><a target="_blank" href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">Release Notes</a></strong>
         <p/>
 
         <!-- BINARY -->
         <span> <strong>Binaries </strong>
-          [<a target="_blank" href="https://apache.org/dyn/closer.cgi/geode/1.13.0/apache-geode-1.13.0.tgz">TGZ</a>, <a target="_blank" href="https://downloads.apache.org/geode/1.13.0/apache-geode-1.13.0.tgz.sha256">SHA-256</a>,
-          <a target="_blank" href="https://downloads.apache.org/geode/1.13.0/apache-geode-1.13.0.tgz.asc">PGP</a> ]
+          [<a target="_blank" href="https://apache.org/dyn/closer.cgi/geode/1.13.1/apache-geode-1.13.1.tgz">TGZ</a>, <a target="_blank" href="https://downloads.apache.org/geode/1.13.1/apache-geode-1.13.1.tgz.sha256">SHA-256</a>,
+          <a target="_blank" href="https://downloads.apache.org/geode/1.13.1/apache-geode-1.13.1.tgz.asc">PGP</a> ]
         </span><br/>
         <!-- SOURCE -->
         <span> <strong>Source</strong>
-          [<a target="_blank" href="https://apache.org/dyn/closer.cgi/geode/1.13.0/apache-geode-1.13.0-src.tgz">TGZ</a>, <a target="_blank" href="https://downloads.apache.org/geode/1.13.0/apache-geode-1.13.0-src.tgz.sha256">SHA-256</a>,
-           <a target="_blank" href="https://downloads.apache.org/geode/1.13.0/apache-geode-1.13.0-src.tgz.asc">PGP</a>
+          [<a target="_blank" href="https://apache.org/dyn/closer.cgi/geode/1.13.1/apache-geode-1.13.1-src.tgz">TGZ</a>, <a target="_blank" href="https://downloads.apache.org/geode/1.13.1/apache-geode-1.13.1-src.tgz.sha256">SHA-256</a>,
+           <a target="_blank" href="https://downloads.apache.org/geode/1.13.1/apache-geode-1.13.1-src.tgz.asc">PGP</a>
            ]
          </span><br/>
         <!-- NATIVE CLIENT SOURCE -->
         <span> <strong>Geode Native Source</strong>
-          [<a target="_blank" href="https://apache.org/dyn/closer.cgi/geode/1.13.0/apache-geode-native-1.13.0-src.tgz">TGZ</a>, <a target="_blank" href="https://downloads.apache.org/geode/1.13.0/apache-geode-native-1.13.0-src.tgz.sha256">SHA-256</a>,
-           <a target="_blank" href="https://downloads.apache.org/geode/1.13.0/apache-geode-native-1.13.0-src.tgz.asc">PGP</a>
+          [<a target="_blank" href="https://apache.org/dyn/closer.cgi/geode/1.13.1/apache-geode-native-1.13.1-src.tgz">TGZ</a>, <a target="_blank" href="https://downloads.apache.org/geode/1.13.1/apache-geode-native-1.13.1-src.tgz.sha256">SHA-256</a>,
+           <a target="_blank" href="https://downloads.apache.org/geode/1.13.1/apache-geode-native-1.13.1-src.tgz.asc">PGP</a>
            ]
          </span><br/>
         <!-- BENCHMARKS -->
         <span> <strong>Benchmarks</strong>
-          [<a target="_blank" href="https://apache.org/dyn/closer.cgi/geode/1.13.0/apache-geode-benchmarks-1.13.0-src.tgz">TGZ</a>, <a target="_blank" href="https://downloads.apache.org/geode/1.13.0/apache-geode-benchmarks-1.13.0-src.tgz.sha256">SHA-256</a>,
-           <a target="_blank" href="https://downloads.apache.org/geode/1.13.0/apache-geode-benchmarks-1.13.0-src.tgz.asc">PGP</a>
+          [<a target="_blank" href="https://apache.org/dyn/closer.cgi/geode/1.13.1/apache-geode-benchmarks-1.13.1-src.tgz">TGZ</a>, <a target="_blank" href="https://downloads.apache.org/geode/1.13.1/apache-geode-benchmarks-1.13.1-src.tgz.sha256">SHA-256</a>,
+           <a target="_blank" href="https://downloads.apache.org/geode/1.13.1/apache-geode-benchmarks-1.13.1-src.tgz.asc">PGP</a>
            ]
          </span><br/>
         <!-- Examples -->
         <span> <strong>Examples</strong>
-           [<a target="_blank" href="https://apache.org/dyn/closer.cgi/geode/1.13.0/apache-geode-examples-1.13.0-src.tgz">TGZ</a>, <a target="_blank" href="https://downloads.apache.org/geode/1.13.0/apache-geode-examples-1.13.0-src.tgz.sha256">SHA-256</a>,
-           <a target="_blank" href="https://downloads.apache.org/geode/1.13.0/apache-geode-examples-1.13.0-src.tgz.asc">PGP</a>
+           [<a target="_blank" href="https://apache.org/dyn/closer.cgi/geode/1.13.1/apache-geode-examples-1.13.1-src.tgz">TGZ</a>, <a target="_blank" href="https://downloads.apache.org/geode/1.13.1/apache-geode-examples-1.13.1-src.tgz.sha256">SHA-256</a>,
+           <a target="_blank" href="https://downloads.apache.org/geode/1.13.1/apache-geode-examples-1.13.1-src.tgz.asc">PGP</a>
            ]
          </span><br/>
 
@@ -75,7 +75,7 @@
           <strong>Gradle</strong>
 <pre class="prettyprint">
 dependencies {
-  compile 'org.apache.geode:geode-core:1.13.0'
+  compile 'org.apache.geode:geode-core:1.13.1'
 }
 </pre>
           <strong>Maven</strong>
@@ -84,12 +84,12 @@
   &lt;dependency&gt;
     &lt;groupId&gt;org.apache.geode&lt;/groupId&gt;
     &lt;artifactId&gt;geode-core&lt;/artifactId&gt;
-    &lt;version&gt;1.13.0&lt;/version&gt;
+    &lt;version&gt;1.13.1&lt;/version&gt;
   &lt;/dependency&gt;
 &lt;/dependencies&gt;
 </pre>
         </div>
-        <!-- END OF 1.13.0 -->
+        <!-- END OF 1.13.1 -->
 
         <!-- START OF 1.12.0-->
         <h3>1.12.0</h3>
