diff --git a/docs/geode-native/cpp/113/about-client-users-guide.html b/docs/geode-native/cpp/113/about-client-users-guide.html
index b55f8b6..976e02a 100644
--- a/docs/geode-native/cpp/113/about-client-users-guide.html
+++ b/docs/geode-native/cpp/113/about-client-users-guide.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/client-cache-ref.html b/docs/geode-native/cpp/113/client-cache-ref.html
index b5d8c3b..9017b15 100644
--- a/docs/geode-native/cpp/113/client-cache-ref.html
+++ b/docs/geode-native/cpp/113/client-cache-ref.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/configuring/config-client-cache.html b/docs/geode-native/cpp/113/configuring/config-client-cache.html
index a8ebca8..8832688 100644
--- a/docs/geode-native/cpp/113/configuring/config-client-cache.html
+++ b/docs/geode-native/cpp/113/configuring/config-client-cache.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/configuring/configuration.html b/docs/geode-native/cpp/113/configuring/configuration.html
index b385bf3..73ff8fa 100644
--- a/docs/geode-native/cpp/113/configuring/configuration.html
+++ b/docs/geode-native/cpp/113/configuring/configuration.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/configuring/sysprops.html b/docs/geode-native/cpp/113/configuring/sysprops.html
index 176bb85..c4530e7 100644
--- a/docs/geode-native/cpp/113/configuring/sysprops.html
+++ b/docs/geode-native/cpp/113/configuring/sysprops.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/configuring/system-level-configuration.html b/docs/geode-native/cpp/113/configuring/system-level-configuration.html
index ae4fffd..51b3b5d 100644
--- a/docs/geode-native/cpp/113/configuring/system-level-configuration.html
+++ b/docs/geode-native/cpp/113/configuring/system-level-configuration.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/connection-pools/about-connection-pools.html b/docs/geode-native/cpp/113/connection-pools/about-connection-pools.html
deleted file mode 100644
index 1451d85..0000000
--- a/docs/geode-native/cpp/113/connection-pools/about-connection-pools.html
+++ /dev/null
@@ -1,301 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Connection Pools |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_connection-pools docs_geode-native_cpp_113_connection-pools_about-connection-pools has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Connection Pools
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Clients contain connection pools. Each region is associated with a connection pool using a region attribute, and operations on the region use connections from the respective pools.</p>
-
-<p>The server connectivity options are specified in the connection pool configuration. Each pool has a minimum and maximum number of connections.</p>
-
-<p>Each cache operation that requires server connectivity obtains a connection from the pool for the server group that the operation affects, performs the operation using the connection, and returns the connection to the pool. If the pool size is less than the maximum number of connections and all connections are in use, the connection pool creates a new connection and returns it. If the pool is at the maximum number of connections, that thread blocks until a connection becomes available or a <code>free-connection-timeout</code> occurs. If a <code>free-connection-timeout</code> occurs, an <code>AllConnectionsInUse</code> exception is thrown.</p>
-
-<p>The connection pool has a configurable timeout period that is used to expire idle connections. The idle connections are expired until the pool has the minimum number of connections. A monitoring thread expires idle connections, adds sufficient connections to bring up the count to minimum, and closes connections whose lifetime has been exceeded. See the <code>load-conditioning-interval</code> and <code>idle-timeout</code> attributes of the <a href="../../reference/topics/client-cache.html#cc-pool">&lt;pool&gt;</a> element. A separate thread (ping) tests each connected endpoint for its status and if the endpoint is not reachable, the thread closes all connections that have been made to the endpoint. See the <code>ping-interval</code> attribute of the &lt;pool&gt; element&gt;.</p>
-
-<p><a id="client-load-balancing__fig_226964BAA1464DBA9F5CEDC2CB7B3585"></a>
-<span class="figtitleprefix">Figure: </span>Logical Architecture of Client/Server Connections</p>
-
-<p><img src="../images/client-server-arch.gif" id="client-load-balancing__image_1E8316666E1B4CC2ADE4D927B629E49F" class="image" /></p>
-
-<p>When a connection receives an exception, the operation is failed over to another connection from the pool. The failover mechanism obtains the endpoint to failover to from the locator or from the specified endpoint list in the pool.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/connection-pools/about-server-locators.html b/docs/geode-native/cpp/113/connection-pools/about-server-locators.html
deleted file mode 100644
index 58a24c7..0000000
--- a/docs/geode-native/cpp/113/connection-pools/about-server-locators.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Server Locators |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_connection-pools docs_geode-native_cpp_113_connection-pools_about-server-locators has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Server Locators
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Server locators continuously monitor server availability and server load information. The client is configured with a list of server locators and consults a server locator to request a connection to a server in the distributed system.</p>
-
-<p>Locators provide clients with dynamic server discovery and server load balancing. They give clients connection information for the server with the least load at any given time.</p>
-
-<p>Server locators provide these main features:</p>
-
-<ul>
-<li>  <strong>Automated discovery of servers and locators</strong>. Adding and removing servers or locators is made easy as each client does not require a list of servers to be configured at the time of pool creation.</li>
-<li>  <strong>Client load rebalancing</strong>. Server locators give clients dynamic server information and provide server load rebalancing after servers depart or join the system.</li>
-<li>  <strong>High availability</strong>. When a client/server connection receives an exception, the connection is automatically failed over to another available connection in the pool. Redundancy is also provided for client subscriptions.</li>
-</ul>
-
-<p>Alternatively, you can configure a pool statically with a list of endpoints. When the pools are statically configured, a round-robin load balancing policy is used to distribute connections across the servers.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/connection-pools/client-load-balancing.html b/docs/geode-native/cpp/113/connection-pools/client-load-balancing.html
deleted file mode 100644
index 5628334..0000000
--- a/docs/geode-native/cpp/113/connection-pools/client-load-balancing.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      How Client Load Balancing Works |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_connection-pools docs_geode-native_cpp_113_connection-pools_client-load-balancing has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    How Client Load Balancing Works
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>In a distributed system, servers can be added or removed and their capacity to service new client connections may vary. The server connectivity options are specified in the connection pool configuration.</p>
-
-<p>The connection pool API supports connecting to servers through server locators or directly connecting to servers.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/cpp/113/connection-pools/about-server-locators.html">Server Locators</a></strong></p>
-
-<p>Server locators continuously monitor server availability and server load information. The client is configured with a list of server locators and consults a server locator to request a connection to a server in the distributed system.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/connection-pools/about-connection-pools.html">Connection Pools</a></strong></p>
-
-<p>Clients contain connection pools. Each region is associated with a connection pool using a region attribute, and operations on the region use connections from the respective pools.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/connection-pools/discovering-locators-dynamically.html">Discovering Locators Dynamically</a></strong></p>
-
-<p>A background thread periodically queries the locator for any other locators joining the distributed system.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/connection-pools/client-pool-api.html b/docs/geode-native/cpp/113/connection-pools/client-pool-api.html
index 885a6fa..267e123 100644
--- a/docs/geode-native/cpp/113/connection-pools/client-pool-api.html
+++ b/docs/geode-native/cpp/113/connection-pools/client-pool-api.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
@@ -246,10 +261,7 @@
 
 <p>The native client API allows your clients to create and manage connection pools. The server side does not have an API.</p>
 
-<p>This section lists the primary native client API for pool management. For complete information on the classes and interfaces described here, see the API documentation.</p>
-
-<p><strong>Note:</strong>
-Only C# versions of Pool API interfaces, classes, and methods are shown throughout the text in this section (example: <code>Pool.GetQueryService()</code>) . The code examples demonstrate both C++ and C# versions.</p>
+<p>The primary native client API for pool management is <code>Apache.Geode.Client.Cache</code>. For complete information on the classes and interfaces described here, see the API documentation.</p>
 
 <p><strong>Apache.Geode.Client.Cache</strong></p>
 
diff --git a/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html b/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html
index 4b14bf2..b727b76 100644
--- a/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html
+++ b/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
@@ -244,7 +259,7 @@
 limitations under the License.
 -->
 
-<p>Connection pools require standard client/server distributed system and cache configuration settings. You must also configure settings for the locator, server, and pool elements.</p>
+<p>Connection pools require a standard client/server distributed system and cache configuration settings. You must also configure settings for the locator, server, and pool elements.</p>
 
 <ul>
 <li>  Locator. Host and port where a server locator is listening.</li>
@@ -252,11 +267,35 @@
 <li>  Pool. Client/server connection pool.</li>
 </ul>
 
-<p>The example shows a declarative pool configuration. Following the example is a table that describes the attributes that can be configured.</p>
+<p>This page shows examples of creating a pool configuration programmatically using C++ code, and declaratively using XML.</p>
 
-<h2 id="example—declarative-pool-configuration">Example—Declarative Pool Configuration</h2>
+<h2 id="programmatic-pool-configuration">Programmatic Pool Configuration</h2>
 
-<p>This example shows a declarative pool configuration.</p>
+<p>This example shows a programmatic pool configuration. For a list of the attributes you can configure, see <code>PoolFactory</code> in the API docs.</p>
+<pre class="highlight cpp"><code><span class="n">cache</span><span class="p">.</span><span class="n">getPoolManager</span><span class="p">()</span>
+      <span class="p">.</span><span class="n">createFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="n">addLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="mi">34756</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">setFreeConnectionTimeout</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">chrono</span><span class="o">::</span><span class="n">milliseconds</span><span class="p">(</span><span class="mi">12345</span><span class="p">))</span>
+      <span class="p">.</span><span class="n">setLoadConditioningInterval</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">chrono</span><span class="o">::</span><span class="n">milliseconds</span><span class="p">(</span><span class="mi">23456</span><span class="p">))</span>
+      <span class="p">.</span><span class="n">setMaxConnections</span><span class="p">(</span><span class="mi">7</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">setMinConnections</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">setPingInterval</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">chrono</span><span class="o">::</span><span class="n">milliseconds</span><span class="p">(</span><span class="mi">12345</span><span class="p">))</span>
+      <span class="p">.</span><span class="n">setReadTimeout</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">chrono</span><span class="o">::</span><span class="n">milliseconds</span><span class="p">(</span><span class="mi">23456</span><span class="p">))</span>
+      <span class="p">.</span><span class="n">setRetryAttempts</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">setServerGroup</span><span class="p">(</span><span class="s">"ServerGroup1"</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">setSocketBufferSize</span><span class="p">(</span><span class="mi">32768</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">setStatisticInterval</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">chrono</span><span class="o">::</span><span class="n">milliseconds</span><span class="p">(</span><span class="mi">10123</span><span class="p">))</span>
+      <span class="p">.</span><span class="n">setSubscriptionAckInterval</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">chrono</span><span class="o">::</span><span class="n">milliseconds</span><span class="p">(</span><span class="mi">567</span><span class="p">))</span>
+      <span class="p">.</span><span class="n">setSubscriptionEnabled</span><span class="p">(</span><span class="nb">true</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">setSubscriptionMessageTrackingTimeout</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">chrono</span><span class="o">::</span><span class="n">milliseconds</span><span class="p">(</span><span class="mi">900123</span><span class="p">))</span>
+      <span class="p">.</span><span class="n">setSubscriptionRedundancy</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">setThreadLocalConnections</span><span class="p">(</span><span class="nb">true</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"test_pool_1"</span><span class="p">);</span>
+</code></pre>
+
+<h2 id="declarative-pool-configuration">Declarative Pool Configuration</h2>
+
+<p>This example shows a declarative pool configuration. Following the example is a table that describes the XML pool attributes you can configure.</p>
 
 <p><strong>Note:</strong>
 You create an instance of <code>PoolFactory</code> through <code>PoolManager</code>.</p>
diff --git a/docs/geode-native/cpp/113/connection-pools/configuring-pools.html b/docs/geode-native/cpp/113/connection-pools/configuring-pools.html
index ca32fa7..96d1846 100644
--- a/docs/geode-native/cpp/113/connection-pools/configuring-pools.html
+++ b/docs/geode-native/cpp/113/connection-pools/configuring-pools.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
@@ -258,9 +273,6 @@
 <li><p><strong><a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a></strong></p>
 
 <p>Each connection pool has a single subscription connection that can be to any server that matches the requirements of the connection pool.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/connection-pools/running-connection-pool-code.html">Running the Connection Pool Code</a></strong></p>
-
-<p>Examples demonstrate a simple procedure to create a pool factory and then create a pool instance in C++ and C#. They also help you to execute a query.</p></li>
 </ul>
 
         
diff --git a/docs/geode-native/cpp/113/connection-pools/connection-pools.html b/docs/geode-native/cpp/113/connection-pools/connection-pools.html
deleted file mode 100644
index 888300c..0000000
--- a/docs/geode-native/cpp/113/connection-pools/connection-pools.html
+++ /dev/null
@@ -1,297 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Using Connection Pools |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_connection-pools docs_geode-native_cpp_113_connection-pools_connection-pools has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Using Connection Pools
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p><em>Using Connection Pools</em> describes how connection pools achieve load balancing for the client and describes how to configure connection pools as server locators or as a list of servers.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/cpp/113/connection-pools/client-load-balancing.html">How Client Load Balancing Works</a></strong></p>
-
-<p>In a distributed system, servers can be added or removed and their capacity to service new client connections may vary. The server connectivity options are specified in the connection pool configuration.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a></strong></p>
-
-<p>A pool can be configured as locators or as a list of servers.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/connection-pools/discovering-locators-dynamically.html b/docs/geode-native/cpp/113/connection-pools/discovering-locators-dynamically.html
deleted file mode 100644
index 283e515..0000000
--- a/docs/geode-native/cpp/113/connection-pools/discovering-locators-dynamically.html
+++ /dev/null
@@ -1,298 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Discovering Locators Dynamically |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_connection-pools docs_geode-native_cpp_113_connection-pools_discovering-locators-dynamically has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Discovering Locators Dynamically
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>A background thread periodically queries the locator for any other locators joining the distributed system.</p>
-
-<p>However, if locator A (to which the client is connected) goes down before it discovers locator B, locator B is never discovered even though it is alive and the client receives a <code>NoLocatorsAvailable</code> exception.</p>
-
-<p>One connection is attached to every application thread that is <code>local</code> to the respective thread. This is known as a thread local connection.</p>
-
-<p>In this case, to perform any cache operation the client is not required to obtain a connection from pool. Instead the thread local connection of the client is used.</p>
-
-<p>A thread local connection can be released by invoking the <code>Pool::releaseThreadLocalConnection()</code> method. The released connection is returned to the pool. If the number of threads is larger than the number of <code>max-connections</code>, the client throws an <code>AllConnectionsInUseException</code> after the <code>free-connection-timeout</code> lapses, unless the <code>Pool::releaseThreadLocalConnection()</code> method is used judiciously.</p>
-
-<p>If a connection expires or the server goes down on which the connection was established, a thread local connection is immediately replaced with a good connection obtained from the pool.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/connection-pools/running-connection-pool-code.html b/docs/geode-native/cpp/113/connection-pools/running-connection-pool-code.html
deleted file mode 100644
index d211ccd..0000000
--- a/docs/geode-native/cpp/113/connection-pools/running-connection-pool-code.html
+++ /dev/null
@@ -1,336 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Running the Connection Pool Code |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_connection-pools docs_geode-native_cpp_113_connection-pools_running-connection-pool-code has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Running the Connection Pool Code
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Examples demonstrate a simple procedure to create a pool factory and then create a pool instance in C++ and C#. They also help you to execute a query.</p>
-
-<p>The examples create a pool with locators. Ensure that you create a pool with locators or endpoints, but not both. The first example demonstrates creating a pool by adding locators. The second example demonstrates creating a pool by adding servers. For more information, see the example in the QuickStart Guide.</p>
-
-<h2 id="connection-pool-creation-and-execution-using-c++">Connection Pool Creation and Execution Using C++</h2>
-<pre class="highlight plaintext"><code>PropertiesPtr prptr = Properties::create();
-systemPtr = CacheFactory::createCacheFactory(prptr);
-
-cachePtr = systemPtr-&gt;create();
-PoolFactoryPtr poolFacPtr = PoolManager::createFactory();
-//to create pool add either endpoints or add locators or servers
-//pool with endpoint, adding to pool factory
-//poolFacPtr-&gt;addServer("localhost", 12345 /*port number*/);
-//pool with locator, adding to pool factory
-poolFacPtr-&gt;addLocator("localhost", 34756 /*port number*/);
-PoolPtr pptr = NULLPTR;
-if ((PoolManager::find("examplePool")) == NULLPTR) {
-  // Pool with this name does not exist
-  pptr = poolFacPtr-&gt;create("examplePool");
-}
-RegionFactoryPtr regionFactory =
-    cachePtr-&gt;createRegionFactory(CACHING_PROXY);
-regionPtr = regionFactory
-    -&gt;setPoolName("examplePool")
-    -&gt;create("regionName");
-QueryServicePtr qs = cachePtr-&gt;getQueryService("examplePool");
-</code></pre>
-
-<h2 id="connection-pool-creation-and-execution-using-c#-.net">Connection Pool Creation and Execution Using C# .NET</h2>
-<pre class="highlight plaintext"><code>Properties prop = Properties.Create();
-CacheFactory cacheFactory = CacheFactory.CreateCacheFactory(prop);
-Cache cache = cacheFactory.Create();
-
-PoolFactory poolFact = PoolManager.CreateFactory();
-//to create pool add either endpoints or add locators
-//pool with endpoint, adding to pool factory.
-poolFact.AddServer("localhost", 40404 /*port number*/);
-//pool with locator, adding to pool factory
-//poolFact.AddLocator("hostname", 15000 /*port number*/);
-Pool pool = null;
-if (PoolManager.Find("poolName") == null) {
-  pool = poolFact.Create("poolName");
-}
-int loadConditInterval = pool.LoadConditioningInterval;
-RegionFactory regionFactory =
-    cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
-IRegion&lt;string, string&gt; region =
-    regionFactory.SetPoolName(poolName).Create&lt;string, string&gt;(regionName);
-</code></pre>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/connection-pools/subscription-properties.html b/docs/geode-native/cpp/113/connection-pools/subscription-properties.html
index 76b818c..425ce9f 100644
--- a/docs/geode-native/cpp/113/connection-pools/subscription-properties.html
+++ b/docs/geode-native/cpp/113/connection-pools/subscription-properties.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
@@ -248,7 +263,7 @@
 
 <p>When a client registers interest for a region, if the connection pool does not already have a subscription channel, the connection pool sends a message to the server locator, and the server locator chooses servers to host the queue and return those server names to the client. The client then contacts the chosen servers and asks them to create the queue.</p>
 
-<p>The client maintains at least one connection with each server hosting a queue. If the server does not detect any connections from a non-durable client, it drops the client queue and closes all artifacts for the client. For information about durable client subscriptions, see <a href="/docs/geode-native/cpp/113/preserving-data/durable-client-messaging.html#concept_F88B659FB4324F599924F3F2933452B4">Durable Client Messaging</a>.</p>
+<p>The client maintains at least one connection with each server hosting a queue. If the server does not detect any connections from a non-durable client, it drops the client queue and closes all artifacts for the client. For information about durable client subscriptions, see <a href="/serverman/developing/events/implementing_durable_client_server_messaging.html">Implementing Durable Client/Server Messaging</a>.</p>
 
 <h2 id="requesting-a-subscription-region-queue"><a id="subscription-properties__section_294BD33FBDC6454FAD9C5118829EBBA4" class="no-quick-link"></a>Requesting a Subscription Region Queue</h2>
 
diff --git a/docs/geode-native/cpp/113/continuous-queries.html b/docs/geode-native/cpp/113/continuous-queries.html
index 577e92f..25c6f75 100644
--- a/docs/geode-native/cpp/113/continuous-queries.html
+++ b/docs/geode-native/cpp/113/continuous-queries.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
@@ -267,8 +282,8 @@
 server-to-client messaging mechanisms to send events. All tuning of your server-to-client
 messaging also tunes the messaging of your CQ events. If your system is configured for high
 availability then your CQs are highly available, with seamless failover provided in case of
-server failure (see <a href="/docs/geode-native/cpp/113/preserving-data/high-availability-client-server.html">High Availability for Client-to-Server Communication</a>). 
-If your clients are durable, you can also define any of your CQs as durable (see <a href="/docs/geode-native/cpp/113/preserving-data/durable-client-messaging.html">Durable Client Messaging</a>).</p></li>
+server failure (see <a href="/serverman/developing/events/ha_event_messaging_whats_next.html">Highly Available Client/Server Event Messaging</a>). 
+If your clients are durable, you can also define any of your CQs as durable (see <a href="/serverman/developing/events/implementing_durable_client_server_messaging.html">Implementing Durable Client/Server Messaging</a>).</p></li>
 <li><p><strong>Interest criteria based on data values</strong>. Continuous queries are run against the region&rsquo;s entry values. 
 Compare this to register interest by reviewing <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>.</p></li>
 <li><p><strong>Active query execution</strong>. Once initialized, the queries operate on new events. Events that change the query result are sent to the client immediately.</p></li>
diff --git a/docs/geode-native/cpp/113/function-execution.html b/docs/geode-native/cpp/113/function-execution.html
index 4c50136..027a945 100644
--- a/docs/geode-native/cpp/113/function-execution.html
+++ b/docs/geode-native/cpp/113/function-execution.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/getting-started/app-dev-walkthrough-cpp.html b/docs/geode-native/cpp/113/getting-started/app-dev-walkthrough-cpp.html
index 29da9ef..09eca00 100644
--- a/docs/geode-native/cpp/113/getting-started/app-dev-walkthrough-cpp.html
+++ b/docs/geode-native/cpp/113/getting-started/app-dev-walkthrough-cpp.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html b/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html
index a43b634..153cabe 100644
--- a/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html
+++ b/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
@@ -271,35 +286,34 @@
 <p>To connect to a server, your application must follow these steps:</p>
 
 <ol>
-<li>Instantiate a <code>CacheFactory</code>, setting characteristics of interest (for example, <code>log-level</code>).</li>
-<li>Create a cache and use it to instantiate a <code>PoolFactory</code>, specifying the hostname and port for the server locator.</li>
-<li>Create a named pool of network connections.</li>
-<li>Instantiate a region of the desired type (usually CACHING_PROXY or PROXY) and connect it by name to its counterpart on the server.</li>
+<li>Create a cache, setting characteristics of interest (for example, <code>log-level</code>).</li>
+<li>Use the cache to create a named pool of network connections, specifying the hostname and port for at least one server locator.</li>
+<li>Instantiate a region of the desired type (usually PROXY, sometimes CACHING_PROXY) and connect it by name to its counterpart on the server.</li>
 </ol>
 
 <p>Once the connection pool and the shared region are in place, your client application is ready to share data with the server.</p>
 
 <p><strong>Server Connection: C++ Example</strong></p>
 
-<p>This example of connecting to the server is taken from the C++ <code>put-get-remove</code> example.</p>
+<p>Create a cache and set its characteristics:</p>
+<pre class="highlight cpp"><code><span class="k">auto</span> <span class="n">cache</span> <span class="o">=</span> <span class="n">CacheFactory</span><span class="p">()</span>
+    <span class="p">.</span><span class="n">set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"debug"</span><span class="p">)</span>
+    <span class="p">.</span><span class="n">set</span><span class="p">(</span><span class="s">"ssl-enabled"</span><span class="p">,</span> <span class="s">"true"</span><span class="p">)</span>
+    <span class="p">.</span><span class="n">set</span><span class="p">(</span><span class="s">"ssl-truststore"</span><span class="p">,</span> <span class="n">clientTruststore</span><span class="p">.</span><span class="n">string</span><span class="p">())</span>
+    <span class="p">.</span><span class="n">create</span><span class="p">();</span>
+</code></pre>
 
-<p>Instantiate a <code>CacheFactory</code> and set its characteristics:</p>
-<pre class="highlight cpp"><code>  <span class="k">auto</span> <span class="n">cacheFactory</span> <span class="o">=</span> <span class="n">CacheFactory</span><span class="p">();</span>             <span class="c1">// instantiate cache factory
-</span>  <span class="n">cacheFactory</span><span class="p">.</span><span class="n">set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">);</span>          <span class="c1">// set cache log-level characteristics
-</span></code></pre>
+<p>Use the cache to create a named pool of network connections, specifying the hostname and port for the server locator:</p>
+<pre class="highlight cpp"><code><span class="n">cache</span><span class="p">.</span><span class="n">getPoolManager</span><span class="p">()</span>
+      <span class="p">.</span><span class="n">createFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="n">addLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="mi">10334</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
+</code></pre>
 
-<p>Create a cache and use it to instantiate a <code>PoolFactory</code>:</p>
-<pre class="highlight cpp"><code>  <span class="k">auto</span> <span class="n">cache</span> <span class="o">=</span> <span class="n">cacheFactory</span><span class="p">.</span><span class="n">create</span><span class="p">();</span>                         <span class="c1">// create cache
-</span>  <span class="k">auto</span> <span class="n">poolFactory</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">getPoolManager</span><span class="p">().</span><span class="n">createFactory</span><span class="p">();</span>  <span class="c1">// instantiate pool factory
-</span>
-  <span class="n">poolFactory</span><span class="p">.</span><span class="n">addLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="mi">10334</span><span class="p">);</span>                 <span class="c1">// add locator to pool factory
-</span></code></pre>
-
-<p>Create a named pool of network connections, and instantiate a region of the desired type:</p>
-<pre class="highlight cpp"><code>  <span class="k">auto</span> <span class="n">pool</span> <span class="o">=</span> <span class="n">poolFactory</span><span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>                     <span class="c1">// create a pool called "pool" that knows where the server is
-</span>  <span class="k">auto</span> <span class="n">regionFactory</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">createRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="o">::</span><span class="n">PROXY</span><span class="p">);</span> <span class="c1">// instantiate region factory with PROXY characteristics
-</span>  <span class="k">auto</span> <span class="n">region</span> <span class="o">=</span> <span class="n">regionFactory</span><span class="p">.</span><span class="n">setPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">).</span><span class="n">create</span><span class="p">(</span><span class="s">"example_userinfo"</span><span class="p">);</span> <span class="c1">// create a connection to the region "example_userinfo" on the server
-</span></code></pre>
+<p>Instantiate a region of the desired type and connect to the pool by name::</p>
+<pre class="highlight cpp"><code><span class="k">auto</span> <span class="n">regionFactory</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">createRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="o">::</span><span class="n">PROXY</span><span class="p">);</span>
+<span class="k">auto</span> <span class="n">region</span> <span class="o">=</span> <span class="n">regionFactory</span><span class="p">.</span><span class="n">setPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">).</span><span class="n">create</span><span class="p">(</span><span class="s">"exampleRegion"</span><span class="p">);</span>
+</code></pre>
 
 <p>See the <em>Geode User Guide</em> section <a href="serverman/topologies_and_comm/cs_configuration/setting_up_a_client_server_system.html">Configuring a Client/Server System</a>
 for more details.</p>
diff --git a/docs/geode-native/cpp/113/getting-started/put-get-example.html b/docs/geode-native/cpp/113/getting-started/put-get-example.html
index a623c4f..6599724 100644
--- a/docs/geode-native/cpp/113/getting-started/put-get-example.html
+++ b/docs/geode-native/cpp/113/getting-started/put-get-example.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
@@ -270,13 +285,15 @@
 For the complete source, see the example source directory.</p>
 
 <p>The C++ example creates a cache, then uses it to create a connection pool and a region object (of class <code>Region</code>).</p>
-<pre class="highlight cpp"><code>  <span class="k">auto</span> <span class="n">cacheFactory</span> <span class="o">=</span> <span class="n">CacheFactory</span><span class="p">();</span>
-  <span class="n">cacheFactory</span><span class="p">.</span><span class="n">set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">);</span>
-  <span class="k">auto</span> <span class="n">cache</span> <span class="o">=</span> <span class="n">cacheFactory</span><span class="p">.</span><span class="n">create</span><span class="p">();</span>
-  <span class="k">auto</span> <span class="n">poolFactory</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">getPoolManager</span><span class="p">().</span><span class="n">createFactory</span><span class="p">();</span>
+<pre class="highlight cpp"><code>  <span class="k">auto</span> <span class="n">cache</span> <span class="o">=</span> <span class="n">CacheFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="n">set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">create</span><span class="p">();</span>
 
-  <span class="n">poolFactory</span><span class="p">.</span><span class="n">addLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="mi">10334</span><span class="p">);</span>
-  <span class="k">auto</span> <span class="n">pool</span> <span class="o">=</span> <span class="n">poolFactory</span><span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
+  <span class="n">cache</span><span class="p">.</span><span class="n">getPoolManager</span><span class="p">()</span>
+      <span class="p">.</span><span class="n">createFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="n">addLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="mi">10334</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
+
   <span class="k">auto</span> <span class="n">regionFactory</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">createRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="o">::</span><span class="n">PROXY</span><span class="p">);</span>
   <span class="k">auto</span> <span class="n">region</span> <span class="o">=</span> <span class="n">regionFactory</span><span class="p">.</span><span class="n">setPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">).</span><span class="n">create</span><span class="p">(</span><span class="s">"example_userinfo"</span><span class="p">);</span>
 </code></pre>
diff --git a/docs/geode-native/cpp/113/preserving-data/app-ops-during-int-reg.html b/docs/geode-native/cpp/113/preserving-data/app-ops-during-int-reg.html
deleted file mode 100644
index 181a0a7..0000000
--- a/docs/geode-native/cpp/113/preserving-data/app-ops-during-int-reg.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Application Operations During Interest Registration |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_app-ops-during-int-reg has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Application Operations During Interest Registration
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>As soon as the client creates its regions, the application hosting the client can start cache operations, even while the client is still receiving its interest registration responses.</p>
-
-<p>In that case, application operations take precedence over interest registration responses.</p>
-
-<p>When adding register interest responses to the cache, the following rules are applied:</p>
-
-<ul>
-<li>  If the entry already exists in the cache with a valid value, it is not updated.</li>
-<li>  If the entry is invalid and the register interest response is valid, the valid value is put into the cache.</li>
-<li>  If an entry is marked destroyed, it is not updated. Destroyed entries are removed from the system after the register interest response is completed.</li>
-</ul>
-
-<p>If the interest response does not contain any results because all of those keys are absent from the server’s cache, the client’s cache can start out empty. If the queue contains old messages related to those keys, the events are still replayed in the client’s cache.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/client-side-config.html b/docs/geode-native/cpp/113/preserving-data/client-side-config.html
deleted file mode 100644
index 1ece14d..0000000
--- a/docs/geode-native/cpp/113/preserving-data/client-side-config.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Client-Side Configuration |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_client-side-config has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Client-Side Configuration
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>All durable messaging configurations are performed on the client.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/configuring-durable-nc.html">Configuring a Durable Client</a></strong></p>
-
-<p>The durable client can be configured in the <code>geode.properties</code> file, or in the <code>CacheFactory::set(name,             value)</code> call.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/config-durable-interest-keys.html">Configuring Durable Interest in Keys</a></strong></p>
-
-<p>When a durable client disconnects, its servers keep queuing messages for selected keys. The client indicates which keys by registering durable interest for those keys.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/config-durable-reconnect.html">Configuring Durable Client Reconnection</a></strong></p>
-
-<p>You can configure the durable client to obtain an approximate count of pending events upon durable client reconnection. Based on the returned number, you can determine whether to proceed and receive the pending events or to close the cache.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/config-durable-interest-keys.html b/docs/geode-native/cpp/113/preserving-data/config-durable-interest-keys.html
deleted file mode 100644
index 2a2f79e..0000000
--- a/docs/geode-native/cpp/113/preserving-data/config-durable-interest-keys.html
+++ /dev/null
@@ -1,312 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Configuring Durable Interest in Keys |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_config-durable-interest-keys has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Configuring Durable Interest in Keys
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>When a durable client disconnects, its servers keep queuing messages for selected keys. The client indicates which keys by registering durable interest for those keys.</p>
-
-<p>This fine-grained control handles the constraints of queue size and memory by saving only the critical messages.</p>
-
-<p>You still register interest for other keys, but not durable interest. When the client is connected to its servers, it receives messages for those non-durable keys. When the client is disconnected, its non-durable interest registrations are deleted but messages that are already in the queue remain there.</p>
-
-<p>For durable clients, all interest registration is done immediately after the regions are created. This is required whether interest registration is durable or not durable. An extra <code>registerInterest</code> parameter specified for durable clients indicates whether the registration is durable (true) or not (false).</p>
-
-<h2 id="api-client-durable-interest-list-registration-(c++)">API Client Durable Interest List Registration (C++)</h2>
-
-<p>The following programmatic example registers durable interest in Key-1. The interest registration happens immediately after region creation and before anything else.</p>
-<pre class="highlight plaintext"><code>// Durable client interest registration can be
-// durable (true) or nondurable(default).
-VectorOfCacheableKey keys;
-keys.push_back( CacheableString::create("Key-1") );
-regionPtr-&gt;registerKeys(keys,true);
-</code></pre>
-
-<p><a id="concept_6456354A9AD945C780A5AA864B41B564__section_3DE5872B0888410EB42D52CFB28C79E5"></a>
-You use the typical methods for interest registration and configure notification by subscription on the server as usual. For details, see <a href="../client-cache/registering-interest-for-entries.html#registering-interest-for-entries">Registering Interest for Entries</a>.</p>
-
-<p><strong>Note:</strong>
-Changing interest registration after the durable client connects the first time can cause data inconsistency and is not recommended.</p>
-
-<p>At restart, if the client doesn&rsquo;t register durable interest for exactly the same keys as before then the entries in the interest list are not copied from the server during the registration. Instead, the client cache starts out empty and entries are added during updates. If no updates come in for an entry, it never shows up in the client cache.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/config-durable-reconnect.html b/docs/geode-native/cpp/113/preserving-data/config-durable-reconnect.html
deleted file mode 100644
index e432b97..0000000
--- a/docs/geode-native/cpp/113/preserving-data/config-durable-reconnect.html
+++ /dev/null
@@ -1,324 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Configuring Durable Client Reconnection |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_config-durable-reconnect has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Configuring Durable Client Reconnection
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>You can configure a durable client to obtain an approximate count of pending events upon durable client reconnection. Based on the returned number, you can determine whether to proceed and receive the pending events or to close the cache.</p>
-
-<p>Use the <code>getPendingEventCount</code> (C++ API) and the <code>PendingEventCount</code> (.NET API) property to detect whether the previously registered subscription queue is available upon durable client reconnection and the count of pending events in the queue. Based on the returned results, you can then decide whether to receive the remaining events or close the cache if the number is too large.</p>
-
-<p>For example, consider this code fragment for a client with only the default pool created:</p>
-<pre class="highlight plaintext"><code>Pool pool = PoolManager.Find("PoolName");
-int pendingEvents = pool.PendingEventCount;
-if (pendingEvents == -2) { // client connected for the first time
-  … // continue
-} else if (pendingEvents == -1) { // client reconnected but after the timeout period
-  … // handle possible data loss
-} else { // pendingEvents &gt;= 0
-   // decide to invoke readyForEvents() or Cache.close(false)/Pool.destroy()
-}
-</code></pre>
-
-<p>For a client with multiple pools:</p>
-<pre class="highlight plaintext"><code>int pendingEvents = 0;
-int pendingEvents1 = PoolManager.Find(“pool1”).PendingEventCount;
-pendingEvents += (pendingEvents1 &gt; 0) ? pendingEvents1 : 0;
-int pendingEvents2 = PoolManager.Find(“pool2”).PendingEventCount;
-pendingEvents += (pendingEvents2 &gt; 0) ? pendingEvents2 : 0;
-// process individual pool counts separately
-</code></pre>
-
-<p>The <code>getPendingEventCount</code> method and PendingEventCount property can return the following possible values:</p>
-
-<ul>
-<li>  A value representing a count of events pending at the server. Note that this count is an approximate value based on the time the durable client pool connected or reconnected to the server. Any number of invocations will return the same value.</li>
-<li>  A zero value if there are no events pending at server for this client pool</li>
-<li>  A negative value indicates that no queue is available at the server for the client pool.
-
-<ul>
-<li>  A value of -1 indicates that the client pool has reconnected to the server after its durable-client-timeout period has elapsed. The pool&rsquo;s subscription queue has been removed possibly causing data loss.</li>
-<li>  A value of -2 indicates that this client pool has connected to server for the first time.</li>
-</ul></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/configuring-durable-nc.html b/docs/geode-native/cpp/113/preserving-data/configuring-durable-nc.html
deleted file mode 100644
index 5f0ac34..0000000
--- a/docs/geode-native/cpp/113/preserving-data/configuring-durable-nc.html
+++ /dev/null
@@ -1,316 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Configuring a Durable Client |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_configuring-durable-nc has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Configuring a Durable Client
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>The durable client can be configured in the <code>geode.properties</code> file, or in the <code>CacheFactory::set(name,             value)</code> call.</p>
-
-<ul>
-<li><p><strong>Durable client ID</strong>—Indicate that the client is durable by giving it a <code>durable-client-ID</code>. The servers use this ID to identify the client. For a non-durable client, the <code>durable-client-ID</code> is an empty string. The ID can be any number that is unique among the clients attached to servers in the same distributed system.</p></li>
-<li><p><strong>Durable timeout</strong>—The <code>durable-timeout</code> setting specifies how long this client’s servers should wait after the client disconnects before terminating its message queue. During that time, the servers consider the client alive and continue to accumulate messages for it. The default is 300 seconds.</p></li>
-</ul>
-
-<p>The <code>durable-timeout</code> setting is a tuning parameter. When setting the timeout, take into account the normal activity of your application, the average size of your messages, and the level of risk you can handle. Assuming that no messages are being removed from the queue, how long can the application run before the queue reaches the maximum message count? In addition, how long can it run before the queued messages consume all the memory on the client host? How serious is each of those failures to your operation?</p>
-
-<p>To assist with tuning, Geode statistics track message queues for durable clients through the disconnect and reconnect cycles.</p>
-
-<p>When the queue is full, it blocks further operations that add messages until the queue size drops to an acceptable level. Server configuration sets the action to take. See details on server configuration of the queue in the server documentation section <a href="geodeman/developing/events/implementing_durable_client_server_messaging.html">Implementing Durable Client/Server Messaging</a>.</p>
-
-<h2 id="configuring-a-durable-client-using-geode.properties">Configuring a Durable Client Using geode.properties</h2>
-
-<p>The following example shows <code>geode.properties</code> settings to make the client durable and set the durable timeout to 200seconds.</p>
-<pre class="highlight plaintext"><code>durable-client-id=31
-durable-timeout=200
-</code></pre>
-
-<h2 id="configuring-a-durable-client-through-the-api-(c++)">Configuring a Durable Client Through the API (C++)</h2>
-
-<p>This programmatic example creates a durable client using the <code>CacheFactory::set(name, value)</code>.</p>
-<pre class="highlight plaintext"><code>// Create durable client's properties using the C++ api
-PropertiesPtr pp = Properties::create();
-pp-&gt;insert("durable-client-id", "DurableClientId");
-pp-&gt;insert("durable-timeout", std::chrono::seconds(200));
-cacheFactoryPtr = CacheFactory::createCacheFactory(pp);
-</code></pre>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/configuring-nc-ha.html b/docs/geode-native/cpp/113/preserving-data/configuring-nc-ha.html
deleted file mode 100644
index 5ec3608..0000000
--- a/docs/geode-native/cpp/113/preserving-data/configuring-nc-ha.html
+++ /dev/null
@@ -1,325 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Configuring Clients for High Availability |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_configuring-nc-ha has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Configuring Clients for High Availability
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Configure high availability by setting the pool attribute <code>subscription-redundancy</code> to the number of copies to be maintained.</p>
-
-<p>A client maintains its queue redundancy level at the time of a primary server failure by connecting to additional secondary servers.</p>
-
-<p>Clients can specify the number of secondary servers where the client registers interest and maintains subscription channels, in addition to the subscription channel with the primary server. The secondary servers maintain redundant update queues for the client. If the primary server fails, a secondary becomes a primary to provide uninterrupted messaging to the client. If possible, another secondary is then initialized so the total number of secondaries is not reduced by the failover.</p>
-
-<h2 id="setting-the-server-redundancy-level-in-cache.xml">Setting the Server Redundancy Level in cache.xml</h2>
-
-<p>This example sets one redundant server as failover backup to the primary server:</p>
-<pre class="highlight plaintext"><code>&lt;cache&gt;
-   &lt;pool name="examplePool"
-      subscription-enabled="true" subscription-redundancy="1"&gt;
-      &lt;server host="java_servername1" port="java_port1" /&gt;
-      &lt;server host="java_servername2" port="java_port2" /&gt;
-   &lt;/pool&gt;
-   &lt;region name = "ThinClientRegion1" &gt;
-      &lt;region-attributes refid="CACHING_PROXY" pool-name="examplePool"/&gt;
-   &lt;/region&gt;
-&lt;/cache&gt;
-</code></pre>
-
-<h2 id="setting-the-server-redundancy-level-programmatically">Setting the Server Redundancy Level Programmatically</h2>
-
-<p>You can set the redundancy level programmatically. This example creates a client cache with two redundant cache servers configured in addition to the primary server.</p>
-
-<p>The server redundancy level can be configured using the pool API. For more information about the pool API, see <a href="/docs/geode-native/cpp/113/connection-pools/connection-pools.html#using-connection-pools">Using Connection Pools</a>.</p>
-<pre class="highlight plaintext"><code>PropertiesPtr pp = Properties::create( );
-systemPtr = CacheFactory::createCacheFactory(pp);
-// Create a cache.
-cachePtr = systemPtr-&gt;setSubscriptionEnabled(true)
-   -&gt;addServer("localhost", 24680)
-   -&gt;addServer("localhost", 24681)
-   -&gt;addServer("localhost", 24682)
-   -&gt;setSubscriptionRedundancy(2)
-   -&gt;create();
-</code></pre>
-
-<p>When failover to a secondary server occurs, a new secondary is added to the redundancy set. If no new secondary server is found, the redundancy level is not satisfied but the failover procedure completes successfully. Any new live server is added as a secondary and interest is registered on it.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/disconnecting-from-server.html b/docs/geode-native/cpp/113/preserving-data/disconnecting-from-server.html
deleted file mode 100644
index 22ccba7..0000000
--- a/docs/geode-native/cpp/113/preserving-data/disconnecting-from-server.html
+++ /dev/null
@@ -1,298 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Disconnecting from the Server |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_disconnecting-from-server has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Disconnecting from the Server
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>When a durable client closes its cache and disconnects, it tells the servers whether to maintain its queues.</p>
-
-<p>For this purpose, use the version of <code>Cache::close</code> with the boolean <code>keepalive</code> parameter set, as shown in the following example. If the setting is true, the servers keep the durable client’s queues and durable subscriptions alive for the timeout period. In addition to in-memory queue retention, the servers can evict the most recent durable client queue updates to disk to reduce memory consumption.</p>
-
-<p>Only the resources and data related to the session are removed, such as port numbers and non-durable subscriptions. If the setting is false, the servers do the same cleanup that they would do for a nondurable client.</p>
-<pre class="highlight plaintext"><code>// Close the Cache and disconnect with keepalive=true.
-// Server will queue events for durable registrations and CQs
-// When the client reconnects (within a timeout period) and sends
-// "readyForEvents()", the server will deliver all stored events
-cachePtr-&gt;close(true);
-</code></pre>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/disconnection.html b/docs/geode-native/cpp/113/preserving-data/disconnection.html
deleted file mode 100644
index 991dd16..0000000
--- a/docs/geode-native/cpp/113/preserving-data/disconnection.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Disconnection |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_disconnection has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Disconnection
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>While the client and servers are disconnected, their operation varies depending on the circumstances.</p>
-
-<h2 id="normal-disconnect"><a id="concept_915EAD135DD942F28A38513097ACB1F1__section_6AB8F4B8993F4EF9B32A93A100F07BEC" class="no-quick-link"></a>Normal disconnect</h2>
-
-<p>When a durable client disconnects normally, the <code>Cache.close</code> request states whether to maintain the client&rsquo;s message queue and durable subscriptions. The servers stop sending messages to the client and release its connection. See <a href="/docs/geode-native/cpp/113/preserving-data/disconnecting-from-server.html#concept_3A9AC62F96FA44DBBB5CCBFD3EA19B56">Disconnecting From the Server</a> for more information.</p>
-
-<p>If requested, the servers maintain the queues and durable interest list until the client reconnects or times out. The non-durable interest list is discarded. The servers continue to queue up incoming messages for entries on the durable interest list. All messages that were in the queue when the client disconnected remain in the queue, including messages for entries on the non-durable list.</p>
-
-<p>If the client requests to not have its subscriptions maintained, or if there are no durable subscriptions, the servers unregister the client and perform the same cleanup as for a non-durable client.</p>
-
-<h2 id="abnormal-disconnect">Abnormal disconnect</h2>
-
-<p>If the client crashes or loses its connections to all servers, the servers automatically maintain its message queue and durable subscriptions until the client reconnects or times out.</p>
-
-<h2 id="client-disconnected-but-operational">Client disconnected but operational</h2>
-
-<p>If the client operates while it is disconnected, it gets what data it can from the local cache. Since updates are not allowed, the data can become stale. An <code>UnconnectedException</code> occurs if an update is attempted.</p>
-
-<h2 id="timing-out-while-disconnected">Timing out while disconnected</h2>
-
-<p>The servers track how long to keep a durable client queue alive based on the <code>durable-client-timeout</code> setting. If the client remains disconnected longer than the timeout, the servers unregister the client and do the same cleanup that is performed for a non-durable client. The servers also log an alert. When a timed-out client reconnects, the servers treat it as a new client making its initial connection.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/durable-client-life-cycle.html b/docs/geode-native/cpp/113/preserving-data/durable-client-life-cycle.html
deleted file mode 100644
index f4f871f..0000000
--- a/docs/geode-native/cpp/113/preserving-data/durable-client-life-cycle.html
+++ /dev/null
@@ -1,306 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Life Cycle of a Durable Client |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_durable-client-life-cycle has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Life Cycle of a Durable Client
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>This section discusses the high-level operation of a durable client through initial startup, disconnection, and reconnection.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/initial-operation.html">Initial Operation</a></strong></p>
-
-<p>The initial startup of a durable client is similar to the startup of any other client, except that it specifically calls the <code>Cache.readyForEvents</code> method when all regions and listeners on the client are ready to process messages from the server.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/disconnection.html">Disconnection</a></strong></p>
-
-<p>While the client and servers are disconnected, their operation varies depending on the circumstances.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/reconnection.html">Reconnection</a></strong></p>
-
-<p>During initialization, operations on the client cache can come from multiple sources.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/durable-message-replay.html">Durable Message Replay</a></strong></p>
-
-<p>When the primary server receives the cache ready message, the servers and client execute a procedure to update the queue and replay the events from the stored messages.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/app-ops-during-int-reg.html">Application Operations During Interest Registration</a></strong></p>
-
-<p>As soon as the client creates its regions, the application hosting the client can start cache operations, even while the client is still receiving its interest registration responses.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/durable-client-messaging-req.html b/docs/geode-native/cpp/113/preserving-data/durable-client-messaging-req.html
deleted file mode 100644
index 1ee8a34..0000000
--- a/docs/geode-native/cpp/113/preserving-data/durable-client-messaging-req.html
+++ /dev/null
@@ -1,303 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Durable Client Messaging Requirements |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_durable-client-messaging-req has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Durable Client Messaging Requirements
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>The messaging queues used for durable messaging are the same regular messaging queues used for basic server-to-client messaging, with additional requirements.</p>
-
-<p>See the server documentation at <a href="geodeman/developing/events/implementing_durable_client_server_messaging.html">Implementing Durable Client/Server Messaging</a> for requirements, options, and functionality of messaging queues. If you are using highly available servers, see <a href="/docs/geode-native/cpp/113/preserving-data/high-availability-client-server.html#concept_F7A143F51EEA46B28AC612DEB7849D99">High Availability for Client-Server Communication</a> for additional requirements.</p>
-
-<p>For durable client messaging, you also need the following:</p>
-
-<ul>
-<li><p><strong>Durable clients</strong>. If the client is durable, the server continues to maintain the client queues when the client disconnects.
-<strong>Note:</strong>
-Redundancy management is handled by the client, so when the client is disconnected from the server the redundancy of client events is not maintained. Even if the servers fail one at a time, so that running clients have time to fail over and pick new secondary servers, an offline durable client cannot fail over. As a result, the client loses its queued messages.</p></li>
-<li><p><strong>Durable interest registration</strong>. A durable client’s interest registrations specify whether its interest in a key is durable. If it is, the servers continue queuing messages for that key while the client is disconnected.</p></li>
-<li><p><strong>Reconnection conditions.</strong> You can program the durable client to detect whether the previously registered subscription queue is available upon reconnection and determine an approximate count of pending events in the queue. Based on the results, you can then decide whether to receive the remaining events (<code>Cache.readyForEvents</code>) or close the cache if the number is too large.</p></li>
-<li><p><strong>Cache ready message</strong>. When it is ready to receive the stored messages, a durable client must call <code>Cache.readyForEvents</code> to send a cache ready message to the server.</p></li>
-<li><p><strong>Disconnect keepalive specification</strong>. When a durable client disconnects normally, the client must tell the server whether to maintain the message queue or delete it.</p></li>
-<li><p><strong>Durable client callback method</strong>. If you use cache listeners on the durable clients, you have the option to implement the <code>afterRegionLive</code> callback method. This callback is invoked after the durable client connects to its servers, when it has received all of its stored messages and replayed the events.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/durable-client-messaging.html b/docs/geode-native/cpp/113/preserving-data/durable-client-messaging.html
deleted file mode 100644
index babc255..0000000
--- a/docs/geode-native/cpp/113/preserving-data/durable-client-messaging.html
+++ /dev/null
@@ -1,309 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Durable Client Messaging |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_durable-client-messaging has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Durable Client Messaging
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>You can configure the redundancy level for client queues that are stored on cache servers. This ensures that the client will not lose messages if it loses the connection to its primary server.</p>
-
-<p>Durable messaging allows a disconnected client application to recover its subscribed data when it reconnects to the cache server because the server continues to queue messages for which the client has registered interest.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/durable-client-messaging-req.html">Durable Client Messaging Requirements</a></strong></p>
-
-<p>The messaging queues used for durable messaging are the same regular messaging queues used for basic server-to-client messaging, with additional requirements.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/client-side-config.html">Client-Side Configuration</a></strong></p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/sending-cache-ready-message.html">Sending Cache Ready Messages to the Server</a></strong></p>
-
-<p>After a durable client connects and initializes its cache, regions, cache listeners, and any interest registration, it invokes <code>readyForEvents</code> to indicate to the servers that the client is ready to receive any messages accumulated for it.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/disconnecting-from-server.html">Disconnecting from the Server</a></strong></p>
-
-<p>When a durable client closes its cache and disconnects, it tells the servers whether to maintain its queues.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/durable-client-life-cycle.html">Life Cycle of a Durable Client</a></strong></p>
-
-<p>This section discusses the high-level operation of a durable client through initial startup, disconnection, and reconnection.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/impl-cache-listeners-durable-clients.html">Implementing Cache Listeners for Durable Clients</a></strong></p>
-
-<p>A cache listener for durable clients requires all callback methods to behave properly when stored events are replayed. A cache listener has a callback method, <code>afterRegionLive</code>, specifically for durable clients aspects.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/durable-message-replay.html b/docs/geode-native/cpp/113/preserving-data/durable-message-replay.html
deleted file mode 100644
index f0018a2..0000000
--- a/docs/geode-native/cpp/113/preserving-data/durable-message-replay.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Durable Message Replay |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_durable-message-replay has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Durable Message Replay
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>When the primary server receives the cache ready message, the servers and client execute a procedure to update the queue and replay the events from the stored messages.</p>
-
-<p>Durable message replay proceeds as follows. To avoid overwriting current entries with old data, the client does not apply the updates to its cache.</p>
-
-<ol>
-<li><p>The server finds the queue for this durable client ID and updates its information, including the client’s socket and remote ports.</p>
-
-<p>If the client has timed out while it was disconnected, its queues are gone and the server then treats it as a new client. See <a href="/docs/geode-native/cpp/113/preserving-data/initial-operation.html">Initial Operation</a>.</p></li>
-<li><p>All servers that have a queue for this client place a marker in the queue.</p>
-
-<p>Messages in the queue before the marker are considered to have come while the client was disconnected. Messages after the marker are handled normally.</p></li>
-<li><p>The cache server sends the queued messages to the client. This includes any messages that were evicted to disk.</p></li>
-<li><p>The client receives the messages but does not apply the updates to its cache. If cache listeners are installed, they handle the events. For implications, see <a href="/docs/geode-native/cpp/113/preserving-data/impl-cache-listeners-durable-clients.html#concept_3BD651087FC4470C8BAB6AFD97AEA689">Implementing Cache Listeners for Durable Clients</a>.</p></li>
-<li><p>The client receives the marker message indicating that all past events have been played back.</p></li>
-<li><p>The cache server sends the current list of live regions.</p></li>
-<li><p>In each live region on the client, the marker event triggers the <code>afterRegionLive</code> callback.</p>
-
-<p>After the callback, the client begins normal processing of events from the server and applies the updates to its cache.</p></li>
-</ol>
-
-<p>Even when a new client starts up for the first time, the cache ready markers are inserted in the queues. If messages start coming into the new queues before the servers insert the marker, those messages are considered as having happened while the client was disconnected, and their events are replayed the same as in the reconnect case.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/high-availability-client-server.html b/docs/geode-native/cpp/113/preserving-data/high-availability-client-server.html
deleted file mode 100644
index 24d40e9..0000000
--- a/docs/geode-native/cpp/113/preserving-data/high-availability-client-server.html
+++ /dev/null
@@ -1,299 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      High Availability for Client-Server Communication |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_high-availability-client-server has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    High Availability for Client-Server Communication
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>The client provides reliable event messaging from cache server to client to prevent data loss during server failover operations. High availability is implemented in the cache server and is configured in the client.</p>
-
-<p>See server documentation at <a href="geodeman/developing/events/configuring_highly_available_servers.html">Configuring Highly Available Servers</a> for details about configuring a server for high availability.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/configuring-nc-ha.html">Configuring Clients for High Availability</a></strong></p>
-
-<p>Configure high availability by setting the pool attribute <code>subscription-redundancy</code> to the number of copies maintained.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/sending-periodic-ack.html">Sending Periodic Acknowledgment</a></strong></p>
-
-<p>Servers use periodic acknowledgment to reduce the likelihood of duplicate notifications, and to reduce resource usage.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/impl-cache-listeners-durable-clients.html b/docs/geode-native/cpp/113/preserving-data/impl-cache-listeners-durable-clients.html
deleted file mode 100644
index c1a12ef..0000000
--- a/docs/geode-native/cpp/113/preserving-data/impl-cache-listeners-durable-clients.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Implementing Cache Listeners for Durable Clients |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_impl-cache-listeners-durable-clients has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Implementing Cache Listeners for Durable Clients
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>A cache listener for durable clients requires all callback methods to behave properly when stored events are replayed. A cache listener has a callback method, <code>afterRegionLive</code>, specifically for durable clients aspects.</p>
-
-<p>For general instructions on implementing a cache listener, see <a href="../client-cache/application-plugins.html#application-plugins__section_3F43B898CD254076B4DD777E9B4CC8F0">CacheListener</a>.</p>
-
-<h2 id="writing-callbacks-for-use-with-durable-messaging"><a id="concept_3BD651087FC4470C8BAB6AFD97AEA689__section_EC28F9769A554CA28B0E9D2F924BA4C3" class="no-quick-link"></a>Writing Callbacks for Use With Durable Messaging</h2>
-
-<p>Durable clients require special attention to cache callbacks generated by the cache listener. During the initialization window when a reconnecting client has a functioning cache but is still receiving the stored messages from the queue, the client can replay events that are long past. These events are not applied to the cache, but they are sent to the cache listener. If the listener’s callbacks invoked by these events make changes to the cache, that could conflict with current operations and create data inconsistencies.</p>
-
-<p>Consequently, you need to keep your callback implementations lightweight and not do anything in the cache that could produce incorrect results during this window. For details on implementing callbacks for Geode event handlers, see <a href="geodeman/developing/events/implementing_cache_event_handlers.html">Implementing Cache Event Handlers</a>.</p>
-
-<h2 id="implementing-the-afterregionlive-method"><a id="concept_3BD651087FC4470C8BAB6AFD97AEA689__section_F39E695D88E94D518F3E1778F37FAF11" class="no-quick-link"></a>Implementing the afterRegionLive Method</h2>
-
-<p>If you are using cache listeners, you can implement the <code>afterRegionLive</code> callback method provided for durable clients. This callback is invoked when the client has received all the old messages that were stored in its queue while it was disconnected. Implementing this method enables you to do application-specific operations when the client has replayed all of these old events.</p>
-
-<p>If you do not wish to use this callback, and your listener is an instance of <code>CacheListener</code> (not a <code>CacheListenerAdapter</code>), you must implement <code>afterRegionLive</code> as a non-operational method.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/initial-operation.html b/docs/geode-native/cpp/113/preserving-data/initial-operation.html
deleted file mode 100644
index d331a35..0000000
--- a/docs/geode-native/cpp/113/preserving-data/initial-operation.html
+++ /dev/null
@@ -1,290 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Initial Operation |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_initial-operation has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Initial Operation
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>The initial startup of a durable client is similar to the startup of any other client, except that it specifically calls the <code>Cache.readyForEvents</code> method when all regions and listeners on the client are ready to process messages from the server.</p>
-
-<p>See <a href="/docs/geode-native/cpp/113/preserving-data/sending-cache-ready-message.html#concept_C28D015FA85B4EE4B2F8D2DA5FCAFBFF">Sending the Cache Ready Message to the Server</a>.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/preserving-data.html b/docs/geode-native/cpp/113/preserving-data/preserving-data.html
deleted file mode 100644
index 2a36058..0000000
--- a/docs/geode-native/cpp/113/preserving-data/preserving-data.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Preserving Data |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_preserving-data has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Preserving Data
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>A server may preserve the data queued and intended to be sent to a client, such that the data is not discarded if communication between the server and client is disrupted. Preservation prevents message loss, which can cause a client to have inconsistent data. Redundant queues and a high availability server implementation may further ensure that queued data is not lost.</p>
-
-<p>There is a tradeoff between the quantity of data that a server must queue and the amount of time that the server maintains and continues to queue data intended for a client that is not communicating with the distributed system. Client configuration specifies the amount of time that the server is to continue queueing messages. High availability permits a secondary server to assume the role of a primary server with respect to queued data in the event that the primary server no longer functions. Designation of primary and secondary servers, as well as the number of redundant copies of the queue are configurable.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/high-availability-client-server.html">High Availability for Client-Server Communication</a></strong></p>
-
-<p>The client provides reliable event messaging from cache server to client to prevent data loss during server failover operations. High availability is implemented in the cache server and is configured in the client.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/using-queue-conflation.html">Enabling Queue Conflation to Improve Update Performance</a></strong></p>
-
-<p>Conflation of entry update messages can reduce the number of update messages a client receives, thereby increasing performance. The client receives only the most recent update for a particular entry key.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/preserving-data/durable-client-messaging.html">Durable Client Messaging</a></strong></p>
-
-<p>Configure the redundancy level for client queues that are stored on cache servers. This ensures that the client will not lose messages if it loses the connection to its primary server.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/reconnection.html b/docs/geode-native/cpp/113/preserving-data/reconnection.html
deleted file mode 100644
index 5ad7619..0000000
--- a/docs/geode-native/cpp/113/preserving-data/reconnection.html
+++ /dev/null
@@ -1,319 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Reconnection |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_reconnection has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Reconnection
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>During initialization, operations on the client cache can come from multiple sources.</p>
-
-<ul>
-<li>  Cache operations by the application.</li>
-<li>  Results returned by the cache server in response to the client’s interest registrations.</li>
-<li>  Callbacks triggered by replaying old events from the queue.</li>
-</ul>
-
-<p>These procedures can act on the cache concurrently, and the cache is never blocked from doing operations.</p>
-
-<p>Geode handles the conflicts between the application and interest registration, but you need to prevent the callback problem. Writing callback methods that do cache operations is never recommended, but it is a particularly bad idea for durable clients, as explained in <a href="/docs/geode-native/cpp/113/preserving-data/impl-cache-listeners-durable-clients.html">Implementing Cache Listeners for Durable Clients</a>.</p>
-
-<p>Program the durable client to perform these steps, in order, when it reconnects:</p>
-
-<ol>
-<li> Create the cache and regions. This ensures that all cache listeners are ready. At this point, the application hosting the client can begin cache operations.</li>
-<li> Issue its register interest requests. This allows the client cache to be populated with the initial interest registration results. The primary server responds with the current state of those entries if they still exist in the server’s cache.</li>
-<li> Call <code>Cache.readyForEvents</code>. This tells the servers that all regions and listeners on the client are now ready to process messages from the servers. The cache ready message triggers the queued message replay process on the primary server.</li>
-</ol>
-
-<p>For an example that demonstrates <code>Cache.readyForEvents</code>, see <a href="/docs/geode-native/cpp/113/preserving-data/sending-cache-ready-message.html#concept_C28D015FA85B4EE4B2F8D2DA5FCAFBFF">Sending the Cache Ready Message to the Server</a>.</p>
-
-<p>This figure shows the concurrent procedures that occur during the initialization process. The application begins operations immediately on the client (step 1), while the client&rsquo;s cache ready message (also step 1) triggers a series of queue operations on the cache servers (starting with step 2 on the primary server). At the same time, the client registers interest (step 2 on the client) and receives a response from the server.</p>
-
-<p>Message B2 applies to an entry in Region A, so the cache listener handles B2&rsquo;s event. Because B2 comes before the marker, the client does not apply the update to the cache.</p>
-
-<p><a id="concept_38C027837216434CB5DEC84DF56B807E__fig_5A5566FB9EBE4A6D906E9D8FA687B4C5"></a>
-<span class="figtitleprefix">Figure: </span> Initialization of a Reconnected Durable Client</p>
-
-<p><img src="../images/7-Preserving_Data-2.gif" id="concept_38C027837216434CB5DEC84DF56B807E__image_1B3693DB90D041F193496BA24849D114" class="image" /></p>
-
-<p>Only one region is shown for simplicity, but the messages in the queue could apply to multiple regions. Also, the figure omits the concurrent cache updates on the servers, which would normally be adding more messages to the client&rsquo;s message queue.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/sending-cache-ready-message.html b/docs/geode-native/cpp/113/preserving-data/sending-cache-ready-message.html
deleted file mode 100644
index 7ef3a58..0000000
--- a/docs/geode-native/cpp/113/preserving-data/sending-cache-ready-message.html
+++ /dev/null
@@ -1,298 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Sending Cache Ready Messages to the Server |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_sending-cache-ready-message has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Sending Cache Ready Messages to the Server
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>After a durable client connects and initializes its cache, regions, cache listeners, and any interest registration, it invokes <code>readyForEvents</code> to indicate to the servers that the client is ready to receive any messages accumulated for it.</p>
-
-<h2 id="durable-client-cache-ready-notification-(c++)">Durable Client Cache Ready Notification (C++)</h2>
-
-<p>The following example shows how to call <code>readyForEvents</code>.</p>
-<pre class="highlight plaintext"><code>// Send ready for event message to server (only for durable clients).
-// Server will send queued events to client after receiving this.
-cachePtr-&gt;readyForEvents();
-</code></pre>
-
-<p>To keep the client from losing events, do not call this method until all regions and listeners are created. For more information, see <a href="/docs/geode-native/cpp/113/preserving-data/reconnection.html#concept_38C027837216434CB5DEC84DF56B807E">Reconnection</a>.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/sending-periodic-ack.html b/docs/geode-native/cpp/113/preserving-data/sending-periodic-ack.html
deleted file mode 100644
index 56f7fd0..0000000
--- a/docs/geode-native/cpp/113/preserving-data/sending-periodic-ack.html
+++ /dev/null
@@ -1,312 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Sending Periodic Acknowledgment |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_sending-periodic-ack has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Sending Periodic Acknowledgment
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Servers use periodic acknowledgment to reduce the likelihood of duplicate notifications, and to reduce resource usage.</p>
-
-<p><a id="concept_868B8082463846DE9F35BBEA56105C82__section_D4375BCCF8A2426BA58073B9549B6F04"></a>
-When redundancy is enabled for high availability and <code>redundancy-level</code> is set to 1 or higher, clients send (and servers expect) periodic acknowledgment messages at configurable intervals for notifications they have received. A periodic ack is not sent by the client if there are no unacknowledged notifications at the time.</p>
-
-<p>Use the following system properties in the <code>geode.properties</code> file to configure periodic ack.</p>
-
-<table>
-<colgroup>
-<col width="50%" />
-<col width="50%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><code class="ph codeph">notify-ack-interval</code></td>
-<td><p>Minimum period between two consecutive acknowledgment messages sent from the client to the server. The default setting (in seconds) is 10.</p></td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">notify-dupcheck-life</code></td>
-<td><p>Minimum time a client continues to track a notification source for duplicates when no new notifications arrive before expiring it. The default setting (in seconds) is 300.</p></td>
-</tr>
-</tbody>
-</table>
-
-<p>The Pool API also provides attributes to configure periodic ack and duplicate message tracking timeout. See <code>subscription-message-tracking-timeout</code> and <code>subscription-ack-interval</code> in the list of pool attributes under <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html#configuring-pools">Configuring Pools for Servers or Locators</a>.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/preserving-data/using-queue-conflation.html b/docs/geode-native/cpp/113/preserving-data/using-queue-conflation.html
deleted file mode 100644
index a9986ba..0000000
--- a/docs/geode-native/cpp/113/preserving-data/using-queue-conflation.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Enabling Queue Conflation to Improve Update Performance |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_preserving-data docs_geode-native_cpp_113_preserving-data_using-queue-conflation has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Enabling Queue Conflation to Improve Update Performance
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Conflation of entry update messages can reduce the number of update messages a client receives, thereby increasing performance. The client receives only the most recent update for a particular entry key.</p>
-
-<p>Conflation is enabled for a cache server region, so all clients receiving updates for a particular region benefit from the conflation. To enable conflation, set the cache server’s <code>enable-subscription-conflation</code> region attribute to <code>true</code>. This region attribute is <code>false</code> by default.</p>
-
-<p>The queue managment code conflates entry updates as part of the enqueue operation. If the previous enqueued item for that key is also an <code>update</code> operation, the queue management code removes that previously enqueued update, leaving only the latest update to be sent when event distribution occurs. For high availability, conflation also occurs for any secondary queues.</p>
-
-<p>Only entry <code>update</code> messages in a cache server region with <code>distributed-no-ack</code> scope are conflated. Region operations and entry operations other than updates are not conflated.</p>
-
-<p>For more information, see the server documentation at <a href="geodeman/developing/events/conflate_server_subscription_queue.html">Conflate the Server Subscription Queue</a>.</p>
-
-<h2 id="overriding-queue-conflation-per-client"><a id="concept_AEFA04AF9ABD42C0A37ED31806596D24__section_BE506A32A8E44073B197B03AC5232C01" class="no-quick-link"></a>Overriding Queue Conflation Per-Client</h2>
-
-<p>Override conflation on a per-client basis by setting the conflate-events property in the client’s <code>geode.properties</code> file.</p>
-
-<p>Valid settings are:</p>
-
-<ul>
-<li>  <code>server</code>. Uses the server settings.</li>
-<li>  <code>true</code>. Conflates everything sent to the client.</li>
-<li>  <code>false</code>. Does not conflate anything sent to the client.</li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/regions/region-attributes.html b/docs/geode-native/cpp/113/regions/region-attributes.html
index 6674bc2..1dede8d 100644
--- a/docs/geode-native/cpp/113/regions/region-attributes.html
+++ b/docs/geode-native/cpp/113/regions/region-attributes.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/regions/regions.html b/docs/geode-native/cpp/113/regions/regions.html
index d7b4b4b..67432d6 100644
--- a/docs/geode-native/cpp/113/regions/regions.html
+++ b/docs/geode-native/cpp/113/regions/regions.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
@@ -269,26 +284,35 @@
 <p>To create a region:</p>
 
 <ol>
-<li>Instantiate a <code>CacheFactory</code> and use it to create a cache.</li>
+<li>Create a cache using <code>CacheFactory</code> to set its characteristics.</li>
 <li>The cache includes an instance of <code>PoolManager</code>&mdash;use it to create a connection pool.</li>
-<li>Use cache to instantiate a <code>RegionFactory</code> and use it to create a region, specifying any desired attributes
+<li>Use the cache to instantiate a <code>RegionFactory</code> and use it to create a region, specifying any desired attributes
 and an association with the connection pool.</li>
 </ol>
 
 <h3 id="c++-region-creation-example">C++ Region Creation Example</h3>
 
-<p>The following example illustrates how to create two regions using C++.</p>
-<pre class="highlight cpp"><code><span class="k">auto</span> <span class="n">cache</span> <span class="o">=</span> <span class="n">CacheFactory</span><span class="p">().</span><span class="n">create</span><span class="p">();</span>
+<p>The following example illustrates how to create two regions with different characteristics using C++.</p>
+<pre class="highlight cpp"><code><span class="k">auto</span> <span class="n">cache</span> <span class="o">=</span> <span class="n">CacheFactory</span><span class="p">()</span>
+    <span class="p">.</span><span class="n">set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">)</span>
+    <span class="p">.</span><span class="n">create</span><span class="p">();</span>
 
-<span class="k">auto</span> <span class="n">examplePool</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">getPoolManager</span><span class="p">()</span>
+<span class="n">cache</span><span class="p">.</span><span class="n">getPoolManager</span><span class="p">()</span>
     <span class="p">.</span><span class="n">createFactory</span><span class="p">()</span>
-    <span class="p">.</span><span class="n">addLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="mi">40404</span><span class="p">)</span>
-    <span class="p">.</span><span class="n">setSubscriptionEnabled</span><span class="p">(</span><span class="nb">true</span><span class="p">)</span>
-    <span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"examplePool"</span><span class="p">);</span>
+    <span class="p">.</span><span class="n">addLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="mi">10334</span><span class="p">)</span>
+    <span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
 
-<span class="k">auto</span> <span class="n">clientRegion1</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">createRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="o">::</span><span class="n">PROXY</span><span class="p">)</span>
-  <span class="p">.</span><span class="n">setPoolName</span><span class="p">(</span><span class="s">"examplePool"</span><span class="p">)</span>
-  <span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"clientRegion1"</span><span class="p">);</span>
+<span class="k">auto</span> <span class="n">regionFactory</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">createRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="o">::</span><span class="n">PROXY</span><span class="p">);</span>
+<span class="k">auto</span> <span class="n">regionFactory2</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">createRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="o">::</span><span class="n">CACHING_PROXY</span><span class="p">);</span>
+
+<span class="k">auto</span> <span class="n">region</span> <span class="o">=</span> <span class="n">regionFactory</span>
+    <span class="p">.</span><span class="n">setPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">)</span>
+    <span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"example_userinfo"</span><span class="p">);</span>
+
+<span class="k">auto</span> <span class="n">region2</span> <span class="o">=</span> <span class="n">regionFactory2</span>
+    <span class="p">.</span><span class="n">setPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">)</span>
+    <span class="p">.</span><span class="n">setEntryTimeToLive</span><span class="p">(</span><span class="n">ExpirationAction</span><span class="o">::</span><span class="n">INVALIDATE</span><span class="p">,</span> <span class="n">std</span><span class="o">::</span><span class="n">chrono</span><span class="o">::</span><span class="n">seconds</span><span class="p">(</span><span class="mi">120</span><span class="p">))</span>
+    <span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"example_userinfo2"</span><span class="p">);</span>
 </code></pre>
 
 <h2 id="declarative-region-creation"><a id="declarative-region-creation"></a>Declarative Region Creation</h2>
diff --git a/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html b/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html
index bed0f51..8f05c9f 100644
--- a/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html
+++ b/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/remote-queries.html b/docs/geode-native/cpp/113/remote-queries.html
index 2d4f745..ba17dc6 100644
--- a/docs/geode-native/cpp/113/remote-queries.html
+++ b/docs/geode-native/cpp/113/remote-queries.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/security/authentication.html b/docs/geode-native/cpp/113/security/authentication.html
index 54f7741..87117e3 100644
--- a/docs/geode-native/cpp/113/security/authentication.html
+++ b/docs/geode-native/cpp/113/security/authentication.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
@@ -253,43 +268,22 @@
 <h3 id="c++-authentication-example">C++ Authentication Example</h3>
 
 <p>In this C++ authentication example, the <code>CacheFactory</code> creation process sets the authentication callback:</p>
-<pre class="highlight cpp"><code>  <span class="k">auto</span> <span class="n">cacheFactory</span> <span class="o">=</span> <span class="n">CacheFactory</span><span class="p">(</span><span class="n">config</span><span class="p">);</span>
-  <span class="k">auto</span> <span class="n">authInitialize</span> <span class="o">=</span> <span class="n">std</span><span class="o">::</span><span class="n">make_shared</span><span class="o">&lt;</span><span class="n">UserPasswordAuthInit</span><span class="o">&gt;</span><span class="p">();</span>
-  <span class="n">cacheFactory</span><span class="p">.</span><span class="n">set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">);</span>
-  <span class="n">cacheFactory</span><span class="p">.</span><span class="n">setAuthInitialize</span><span class="p">(</span><span class="n">authInitialize</span><span class="p">);</span>
+<pre class="highlight cpp"><code>  <span class="k">auto</span> <span class="n">cache</span> <span class="o">=</span> <span class="n">CacheFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="n">set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">setAuthInitialize</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o">&lt;</span><span class="n">ExampleAuthInitialize</span><span class="o">&gt;</span><span class="p">(</span><span class="k">new</span> <span class="n">ExampleAuthInitialize</span><span class="p">()))</span>
+      <span class="p">.</span><span class="n">create</span><span class="p">();</span>
 </code></pre>
 
-<p>Credentials are implemented in the <code>getCredentials</code> member function of the <code>AuthInitialize</code> abstract class.</p>
-<pre class="highlight cpp"><code><span class="k">class</span> <span class="nc">UserPasswordAuthInit</span> <span class="o">:</span> <span class="k">public</span> <span class="n">AuthInitialize</span> <span class="p">{</span>
-<span class="k">public</span><span class="o">:</span>
-  <span class="n">UserPasswordAuthInit</span><span class="p">()</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span>
+<p>Credentials are implemented in the <code>getCredentials</code> member function of the <code>ExampleAuthInitialize</code>, which is derived from the <code>AuthInitialize</code> abstract class.</p>
+<pre class="highlight cpp"><code><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o">&lt;</span><span class="n">Properties</span><span class="o">&gt;</span> <span class="n">ExampleAuthInitialize</span><span class="o">::</span><span class="n">getCredentials</span><span class="p">(</span>
+    <span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o">&lt;</span><span class="n">Properties</span><span class="o">&gt;&amp;</span> <span class="n">securityprops</span><span class="p">,</span>
+    <span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="o">&amp;</span> <span class="cm">/*server*/</span><span class="p">)</span> <span class="p">{</span>
 
-  <span class="o">~</span><span class="n">UserPasswordAuthInit</span><span class="p">()</span> <span class="k">noexcept</span> <span class="n">override</span> <span class="o">=</span> <span class="k">default</span><span class="p">;</span>
+  <span class="n">securityprops</span><span class="o">-&gt;</span><span class="n">insert</span><span class="p">(</span><span class="s">"security-username"</span><span class="p">,</span> <span class="s">"root"</span><span class="p">);</span>
+  <span class="n">securityprops</span><span class="o">-&gt;</span><span class="n">insert</span><span class="p">(</span><span class="s">"security-password"</span><span class="p">,</span> <span class="s">"root"</span><span class="p">);</span>
 
-  <span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o">&lt;</span><span class="n">Properties</span><span class="o">&gt;</span> <span class="n">getCredentials</span><span class="p">(</span>
-    <span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o">&lt;</span><span class="n">Properties</span><span class="o">&gt;</span> <span class="o">&amp;</span><span class="n">securityprops</span><span class="p">,</span>
-    <span class="k">const</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="o">&amp;</span><span class="p">)</span> <span class="n">override</span> <span class="p">{</span>
-    <span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o">&lt;</span><span class="n">Cacheable</span><span class="o">&gt;</span> <span class="n">userName</span><span class="p">;</span>
-    <span class="k">if</span> <span class="p">(</span><span class="n">securityprops</span> <span class="o">==</span> <span class="nb">nullptr</span> <span class="o">||</span>
-      <span class="p">(</span><span class="n">userName</span> <span class="o">=</span> <span class="n">securityprops</span><span class="o">-&gt;</span><span class="n">find</span><span class="p">(</span><span class="n">SECURITY_USERNAME</span><span class="p">))</span> <span class="o">==</span> <span class="nb">nullptr</span><span class="p">)</span> <span class="p">{</span>
-      <span class="k">throw</span> <span class="n">AuthenticationFailedException</span><span class="p">(</span>
-      <span class="s">"UserPasswordAuthInit: user name "</span>
-      <span class="s">"property [SECURITY_USERNAME] not set."</span><span class="p">);</span>
-    <span class="p">}</span>
-
-    <span class="k">auto</span> <span class="n">credentials</span> <span class="o">=</span> <span class="n">Properties</span><span class="o">::</span><span class="n">create</span><span class="p">();</span>
-    <span class="n">credentials</span><span class="o">-&gt;</span><span class="n">insert</span><span class="p">(</span><span class="n">SECURITY_USERNAME</span><span class="p">,</span> <span class="n">userName</span><span class="o">-&gt;</span><span class="n">toString</span><span class="p">().</span><span class="n">c_str</span><span class="p">());</span>
-    <span class="k">auto</span> <span class="n">passwd</span> <span class="o">=</span> <span class="n">securityprops</span><span class="o">-&gt;</span><span class="n">find</span><span class="p">(</span><span class="n">SECURITY_PASSWORD</span><span class="p">);</span>
-    <span class="k">if</span> <span class="p">(</span><span class="n">passwd</span> <span class="o">==</span> <span class="nb">nullptr</span><span class="p">)</span> <span class="p">{</span>
-      <span class="n">passwd</span> <span class="o">=</span> <span class="n">CacheableString</span><span class="o">::</span><span class="n">create</span><span class="p">(</span><span class="s">""</span><span class="p">);</span>
-    <span class="p">}</span>
-    <span class="n">credentials</span><span class="o">-&gt;</span><span class="n">insert</span><span class="p">(</span><span class="n">SECURITY_PASSWORD</span><span class="p">,</span> <span class="n">passwd</span><span class="o">-&gt;</span><span class="n">value</span><span class="p">().</span><span class="n">c_str</span><span class="p">());</span>
-    <span class="k">return</span> <span class="n">credentials</span><span class="p">;</span>
-  <span class="p">}</span>
-
-  <span class="kt">void</span> <span class="n">close</span><span class="p">()</span> <span class="n">override</span> <span class="p">{</span> <span class="k">return</span><span class="p">;</span> <span class="p">}</span>
-<span class="p">};</span>
-
+  <span class="k">return</span> <span class="n">securityprops</span><span class="p">;</span>
+<span class="p">}</span>
 </code></pre>
 
         
diff --git a/docs/geode-native/cpp/113/security/security-systemprops.html b/docs/geode-native/cpp/113/security/security-systemprops.html
index 86b88a5..97e9f95 100644
--- a/docs/geode-native/cpp/113/security/security-systemprops.html
+++ b/docs/geode-native/cpp/113/security/security-systemprops.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/security/security.html b/docs/geode-native/cpp/113/security/security.html
index 4cf4c43..6fb593f 100644
--- a/docs/geode-native/cpp/113/security/security.html
+++ b/docs/geode-native/cpp/113/security/security.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/security/sslclientserver.html b/docs/geode-native/cpp/113/security/sslclientserver.html
index 054ff52..991931f 100644
--- a/docs/geode-native/cpp/113/security/sslclientserver.html
+++ b/docs/geode-native/cpp/113/security/sslclientserver.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/data-as-blob.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/data-as-blob.html
deleted file mode 100644
index 29ae3cc..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/data-as-blob.html
+++ /dev/null
@@ -1,290 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Serializing and Accessing Data as a Blob |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_data-as-blob has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Serializing and Accessing Data as a Blob
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>If you have data that is best handled as a blob, such as structs that do not contain pointers, use the serializable type <code>CacheableBytes</code> . <code>CacheableBytes</code> is a blob class that implements the serialization for you.</p>
-
-<p><code>CacheableBytes</code> also provides direct access to the blob data. Because it is not derived from the <code>CacheableKey</code> interface, <code>CacheableBytes</code> enables you to modify data in place and then put it into the region again to distribute the change.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/object-graphs.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/object-graphs.html
deleted file mode 100644
index 46eda35..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/object-graphs.html
+++ /dev/null
@@ -1,288 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Serializing Object Graphs |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_object-graphs has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Serializing Object Graphs
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>If you have a graph of objects where each node can be serializable, the parent node can call <code>DataOutput::writeObject</code> to delegate the serialization responsibility to its child nodes. Similarly, your application can call <code>DataInput::readObject</code> to deserialize the object graph.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-ignore-unread-fields.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-ignore-unread-fields.html
deleted file mode 100644
index 01e5092..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-ignore-unread-fields.html
+++ /dev/null
@@ -1,299 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Configuring PDX to Ignore Unread Fields During Deserialization |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_pdx-ignore-unread-fields has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Configuring PDX to Ignore Unread Fields During Deserialization
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Use the <code>setPdxIgnoreUnreadFields</code> API to control whether PDX ignores fields that were unread during deserialization.</p>
-
-<p>The default is to preserve unread fields by including their data during serialization. However, if you configure the cache to ignore unread fields then their data will be lost during serialization.</p>
-
-<p>You should only set this attribute to <code>true</code> if you know this member will only be reading cache data. In this use case you do not need to pay the cost of preserving unread fields since you will never reserialize the PDX data.</p>
-
-<p>For example:</p>
-<pre class="highlight plaintext"><code>CacheFactoryPtr cfPtr = CacheFactory::createCacheFactory(PropertiesObj);
-cfPtr-&gt;setPdxReadSerialized(tue);
-cfPtr-&gt;setPdxIgnoreUnreadFields(false);
-cachePtr = cfPtr-&gt;create();
-</code></pre>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-serialization.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-serialization.html
deleted file mode 100644
index 08bc602..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-serialization.html
+++ /dev/null
@@ -1,319 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Serializing Data with PDX Serialization |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_pdx-serialization has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Serializing Data with PDX Serialization
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>PDX is a cross-language data format that can reduce the cost of
-distributing and serializing your objects. PDX stores data in named
-fields that you can access individually to avoid the cost of
-deserializing the entire data object. When you use PDX serialization
-with the C++ client API, you can implement PDX serialization for each
-domain object or register a <code>PdxSerializer</code> for the entire cache.</p>
-
-<p>You can also set the object preference of the cache to the <code>PdxInstance</code> type, which allows you to access fields of a PDX object without deserializing the entire object.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/pdxserializable-interface.html">Serialize Using the PdxSerializable Class</a></strong></p>
-
-<p>Domain classes need to inherit the <code>PdxSerializable</code> abstract class to serialize and de-serialize the object. When you write objects using PDX serialization, they are distributed to the server tier in PDX serialized form.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxserializer.html">Serialize Your Domain Objects with PdxSerializer and PdxWrapper</a></strong></p>
-
-<p>For domain objects that you cannot or do not want to modify, use the <code>PdxSerializer</code> and the <code>PdxWrapper</code> classes to serialize and deserialize the object&rsquo;s fields.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxinstance.html">Programming Your Application to Use PdxInstances</a></strong></p>
-
-<p>A <code>PdxInstance</code> is a lightweight wrapper around the raw bytes of the PDX serialized objects kept in the cache. It provides applications with run-time access to files of a PDX serialized object. Geode provides the implementation of the <code>PdxInstance</code> class.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-ignore-unread-fields.html">Configuring PDX to Ignore Unread Fields During Deserialization</a></strong></p>
-
-<p>Use the <code>setPdxIgnoreUnreadFields</code> API to control whether PDX ignores fields that were unread during deserialization.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxinstancefactory.html">Using PdxInstanceFactory to Create PdxInstances</a></strong></p>
-
-<p>You can use the <code>PdxInstanceFactory</code> API to create a <code>PdxInstance</code> from raw data when the domain class is not available on the server.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/using-enum-type-with-pdx.html">Using C++ Enum Type with PDX Serialization</a></strong></p>
-
-<p>Because there is no &ldquo;object&rdquo; base type in C++, enums cannot be directly passed as parameters to the <code>writeObject</code> and <code>readObject</code> API.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-with-delta-propagation.html">Using PDX Serialization with Delta Propagation</a></strong></p>
-
-<p>To use delta propagation with PDX serialization, you must implement the <code>Delta</code> interface methods.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-with-delta-propagation.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-with-delta-propagation.html
deleted file mode 100644
index 295e362..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-with-delta-propagation.html
+++ /dev/null
@@ -1,307 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Using PDX Serialization with Delta Propagation |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_pdx-with-delta-propagation has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Using PDX Serialization with Delta Propagation
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p><a id="concept_F33AC930A8F14F0A9EE07AC31FFD8C8F__section_6C08121D7A034993A7422985FBC9A0D9"></a>
-You can include delta propagation support with PDX serialization by implementing the <code>Delta</code> interface methods. 
-However, using delta propagation with PDX will require that you implement Java side classes. The objects will remain in deserialized form at all times on the server and you will lose one of the main benefits of PDX.</p>
-
-<p>In addition, you must set <code>read-serialized</code> to <code>false</code>. Otherwise, Java objects will be deserialized to instances of <code>PdxInstance</code>, which never implements deltas.</p>
-
-<p>The following code snippet is a sample implementation of the Delta interface methods for using with PDX serialization.</p>
-<pre class="highlight plaintext"><code>class PdxWithDelta : public PdxSerializable, public Delta
-{
-public:
-
-  bool hasDelta();
-  void toDelta(DataOutput&amp; output);
-  void fromDelta(DataInput&amp; input);
-  DeltaPtr clone();
-
-// other PdxSerializable methods here...
-
-};
-</code></pre>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/pdxserializable-example.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/pdxserializable-example.html
deleted file mode 100644
index 57d72af..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/pdxserializable-example.html
+++ /dev/null
@@ -1,417 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      PdxSerializable Example |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_pdxserializable-example has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    PdxSerializable Example
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<h2 id="order.cpp:">Order.cpp:</h2>
-
-<p>Front matter:</p>
-<pre class="highlight plaintext"><code>#include "Order.hpp"
-</code></pre>
-
-<p><code>PdxReader</code> &amp; <code>PdxWriter</code> are used for <code>fromData()</code> &amp; <code>toData()</code>:</p>
-<pre class="highlight plaintext"><code>#include &lt;geode/PdxReader.hpp&gt;
-#include &lt;geode/PdxWriter.hpp&gt;
-
-namespace customserializable {
-</code></pre>
-
-<ul>
-<li>Must provide <code>fromData()</code> and <code>toData()</code>.</li>
-<li><p>Specify the keys in the same order in <code>fromData()</code> and <code>toData()</code>. Use <code>PdxReader</code> and <code>PdxWriter</code>:</p>
-<pre class="highlight plaintext"><code>void Order::fromData(PdxReader&amp; pdxReader) {
-  order_id_ = static_cast&lt;uint32_t&gt;(pdxReader.readLong(ORDER_ID_KEY_));
-  name_ = pdxReader.readString(NAME_KEY_);
-  quantity_ = static_cast&lt;uint16_t&gt;(pdxReader.readInt(QUANTITY_KEY_));
-}
-
-void Order::toData(PdxWriter&amp; pdxWriter) const {
-  pdxWriter.writeLong(ORDER_ID_KEY_, order_id_);
-  pdxWriter.markIdentityField(ORDER_ID_KEY_);
-
-  pdxWriter.writeString(NAME_KEY_, name_);
-  pdxWriter.markIdentityField(NAME_KEY_);
-
-  pdxWriter.writeInt(QUANTITY_KEY_, quantity_);
-  pdxWriter.markIdentityField(QUANTITY_KEY_);
-}
-</code></pre></li>
-</ul>
-
-<p>Optionally override and add detailed methods as needed. In this example, we override <code>toString()</code> and implement <code>size()</code> and <code>classname()</code>.</p>
-<pre class="highlight plaintext"><code>std::string Order::toString() const {
-  return "OrderID: " + std::to_string(order_id_) + " Product Name: " + name_ +
-     " Quantity: " + std::to_string(quantity_);
-}
-
-
-size_t Order::objectSize() const {
-  auto objectSize = sizeof(Order);
-  objectSize += name_.capacity();
-  return objectSize;
-}
-
-
-const std::string&amp; Order::getClassName() const {
-  static const std::string CLASS_NAME = "com.example.Order";
-  return CLASS_NAME;
-}
-</code></pre>
-
-<p>Provide a constructor in a parameter-less wrapper that can be called to create a prototypical instance (called <code>createDeserializable()</code> here).</p>
-<pre class="highlight plaintext"><code>std::shared_ptr&lt;PdxSerializable&gt; Order::createDeserializable() {
-  return std::make_shared&lt;Order&gt;(0, "", 0);
-}
-
-const std::string Order::ORDER_ID_KEY_ = "order_id";
-const std::string Order::NAME_KEY_ = "name";
-const std::string Order::QUANTITY_KEY_ = "quantity";
-
-}  // namespace customserializable
-</code></pre>
-
-<h2 id="main.cpp">main.cpp</h2>
-
-<p>Front matter. You will need <code>TypeRegistry</code> to register your PdxSerializable class. Bring in the customary includes for I/O and cache, pool, and region creation.</p>
-<pre class="highlight plaintext"><code>#include &lt;iostream&gt;
-#include &lt;sstream&gt;
-
-#include &lt;geode/CacheFactory.hpp&gt;
-#include &lt;geode/PoolManager.hpp&gt;
-#include &lt;geode/RegionFactory.hpp&gt;
-#include &lt;geode/RegionShortcut.hpp&gt;
-#include &lt;geode/TypeRegistry.hpp&gt;
-
-#include "Order.hpp"
-
-using namespace apache::geode::client;
-using namespace customserializable;
-
-
-int main(int argc, char** argv) {
-  auto cacheFactory = CacheFactory();
-  cacheFactory.set("log-level", "none");
-  auto cache = cacheFactory.create();
-
-  auto poolFactory = cache.getPoolManager().createFactory();
-  poolFactory.addLocator("localhost", 10334);
-  auto pool = poolFactory.create("pool");
-
-  auto regionFactory = cache.createRegionFactory(RegionShortcut::PROXY);
-  auto region = regionFactory.setPoolName("pool").create("custom_orders");
-
-
-  cache.getTypeRegistry().registerPdxType(Order::createDeserializable);
-
-
-  std::cout &lt;&lt; "Create orders" &lt;&lt; std::endl;
-  auto order1 = std::make_shared&lt;Order&gt;(1, "product x", 23);
-  auto order2 = std::make_shared&lt;Order&gt;(2, "product y", 37);
-
-  std::cout &lt;&lt; "Storing orders in the region" &lt;&lt; std::endl;
-  region-&gt;put("Customer1", order1);
-  region-&gt;put("Customer2", order2);
-
-  std::cout &lt;&lt; "Getting the orders from the region" &lt;&lt; std::endl;
-
-  if (auto order1retrieved =
-      std::dynamic_pointer_cast&lt;Order&gt;(region-&gt;get("Customer1"))) {
-std::cout &lt;&lt; "OrderID: " &lt;&lt; order1retrieved-&gt;getOrderId() &lt;&lt; std::endl;
-std::cout &lt;&lt; "Product Name: " &lt;&lt; order1retrieved-&gt;getName() &lt;&lt; std::endl;
-std::cout &lt;&lt; "Quantity: " &lt;&lt; order1retrieved-&gt;getQuantity() &lt;&lt; std::endl;
-  } else {
-std::cout &lt;&lt; "Order 1 not found." &lt;&lt; std::endl;
-  }
-
-  if (auto order2retrieved = region-&gt;get("Customer2")) {
-std::cout &lt;&lt; order2retrieved-&gt;toString() &lt;&lt; std::endl;
-  } else {
-std::cout &lt;&lt; "Order 2 not found." &lt;&lt; std::endl;
-  }
-
-
-  cache.close();
-}
-</code></pre>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/pdxserializable-interface.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/pdxserializable-interface.html
deleted file mode 100644
index 27201d4..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/pdxserializable-interface.html
+++ /dev/null
@@ -1,374 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Serialize Using the PdxSerializable Class |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_pdxserializable-interface has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Serialize Using the PdxSerializable Class
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>When you write objects using PDX serialization, they are distributed to the server tier in PDX serialized form.
-Domain classes need to inherit the <code>PdxSerializable</code> abstract class to serialize and de-serialize the object.</p>
-
-<p>When you run queries against the objects on the servers, only the fields you specify are deserialized.
-A domain class should serialize and de-serialize all its member fields in the same order in its <code>toData</code> and <code>fromData</code> methods.</p>
-
-<p>Use this procedure to program your domain object for PDX serialization using the <code>PdxSerializable</code> abstract class.</p>
-
-<ol>
-<li><p>In your domain class, implement <code>PdxSerializable</code>. Example:</p>
-<pre class="highlight plaintext"><code>class PdxObject: public PdxSerializable
-</code></pre></li>
-<li><p>Program the <code>toData</code> function to serialize your object as required by your application.
-<br><br>
-If you also use PDX serialization in Java or .NET for the object, serialize the object in the same way for each language. Serialize the same fields in the same order and mark the same identity fields.</p></li>
-<li><p>Program the <code>fromData</code> method to read your data fields from the serialized form into the object&rsquo;s fields.
-<br><br>
-In your <code>fromData</code> implementation, use the same name as you did in <code>toData</code> and call the read operations in the same order as you called the write operations in your <code>toData</code> implementation.</p></li>
-<li><p>Optionally, program your domain object&rsquo;s <code>hashCode</code> and equality methods.
-<br><br>
-Use the <code>markIdentityField</code> method to indicate that the given field name should be included in <code>hashCode</code> and equality checks of this object on a server.
-<br><br>
-The fields that are marked as identity fields are used to generate the <code>hashCode</code> and equality methods of PdxInstance. Because of this, the identity fields should themselves either be primitives, or implement <code>hashCode</code> and equals.
-<br><br>
-If no fields are set as identity fields, then all fields will be used in <code>hashCode</code> and equality checks. The identity fields should make marked after they are written using a <code>write*</code> method.</p></li>
-</ol>
-
-<h2 id="pdxserializable-example"><a class="no-quick-link" id="pdx-serializable-example"></a>PdxSerializable Example</h2>
-<pre class="highlight plaintext"><code>class PdxObject: public PdxSerializable {
-
-private:
-    uint32_t m_id;
-    char* m_str;
-
-public:
-    PdxObject(){};
-    PdxObject(uint32_t id, char* str);
-    virtual ~PdxObject();
-
-    uint32_t getID() {
-        return m_id;
-    }
-
-    char* getStr(){
-        return m_str;
-    }
-
-    virtual void toData(PdxWriterPtr pw) const;
-    virtual void fromData(PdxReaderPtr pr);
-    CacheableStringPtr toString() const;
-    virtual char* getClassName() const;
-    static Cacheable* createDeserializable() {
-        return new PdxObject();
-    }
-};
-
-PdxObject::PdxObject(uint32_t i, char* str) {
-    m_id = i;
-    m_str = str;
-}
-
-PdxObject::~PdxObject() {
-}
-
-void PdxObject::toData( PdxWriterPtr pw ) const {
-    pw-&gt;writeInt("id", m_id);
-       pw-&gt;markIdentityField("id");
-    pw-&gt;writeString("str", m_str);
-}
-
-void  PdxObject::fromData( PdxReaderPtr pr )
-{
-    m_id = pr-&gt;readInt("id");
-    m_str = pr-&gt;readString("str");
-}
-
-char* getClassName() const{
-{
-    return "com.example.PdxType";
-}
-
-CacheableStringPtr PdxObject::toString() const {
-       char idbuf[1024];
-       sprintf(idbuf,"PdxObject: [ ID=%d ]",m_id);
-       return CacheableString::create( idbuf );
-}
-</code></pre>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/performing-ops-with-pdx-object.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/performing-ops-with-pdx-object.html
deleted file mode 100644
index d932ac2..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/performing-ops-with-pdx-object.html
+++ /dev/null
@@ -1,312 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Performing put, get, and localDestroy Operations with a PDX Domain Object |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_performing-ops-with-pdx-object has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Performing put, get, and localDestroy Operations with a PDX Domain Object
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>This topic demonstrates how you can perform operations on a PDX domain object after you have implemented PDX serializable in your domain class.</p>
-
-<p>For example, you can perform operations like put, get, and localDestroy with the domain class you defined for PDX serialization in the <a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/pdxserializable-interface.html#pdx-serializable-example">PdxSerializable Example</a>.</p>
-
-<p>To perform operations, you could write the following application code:</p>
-
-<ol>
-<li><p>Register the PDX domain class.</p>
-<pre class="highlight plaintext"><code>Serializable::registerPdxType(PdxObject::createDeserializable);
-</code></pre></li>
-<li><p>Create the PDX domain object <code>PdxObject</code>.</p>
-<pre class="highlight plaintext"><code>CacheablePtr pdxobj(new PdxObject(100, "Value-1"));
-CacheableKeyPtr keyport = CacheableKey::create("ABC");
-</code></pre></li>
-<li><p>Here&rsquo;s an example of a put operation.</p>
-<pre class="highlight plaintext"><code>rptr-&gt;put(keyport, pdxobj);
-</code></pre></li>
-<li><p>Here&rsquo;s an example of locally destroying the entry.</p>
-<pre class="highlight plaintext"><code>rptr-&gt;localDestroy(keyport);
-</code></pre></li>
-<li><p>Here&rsquo;s an example of a get operation.</p>
-<pre class="highlight plaintext"><code>PdxObject *obj2 = dynamic_cast&lt;PdxObject *&gt; ((rptr-&gt;get(keyport)).ptr());
-LOGINFO("Debug:Returned ID = %d", obj2-&gt;getID());
-</code></pre></li>
-</ol>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/serialization-options.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/serialization-options.html
deleted file mode 100644
index e6d842d..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/serialization-options.html
+++ /dev/null
@@ -1,353 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Data Serialization Options |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_serialization-options has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Data Serialization Options
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>The C++ client API gives two serialization options: Geode PDX serialization and the <code>apache::geode::client::DataSerializable</code> interface.</p>
-
-<p>Geode Portable Data eXchange (PDX) serialization is the recommended option. PDX
-serialization provides portability for PDX serializable objects so that clients can share data with
-Java servers and other non-C++ clients. PDX is a cross-language data format that can reduce the cost
-of distributing and serializing your objects. PDX stores data in named fields that you can access
-individually in order to avoid the cost of deserializing the entire data object. PDX also allows you
-to mix versions of objects where you have added or removed fields.</p>
-
-<p>When using PDX serialization, you can use either <code>PdxSerializable</code> (for a specific domain object) or <code>PdxSerializer</code> (for all your domain objects).</p>
-
-<p><code>PdxSerializable</code> is used when the domain class that a user wants to serialize/deserialize is inherited from the <code>PdxSerializable</code> interface, and the user has registered the domain class using the <code>registerPdxType(domainClass)</code> API.</p>
-
-<p><code>PdxSerializer</code> is used when a user has registered a domain class for serialization in the cache using the <code>registerPdxSerializer</code> API.</p>
-
-<p>The non-PDX serialization option is to use the <code>apache::geode::client::DataSerializable</code> interface. This
-<code>DataSerializable</code> interface can be a good option performance-wise if the size of your objects is
-small. <code>DataSerializable</code> is used whenever a user domain class is not inherited by <code>PdxSerializable</code>,
-but the user has registered the class with the <code>registerType</code> API.</p>
-
-<table>
-<caption><span class="tablecap">Table 1. Serialization Options—Comparison of Features</span></caption>
-<colgroup>
-<col width="50%" />
-<col width="25%" />
-<col width="25%" />
-</colgroup>
-<thead>
-<tr class="header">
-<th>Capability</th>
-<th>DataSerializable</th>
-<th>PdxSerializable</th>
-</tr>
-</thead>
-<tbody>
-<tr class="odd">
-<td><p>Handles multiple versions of domain objects</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="even">
-<td><p>Provides single field access on servers of serialized data, without full deserialization. Supported also for OQL queries.</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="odd">
-<td><p>Automatically ported to other languages by Geode - no need to program Java-side implementation</p></td>
-<td></td>
-<td>X</td>
-</tr>
-<tr class="even">
-<td><p>Works with Geode delta propagation</p></td>
-<td>X</td>
-<td>X</td>
-</tr>
-</tbody>
-</table>
-
-<p><span class="tablecap"><strong>Table 1.</strong> Serialization Options—Comparison of Features</span></p>
-
-<h2 id="important-points-to-remember-when-using-dataserializable">Important points to remember when using DataSerializable</h2>
-
-<ol>
-<li>Make sure to register the proper typeId when registering custom classes that have a corresponding server side jar (e.g. Portfolio and Position)</li>
-<li>Make sure to register any custom types in each process that uses those types. The cppcache framework uses four separate processes.</li>
-</ol>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/serialization-overview.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/serialization-overview.html
deleted file mode 100644
index 27f9148..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/serialization-overview.html
+++ /dev/null
@@ -1,309 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Data Serialization &ndash; C++ |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_serialization-overview has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Data Serialization &ndash; C++
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>All data moving out of the client cache must be serializable.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/serialization-options.html">Data Serialization Options</a></strong></p>
-
-<p>The C++ client API provides two serialization options:  Geode PDX serialization and the <code>apache::geode::client::DataSerializable</code> interface.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-serialization.html">Using PDX Serialization</a></strong></p>
-
-<p>PDX is a cross-language data format that can reduce the cost of distributing and serializing your
-objects. PDX stores data in named fields that you can access individually to avoid the cost of
-deserializing the entire data object. When you use PDX serialization with a C++ client, you can
-implement PDX serialization for each domain object or register a PdxSerializer for the entire cache.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/serialization-using-serializable.html">Serializing Data with the DataSerializable Interface</a></strong></p>
-
-<p>The C++ client API provides a <code>DataSerializable</code> interface that you can use for fast and compact data serialization. This section discusses the Geode DataSerializable interface and presents implementation examples.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/object-graphs.html">Serializing Object Graphs</a></strong></p>
-
-<p>If you have a graph of objects where each node can be serializable, the parent node can call <code>DataOutput::writeObject</code> to delegate the serialization responsibility to its child nodes. Similarly, your application can call <code>DataInput::readObject</code> to deserialize the object graph.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/data-as-blob.html">Serializing and Accessing Data as a Blob</a></strong></p>
-
-<p>If you have data that is best handled as a blob, such as structs that do not contain pointers, use the serializable type <code>CacheableBytes</code> . <code>CacheableBytes</code> is a blob class that implements the serialization for you.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/serialization-using-serializable.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/serialization-using-serializable.html
deleted file mode 100644
index eb31c0c..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/serialization-using-serializable.html
+++ /dev/null
@@ -1,531 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Serializing Data with the DataSerializable Interface |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_serialization-using-serializable has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Serializing Data with the DataSerializable Interface
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>The C++ client API provides a <code>DataSerializable</code> interface that you can use for fast and compact
-data serialization. </p>
-
-<p>Geode Portable Data eXchange (PDX) serialization is the recommended option,
-but the <code>DataSerializable</code> interface can be a good option performance-wise if the size of your objects
-is small. </p>
-
-<p>This section discusses the Geode <code>DataSerializable</code> interface, and
-presents implementation examples.</p>
-
-<h2 id="how-serialization-works"><a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_8143F965A8C6495E8AB104FD36DA366A" class="no-quick-link"></a>How Serialization Works</h2>
-
-<p>When your application puts an object into the cache for subsequent distribution, Geode serializes the data by taking these steps:</p>
-
-<ol>
-<li> Calls the appropriate <code>classId</code> function.</li>
-<li> Writes the full <code>typeId</code> using the <code>classId</code> for the instance.</li>
-<li> Invokes the instance’s <code>toData</code> function.</li>
-</ol>
-
-<p>When your application subsequently receives a byte array, Geode takes the following steps:</p>
-
-<ol>
-<li><p>Decodes the <code>typeId</code>, extracts the <code>classId</code> from the <code>typeId</code>, then creates an object of the designated type using the registered factory functions.</p></li>
-<li><p>Invokes the <code>fromData</code> function with input from the data stream.</p></li>
-<li><p>Decodes the data, then populates the data fields.</p></li>
-</ol>
-
-<h2 id="implementing-the-dataserializable-interface"><a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_786CF85FD80E4FE391135460E04D46CC" class="no-quick-link"></a>Implementing the DataSerializable Interface</h2>
-
-<p>To store your own data types in the cache, you need to derive a new subclass from the <code>DataSerializable</code>
-interface. In practical terms, this means that you need to implement a small set of helper
-functions:</p>
-
-<ol>
-<li><p>Write a <code>toData</code> function that serializes your data.</p>
-<pre class="highlight plaintext"><code>void toData (DataOutput&amp; output)
-</code></pre>
-
-<p>The <code>toData</code> function is responsible for copying all of the object’s data fields to the object stream.
-The <code>DataOutput</code> class represents the output stream and provides methods for writing the primitives in a network byte order.</p></li>
-<li><p>Write a <code>fromData</code> function that consumes a data input stream and repopulates the object’s data fields.</p>
-<pre class="highlight plaintext"><code>void fromData (DataInput&amp; input)
-</code></pre>
-
-<p>The <code>DataInput</code> class represents the input stream and provides methods for reading input
-elements. The <code>fromData</code> function must read the elements of the input stream in the same order
-that they were written by <code>toData</code>.</p></li>
-</ol>
-
-<h2 id="example-1.-the-simple-class-bankaccount">Example 1. The Simple Class BankAccount</h2>
-
-<p>This example demonstrates a simple <code>BankAccount</code> class that encapsulates two <code>ints</code>, <code>ownerId</code> and <code>accountId</code>:</p>
-<pre class="highlight plaintext"><code>class BankAccount
-{
-   private:
- 
-   int m_ownerId;
-   int m_accountId;
- 
-   public:
- 
-   BankAccount( int owner, int account ): m_ownerId( owner ),
-     m_accountId( account ) {}
- 
-   int getOwner( )
-   {
-      return m_ownerId;
-   }
- 
-   int getAccount( )
-   {
-      return m_accountId;
-   }
- 
-};
-</code></pre>
-
-<p>To make <code>BankAccount</code> serializable, you would need to derive the class from <code>DataSerializable</code> and implement the following:</p>
-
-<ul>
-<li>  <code>toData</code> — a function to serialize the data.</li>
-<li>  <code>fromData</code> — a function to deserialize the data.</li>
-<li>  <code>getClassId</code> — a function to provide a unique integer for the class.</li>
-<li>  <code>TypeFactoryMethod</code> — a pointer to a function that returns a <code>DataSerializable*</code> to an uninitialized instance of the type.</li>
-</ul>
-
-<h2 id="example-2.-implementing-a-dataserializable-class">Example 2. Implementing a DataSerializable Class</h2>
-
-<p>This example shows a code sample that demonstrates how to implement a serializable class.</p>
-<pre class="highlight plaintext"><code>class BankAccount : public DataSerializable
-{
-   private:
-   int m_ownerId; 
-   int m_accountId;
-   public:
-   BankAccount( int owner, int account ) : m_ownerId( owner ),
-      m_accountId( account ) {}
-
-int getOwner( )
-{
-    return m_ownerId;
-}
-
-int getAccount( )
-{
-    return m_accountId;
-}
-
-// Add the following for the DataSerializable interface
-// Our TypeFactoryMethod
-static DataSerializable* createInstance( )
-{
-    return new BankAccount( 0, 0 );
-}
-
-int32_t getClassId( )
-{
-    return 10; // must be unique per class.
-}
-
-void toData( DataOutput&amp; output )
-{
-    output.writeInt( m_ownerId );
-    output.writeInt( m_accountId );
-}
-
-DataSerializable* fromData( DataInput&amp; input )
-{
-    input.readInt( &amp;m_ownerId );
-    input.readInt( &amp;m_accountId );
-    return this;
-}
-};
-</code></pre>
-
-<h2 id="registering-the-type"><a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_108942E549CE4DE68FF3956712DEC7AF" class="no-quick-link"></a>Registering the Type</h2>
-
-<p>To be able to use the <code>BankAccount</code> type, you must register it with the type system so that when an
-incoming stream contains a <code>BankAccount</code>, it can be manufactured from the associated
-<code>TypeFactoryMethod</code>.</p>
-<pre class="highlight plaintext"><code>DataSerializable::registerType( BankAccount::createInstance );
-</code></pre>
-
-<p>Typically, you would register the type before calling the function <code>DistributedSystem::connect</code>.</p>
-
-<p><strong>Note:</strong>
-Type IDs must be unique to only one class.</p>
-
-<h2 id="custom-key-types"><a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_311C3661023C46328B406F26F4F16808" class="no-quick-link"></a>Custom Key Types</h2>
-
-<p>If your application uses key types that are too complex to easily force into <code>CacheableString</code>, you
-can likely improve performance by deriving a new class from <code>CacheableKey</code>. If you have hybrid data
-types you can implement your own derivation of <code>CacheableKey</code> that encapsulates the data type.</p>
-
-<p>See below for information about implementing key types for a client that is used with a Java cache server.</p>
-
-<p>To extend a <code>DataSerializable</code> class to be a <code>CacheableKey</code>, you need to modify the class definition as follows:</p>
-
-<ul>
-<li><p>Change the class so that it derives from <code>CacheableKey</code> rather than <code>DataSerializable</code>.</p></li>
-<li><p>Implement <code>operator==</code> and <code>hashcode</code> functions.</p></li>
-</ul>
-
-<h2 id="example-3.-extending-a-dataserializable-class-to-be-a-cacheablekey">Example 3. Extending a DataSerializable Class To Be a CacheableKey</h2>
-
-<p>This example shows how to extend a serializable class to be a cacheable key.</p>
-<pre class="highlight plaintext"><code>class BankAccount
-: public CacheableKey
-{
-   private:
-   int m_ownerId;
-   int m_accountId;
-   public:
-   BankAccount( int owner, int account ) : m_ownerId( owner ),
-      m_accountId( account ) {}
-
-int getOwner( )
-{
-    return m_ownerId;
-}
-
-int getAccount( )
-{
-    return m_accountId;
-}
-
-// Our TypeFactoryMethod
-static DataSerializable* createInstance( )
-{
-    return new BankAccount( 0, 0 );
-}
-
-int32_t typeId( )
-{
-    return 1000; // must be unique per class.
-}
-
-void toData( DataOutput&amp; output )
-{
-    output.writeInt( m_ownerId );
-    output.writeInt( m_accountId );
-}
-
-DataSerializable* fromData( DataInput&amp; input )
-{
-    input.readInt( &amp;m_ownerId );
-    input.readInt( &amp;m_accountId );
-    return this;
-}
-
-// Add the following for the CacheableKey interface
-bool operator == ( const CacheableKey&amp; other ) const
-{
-    const BankAccount&amp; otherBA =
-    static_cast&lt;const BankAccount&amp;&gt;( other );
-    return (m_ownerId == otherBA.m_ownerId) &amp;&amp; (m_accountId == otherBA.m_accountId);
-}
-
-uint32_t hashcode( ) const
-{
-    return m_ownerId;
-}
-
-virtual int32_t classId( )const
-{
-    return 10; // must be unique per class.
-}
- 
-virtual size_t objectSize() const
-{
-    return 10;
-} 
-};
-</code></pre>
-
-<h2 id="serialization-in-native-client-mode-with-a-java-server"><a id="concept_696AB5206C3E45898CC1A24CDD93D003__section_AFB685227E4048BF9FB4FD7C55AED274" class="no-quick-link"></a>Serialization in Native Client Mode with a Java Server</h2>
-
-<p>Primitive object types supported in all languages (<code>CacheableInt32</code>, <code>CacheableString</code>,
-<code>CacheableBytes</code>) function without requiring custom definitions with the Java cache server. For the
-keys, the Java cache server has to deserialize them and locate the hashcode to be able to insert the
-internal maps. Because of this, key types for C++ clients used with a Java server are required to be
-registered on the Java server, but the value types do not need to be registered. This needs to be
-done even if there are no Java clients.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/using-enum-type-with-pdx.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/using-enum-type-with-pdx.html
deleted file mode 100644
index bd51227..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/using-enum-type-with-pdx.html
+++ /dev/null
@@ -1,390 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Using C++ Enum Type with PDX Serialization |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_using-enum-type-with-pdx has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Using C++ Enum Type with PDX Serialization
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Because there is no &ldquo;object&rdquo; base type in C++, enums cannot be directly passed as parameters to the <code>writeObject</code> and <code>readObject</code> API.</p>
-
-<p>To use the C++ enum type with PDX serialization, you have to wrap the <code>enum</code> in the <code>CacheableEnum</code> class type by specifying classname, enumname and ordinal.</p>
-<pre class="highlight plaintext"><code>enum enumQuerytest { id1, id2, id3 };
- class TESTOBJECT_EXPORT PdxEnumTestClass :public PdxSerializable
-  {
-  private:
-    int m_id;
-    CacheableEnumPtr m_enumid;
-
-  public:
-    int getID(){
-      return m_id;
-    }
-
-    CacheableEnumPtr getEnumID() {
-      return m_enumid;
-    }
-
-    PdxEnumTestClass(int id)
-    {
-      m_id = id;
-      switch (m_id) {
-        case 0:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id1", id1);
-          break;
-        case 1:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id2", id2);
-          break;
-        case 2:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id3", id3);
-          break;
-        default:
-          m_enumid = CacheableEnum::create("enumQuerytest", "id1", id1);
-          break;
-      }
-    }
-
-    PdxEnumTestClass() { }
-
-    void toData(PdxWriterPtr pw) {
-      pw-&gt;writeInt("m_id", m_id);
-      pw-&gt;writeObject("m_enumid", m_enumid);
-    }
-
-    void fromData(PdxReaderPtr pr) {
-      m_id = pr-&gt;readInt("m_id");
-      m_enumid = pr-&gt;readObject("m_enumid");
-    }
-
-    CacheableStringPtr toString() const {
-      return CacheableString::create("PdxEnumTestClass");
-    }
-
-    char* GetClassName() const {
-      return "com.example.PdxEnumTestClass";
-    }
-
-    static PdxSerializable* createDeserializable() {
-      return new PdxEnumTestClass();
-    }
-  };
-</code></pre>
-
-<h2 id="how-puts-and-queries-work-on-enums"><a id="concept_F38FDBC327204B4EB1E0BC74B4C95409__section_3491F76DB8C0464D89418B89372BBAEA" class="no-quick-link"></a>How Puts and Queries Work on Enums</h2>
-
-<p>The following code sample demonstrates how put and query operations work when using the C++ enum Type with PDX serialization:</p>
-<pre class="highlight plaintext"><code>//Creating objects of type PdxEnumTestClass
-PdxEnumTestClassPtr pdxobj1(new PdxEnumTestClass(0));
-PdxEnumTestClassPtr pdxobj2(new PdxEnumTestClass(1));
-PdxEnumTestClassPtr pdxobj3(new PdxEnumTestClass(2));
-
-RegionPtr rptr = getHelper()-&gt;getRegion( "DistRegionAck" );
-
-//PUT Operations
-rptr-&gt;put( CacheableInt32::create(0), pdxobj1 );
-LOG( "pdxPut 1 completed " );
-
-rptr-&gt;put( CacheableInt32::create(1), pdxobj2 );
-LOG( "pdxPut 2 completed " );
-
-rptr-&gt;put( CacheableInt32::create(2), pdxobj3 );
-LOG( "pdxPut 3 completed " );
-
-
-//Query
-try {
-    Serializable::registerPdxType(PdxEnumTestClass::createDeserializable);
-    LOG("PdxEnumTestClass Registered Successfully....");
-} catch (geode::IllegalStateException&amp;/* ex*/) {
-    LOG("PdxEnumTestClass IllegalStateException");
-}
-
-RegionPtr rptr = getHelper()-&gt;getRegion( "DistRegionAck" );
-SelectResultsPtr results = rptr-&gt;query("m_enumid.name = 'id2'");  
-ASSERT(results-&gt;size()== 1 , "query result should have one item");
-ResultSetPtr rsptr = dynCast&lt;ResultSetPtr&gt;(results);
-SelectResultsIterator iter = rsptr-&gt;getIterator();  
-while (iter.moveNext()) {
-    PdxEnumTestClassPtr re = dynCast&lt;PdxEnumTestClassPtr&gt;(iter.current());
-    ASSERT(re-&gt;getID()== 1 , "query should have returned id 1");
-}    
-</code></pre>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxinstance.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxinstance.html
deleted file mode 100644
index 3243aa9..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxinstance.html
+++ /dev/null
@@ -1,321 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Programming Your Application to Use PdxInstances |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_using-pdxinstance has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Programming Your Application to Use PdxInstances
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>A <code>PdxInstance</code> is a lightweight wrapper around the raw bytes of the PDX serialized objects kept in the cache. It provides applications with run-time access to files of a PDX serialized object. Geode provides the implementation of the <code>PdxInstance</code> class.</p>
-
-<p>You can configure your cache to return a <code>PdxInstance</code> when a PDX serialized object is deserialized instead of deserializing the object to a domain class. Preventing deserialization saves both time and memory and does not require you deserialize the object to the domain class.</p>
-
-<p>This configuration can be done in cache.xml by setting the attribute <code>read-serialized</code> to <code>true</code> on the &lt;pdx&gt; element, or it can be done programmatically using the <code>CacheFactory::setPdxReadSerialized(bool)</code> method.</p>
-
-<p>After this preference is configured, any time a PDX object is deserialized, it is deserialized into a <code>PdxInstance</code>.</p>
-
-<p>The following is a code sample of using the <code>setField</code> API of <code>PdxInstance</code> to modify fields:</p>
-<pre class="highlight plaintext"><code>RegionPtr rptr = getHelper()-&gt;getRegion( regionNames[0] );
-CacheableKeyPtr keyport = CacheableKey::create("pdxput");
-CacheableKeyPtr keyport1 = CacheableKey::create("pdxput2");
-
-PdxInstancePtr pIPtr = dynCast&lt;PdxInstancePtr&gt;(rptr-&gt;get(keyport));
-LOG( "modifyPdxInstance get complete." );
-
-WritablePdxInstancePtr wpiPtr( pIPtr-&gt;createWriter());
-
-ASSERT(pIPtr != NULLPTR, "pIPtr != NULLPTR expected");   
-int val = 0;
-int newVal = 0;
-ASSERT(pIPtr-&gt;hasField("m_int32") == true, "m_id1 = true expected");
-pIPtr-&gt;getField("m_int32", val);
-wpiPtr-&gt;setField("m_int32", val + 1);
-rptr-&gt;put(keyport, wpiPtr);  
-PdxInstancePtr newPiPtr = dynCast&lt;PdxInstancePtr&gt;(rptr-&gt;get(keyport));  
-ASSERT(newPiPtr-&gt;hasField("m_int32") == true, "m_int32 = true expected");
-newPiPtr-&gt;getField("m_int32", newVal);  
-ASSERT(val + 1 == newVal, "val + 1 == newVal expected");  
-ASSERT((*pIPtr.ptr() == *newPiPtr.ptr()) == false, 
-       "PdxInstance should not be equal");
-</code></pre>
-
-<p>In addition to field access, <code>PdxInstance</code> also supports field modification using the <code>setField(fieldName)</code> method. The <code>setField</code> method has copy-on-write semantics. So for the modifications to be stored in the cache, the <code>PdxInstance</code> must be put into a region after <code>setField</code> has been called one or more times.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxinstancefactory.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxinstancefactory.html
deleted file mode 100644
index 2cf41c6..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxinstancefactory.html
+++ /dev/null
@@ -1,396 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Using PdxInstanceFactory to Create PdxInstances |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_using-pdxinstancefactory has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Using PdxInstanceFactory to Create PdxInstances
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>You can use the <code>PdxInstanceFactory</code> API to create a <code>PdxInstance</code> from raw data when the domain class is not available on the server.</p>
-
-<p>Creating a <code>PdxInstance</code> can be particularly useful when you need an instance of a domain class for plug-in code such as a function or a loader. If you have raw data for the domain object (the class name and each field&rsquo;s type and data), then you can explicitly create a <code>PdxInstance</code>. The <code>PdxInstanceFactory</code> API is very similar to the <code>PdxWriter</code> API except that after writing each field, you need to call the create method which returns the created <code>PdxInstance</code>.</p>
-
-<h2 id="pdxinstance-example">PdxInstance Example</h2>
-
-<p>The following is a code example of creating a <code>PdxInstance</code>.</p>
-<pre class="highlight plaintext"><code>class Person
-{
-private:
-  char* m_name;    
-  int m_id;
-  int m_age;
-
-public:
-  Person() { }
-
-  Person(char* name, int id, int age)
-  {
-    m_name = name;
-    m_id = id;
-    m_age = age;
-  }
-
-  char* getName() const
-  {
-    return m_name;
-  }
-  int getID()
-  {
-    return m_id;
-  }
-  int getAge()
-  {
-    return m_age;
-  }
-};
-
-int main(int argc, char ** argv)
-{
-  try
-  {
-    // Create a Cache.
-    CacheFactoryPtr cacheFactory = CacheFactory::createCacheFactory();
-
-    CachePtr cachePtr = cacheFactory-&gt;set("cache-xml-file", 
-                "XMLs/clientPdxInstance.xml")-&gt;create();          
-
-    LOGINFO("Created the Geode Cache");
-
-    // Get the example Region from the Cache which is declared in the 
-    // Cache XML file.
-    RegionPtr regionPtr = cachePtr-&gt;getRegion("Person");       
-
-    LOGINFO("Obtained the Region from the Cache.");
-
-    Person* p = new Person("Jack", 7, 21);
-
-    //PdxInstanceFactory for Person class
-    PdxInstanceFactoryPtr pif = cachePtr-&gt;createPdxInstanceFactory("Person");
-    LOGINFO("Created PdxInstanceFactory for Person class");
-
-    pif-&gt;writeString("m_name", p-&gt;getName());
-    pif-&gt;writeInt("m_id", p-&gt;getID());
-    pif-&gt;markIdentityField("m_id");
-    pif-&gt;writeInt("m_age", p-&gt;getAge());
-
-    PdxInstancePtr pdxInstance = pif-&gt;create();
-
-    LOGINFO("Created PdxInstance for Person class");
-
-    regionPtr-&gt;put("Key1", pdxInstance);    
-
-    LOGINFO("Populated PdxInstance Object");
-
-    PdxInstancePtr retPdxInstance = regionPtr-&gt;get("Key1");
-
-    LOGINFO("Got PdxInstance Object");
-
-    int id = 0;
-    retPdxInstance-&gt;getField("m_id", id);
-
-    int age = 0;
-    retPdxInstance-&gt;getField("m_age", age);
-
-    char* name = NULL;
-    retPdxInstance-&gt;getField("m_name", &amp;name);
-
-    if (id == p-&gt;getID()&amp;&amp; age == p-&gt;getAge() &amp;&amp; strcmp(name, p-&gt;getName()) == 0
-      &amp;&amp; retPdxInstance-&gt;isIdentityField("m_id") == true)
-      LOGINFO("PdxInstance returns all fields value expected");
-    else
-      LOGINFO("PdxInstance doesn't returns all fields value expected");
-
-    delete p;
-
-    // Close the Cache.
-    cachePtr-&gt;close();
-
-    LOGINFO("Closed the Cache");
-
-  }
-  // An exception should not occur
-  catch(const Exception &amp; geodeExcp)
-  {    
-    LOGERROR("PdxInstance Exception: %s", geodeExcp.getMessage());
-  }
-}
-</code></pre>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxserialization.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxserialization.html
deleted file mode 100644
index 7375747..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxserialization.html
+++ /dev/null
@@ -1,329 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Using PDX Serialization |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_using-pdxserialization has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Using PDX Serialization
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Geode Portable Data eXchange (PDX) serialization provides portability for PDX serializable objects so that clients can share data with
-Java servers and other non-C++ clients. PDX stores data in named fields that you can access
-individually in order to avoid the cost of deserializing the entire data object. PDX also allows you
-to mix versions of objects where you have added or removed fields.</p>
-
-<p>When using PDX serialization, you can use either <code>PdxSerializable</code> (for a specific domain object) or <code>PdxSerializer</code> (for all your domain objects).</p>
-
-<p><strong>Use <code>PdxSerializable</code></strong> when the object is one whose definition you control. You can embed the serialization/deserialization capability within
-the object, so its conversion from one format to the other is self-contained. You do this by defining an object that inherits from the <code>PdxSerializable</code>
-interface, and you register the domain class using the <code>registerPdxType(domainClass)</code> API.</p>
-
-<p><strong>Use <code>PdxSerializer</code></strong> when you cannot or do not wish to modify the object definition, for example, when the object is provided by a third-party.
-You define the serialization/deserialization capability in a separate place, then register the domain class for serialization in the cache using 
-the <code>registerPdxSerializer</code> API.</p>
-
-<p>You can also set the object preference of the cache to the <code>PdxInstance</code> type, which allows you to access fields of a PDX object without deserializing the entire object.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/pdxserializable-interface.html">Serialize Using the PdxSerializable Class</a></strong></p>
-
-<p>Domain classes need to inherit the <code>PdxSerializable</code> abstract class to serialize and de-serialize the object. When you write objects using PDX serialization, they are distributed to the server tier in PDX serialized form.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/performing-ops-with-pdx-object.html">Performing put, get, and localDestroy Operations with a PDX Domain Object</a></strong>
-This topic demonstrates how you can perform operations on a PDX domain object after you have implemented PDX serializable in your domain class.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxserializer.html">Serialize Your Domain Objects with PdxSerializer and PdxWrapper</a></strong></p>
-
-<p>For domain objects that you cannot or do not want to modify, use the <code>PdxSerializer</code> and the <code>PdxWrapper</code> classes to serialize and deserialize the object&rsquo;s fields.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxinstance.html">Programming Your Application to Use PdxInstances</a></strong></p>
-
-<p>A <code>PdxInstance</code> is a lightweight wrapper around the raw bytes of the PDX serialized objects kept in the cache. It provides applications with run-time access to files of a PDX serialized object. Geode provides the implementation of the <code>PdxInstance</code> class.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-ignore-unread-fields.html">Configuring PDX to Ignore Unread Fields During Deserialization</a></strong></p>
-
-<p>Use the <code>setPdxIgnoreUnreadFields</code> API to control whether PDX ignores fields that were unread during deserialization.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxinstancefactory.html">Using PdxInstanceFactory to Create PdxInstances</a></strong></p>
-
-<p>You can use the <code>PdxInstanceFactory</code> API to create a <code>PdxInstance</code> from raw data when the domain class is not available on the server.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/using-enum-type-with-pdx.html">Using C++ Enum Type with PDX Serialization</a></strong></p>
-
-<p>Because there is no &ldquo;object&rdquo; base type in C++, enums cannot be directly passed as parameters to the <code>writeObject</code> and <code>readObject</code> API.</p></li>
-<li><p><strong><a href="/docs/geode-native/cpp/113/serialization/cpp-serialization/pdx-with-delta-propagation.html">Using PDX Serialization with Delta Propagation</a></strong></p>
-
-<p>To use delta propagation with PDX serialization, you must implement the <code>Delta</code> interface methods.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxserializer.html b/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxserializer.html
deleted file mode 100644
index 64b64d1..0000000
--- a/docs/geode-native/cpp/113/serialization/cpp-serialization/using-pdxserializer.html
+++ /dev/null
@@ -1,383 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Serialize Your Domain Objects with PdxSerializer and PdxWrapper |
-    Geode Native C++ Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_cpp docs_geode-native_cpp_113 docs_geode-native_cpp_113_serialization docs_geode-native_cpp_113_serialization_cpp-serialization docs_geode-native_cpp_113_serialization_cpp-serialization_using-pdxserializer has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native C++ Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/cpp/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/cpp/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/cpp/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/cpp/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/cpp/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/cpp/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/cpp/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native C++
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Serialize Your Domain Objects with PdxSerializer and PdxWrapper
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>For domain objects that you cannot or do not want to modify, use the <code>PdxSerializer</code> and the <code>PdxWrapper</code> classes to serialize and deserialize the object&rsquo;s fields.</p>
-
-<p>You register a <code>PdxSerializer</code> implementation for the entire cache, programming it for all of the domain objects that you handle in this way. This way you do not have to implement the <code>PdxSerializable</code> interface for each domain class.</p>
-
-<p>The <code>PdxSerializer</code> allows domain classes to be serialized and deserialized as PDXs without modification of the domain class. It requires only that the domain class have a constructor accessible to the <code>PdxSerializer</code> to create an instance. The domain class will be held in a wrapper class, <code>PdxWrapper</code>.</p>
-
-<p><code>PdxSerializer</code> has the following methods:</p>
-
-<ul>
-<li>  The <code>toData</code> method returns true if the PdxSerializer was able to serialize the user object, false if not.</li>
-<li>  If the PdxSerializer was able to deserialize the object, the <code>fromData</code> method returns a void pointer to the user object to be wrapped in a <code>PdxWrapper</code>.</li>
-</ul>
-
-<p>When you later reference the user object, use the <code>PdxWrapper</code> class. <code>PdxWrapper</code> holds a shared reference to the object in the local cache and is used during serialization and deserialization. <code>PdxWrapper</code> acts as a container for the user domain object and needs to wrap every instance of the object that uses a registered <code>PdxSerializer</code>. The object instance will not be modified. In addition, when using <code>PdxWrapper</code>, you will need to provide a function pointer to a &ldquo;deallocator&rdquo;, which will delete the user object when the reference is no longer held.</p>
-
-<p>The following code example defines a user object and a <code>PdxSerializer</code>. It then registers the new <code>PdxSerializer</code> and then uses <code>PdxWrapper</code> to put the object in a region and retrieve the object from a region.</p>
-<pre class="highlight plaintext"><code>class UserClass
-{
-public:
-
-  int m_int;
-  string m_string;
-
-  UserClass(int intVal, string stringVal)
-  {
-    m_int = intVal;
-    m_string = stringVal;
-  }
-
-  static void deallocate(void * object, char * className)
-  {
-    if (strcmp(className, "com.example.UserClass") == 0) {
-      UserClass * userObject = reinterpret_cast&lt;UserClass*&gt;(object);
-      delete userObject;
-    }
-  }
-};
-
-class UserPdxSerializer : public PdxSerializer
-{
-public:
-
-  void* fromData(char * className, PdxReaderPtr pdxReader)
-  {
-    if (strcmp(className, "com.example.UserClass") != 0) {
-      return NULL;
-    }
-
-    int intVal = pdxReader-&gt;readInt("m_int");
-    string stringVal = pdxReader-&gt;readString("m_string");
-
-    UserClass * userObject = new UserClass(intVal, stringVal);
-
-    return (void*) userObject;
-  }
-
-  bool toData(void * object, char * className, PdxWriterPtr pdxWriter)
-  {
-    if (strcmp(className, "com.example.UserClass") != 0) {
-      return false;
-    }
-
-    UserClass * userObject = reinterpret_cast&lt;UserClass*&gt;(object);
-
-    pdxWriter-&gt;writeInt("m_int", userObject-&gt;m_int);
-    pdxWriter-&gt;writeString("m_string", userObject-&gt;m_string);
-
-    return true;
-  }
-
-  UserDeallocator getDeallocator(char * className)
-  {
-    if (strcmp(className, "com.example.UserClass") == 0) {
-      return UserClass::deallocate;
-    } else {
-      return NULL;
-    }
-  }
-};
-
-// Register a user PDX serializer
-
-Serializable::registerPdxSerializer(new UserPdxSerializer);
-
-// Put a user object into a region.
-
-UserClass * userObject = new UserClass(123, "someValue");
-PdxWrapperPtr pdxWrapper = new PdxWrapper(userObject, "com.example.UserClass", 
-                                          UserClass::deallocate);
-region-&gt;put("key", pdxWrapper);
-
-// Get a user object from a region.
-
-pdxWrapper = dynCast&lt;PdxWrapperPtr&gt;(region-&gt;get("key"));
-UserClass * userObject = reinterpret_cast&lt;UserClass*&gt;(pdxWrapper-&gt;getObject());
-</code></pre>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/cpp/113/serialization/data-serialization.html b/docs/geode-native/cpp/113/serialization/data-serialization.html
index 5b16859..979ad2e 100644
--- a/docs/geode-native/cpp/113/serialization/data-serialization.html
+++ b/docs/geode-native/cpp/113/serialization/data-serialization.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
diff --git a/docs/geode-native/cpp/113/transactions.html b/docs/geode-native/cpp/113/transactions.html
index d4f965c..961b682 100644
--- a/docs/geode-native/cpp/113/transactions.html
+++ b/docs/geode-native/cpp/113/transactions.html
@@ -132,6 +132,21 @@
       </ul>
     </li>
 
+    <li class="has_submenu">
+        <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/cpp/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
     <li>
       <a href="/docs/geode-native/cpp/113/serialization/data-serialization.html">Serializing Data</a>
     </li>
@@ -320,42 +335,37 @@
 For the complete source, see the example source directory.</p>
 
 <p>The C++ example creates a cache, then uses it to create a connection pool.</p>
-<pre class="highlight cpp"><code>  <span class="k">auto</span> <span class="n">cache</span> <span class="o">=</span> <span class="n">CacheFactory</span><span class="p">().</span><span class="n">set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">).</span><span class="n">create</span><span class="p">();</span>
-  <span class="k">auto</span> <span class="n">poolFactory</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">getPoolManager</span><span class="p">().</span><span class="n">createFactory</span><span class="p">();</span>
+<pre class="highlight cpp"><code>  <span class="k">auto</span> <span class="n">cache</span> <span class="o">=</span> <span class="n">CacheFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="n">set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">create</span><span class="p">();</span>
 
-  <span class="n">poolFactory</span><span class="p">.</span><span class="n">addLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="mi">10334</span><span class="p">);</span>
-  <span class="k">auto</span> <span class="n">pool</span> <span class="o">=</span> <span class="n">poolFactory</span><span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
+  <span class="n">cache</span><span class="p">.</span><span class="n">getPoolManager</span><span class="p">()</span>
+      <span class="p">.</span><span class="n">createFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="n">addLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="mi">10334</span><span class="p">)</span>
+      <span class="p">.</span><span class="n">create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
+
   <span class="k">auto</span> <span class="n">regionFactory</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">createRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="o">::</span><span class="n">PROXY</span><span class="p">);</span>
   <span class="k">auto</span> <span class="n">region</span> <span class="o">=</span> <span class="n">regionFactory</span><span class="p">.</span><span class="n">setPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">).</span><span class="n">create</span><span class="p">(</span><span class="s">"exampleRegion"</span><span class="p">);</span>
 </code></pre>
 
-<p>The example application gets a transaction manager from the cache and begins a transaction.</p>
+<p>The example application gets a transaction manager from the cache and a five-attempt retry loop.
+If all <code>put</code> operations succeed, the application commits the transaction. Otherwise, it retries up to 5 times if necessary.</p>
 <pre class="highlight cpp"><code>  <span class="k">auto</span> <span class="n">transactionManager</span> <span class="o">=</span> <span class="n">cache</span><span class="p">.</span><span class="n">getCacheTransactionManager</span><span class="p">();</span>
-
-  <span class="n">transactionManager</span><span class="o">-&gt;</span><span class="n">begin</span><span class="p">();</span>
-</code></pre>
-
-<p>Within the transaction, the client populates data store with 10 values associated with Key1 - Key10.</p>
-<pre class="highlight cpp"><code>      <span class="k">for</span> <span class="p">(</span><span class="k">auto</span><span class="o">&amp;</span> <span class="n">key</span> <span class="o">:</span> <span class="n">keys</span><span class="p">)</span> <span class="p">{</span>
-        <span class="k">auto</span> <span class="n">value</span> <span class="o">=</span> <span class="n">getValueFromExternalSystem</span><span class="p">();</span>
-        <span class="n">region</span><span class="o">-&gt;</span><span class="n">put</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">);</span>
-      <span class="p">}</span>
-</code></pre>
-
-<p>If all <code>put</code> operations succeed, the application commits the transaction. Otherwise, it retries up to 5 times if necessary.</p>
-<pre class="highlight cpp"><code>  <span class="k">auto</span> <span class="n">retries</span> <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
+  <span class="k">auto</span> <span class="n">retries</span> <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
   <span class="k">while</span> <span class="p">(</span><span class="n">retries</span><span class="o">--</span><span class="p">)</span> <span class="p">{</span>
     <span class="k">try</span> <span class="p">{</span>
       <span class="n">transactionManager</span><span class="o">-&gt;</span><span class="n">begin</span><span class="p">();</span>
-       <span class="p">...</span> <span class="c1">// PUT OPERATIONS ...
-</span>      <span class="n">transactionManager</span><span class="o">-&gt;</span><span class="n">commit</span><span class="p">();</span>
-      <span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o">&lt;&lt;</span> <span class="s">"Committed transaction - exiting"</span> <span class="o">&lt;&lt;</span> <span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span>
-      <span class="k">break</span><span class="p">;</span>
-    <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span> <span class="p">...</span> <span class="p">)</span> <span class="p">{</span>
-      <span class="n">transactionManager</span><span class="o">-&gt;</span><span class="n">rollback</span><span class="p">();</span>
-      <span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o">&lt;&lt;</span> <span class="s">"Rolled back transaction - retrying("</span> <span class="o">&lt;&lt;</span> <span class="n">retries</span> <span class="o">&lt;&lt;</span> <span class="s">")"</span> <span class="o">&lt;&lt;</span> <span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span>
-    <span class="p">}</span>
-  <span class="p">}</span>
+      <span class="k">for</span> <span class="p">(</span><span class="k">auto</span><span class="o">&amp;</span> <span class="n">key</span> <span class="o">:</span> <span class="n">keys</span><span class="p">)</span> <span class="p">{</span>
+        <span class="k">auto</span> <span class="n">value</span> <span class="o">=</span> <span class="n">getValueFromExternalSystem</span><span class="p">();</span>
+        <span class="n">region</span><span class="o">-&gt;</span><span class="n">put</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">);</span>
+        <span class="p">}</span>
+        <span class="n">transactionManager</span><span class="o">-&gt;</span><span class="n">commit</span><span class="p">();</span>
+        <span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o">&lt;&lt;</span> <span class="s">"Committed transaction - exiting"</span> <span class="o">&lt;&lt;</span> <span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span>
+        <span class="k">break</span><span class="p">;</span>
+      <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span> <span class="p">...</span> <span class="p">)</span> <span class="p">{</span>
+      <span class="k">if</span> <span class="p">(</span><span class="n">transactionManager</span><span class="o">-&gt;</span><span class="n">exists</span><span class="p">()){</span>
+        <span class="n">transactionManager</span><span class="o">-&gt;</span><span class="n">rollback</span><span class="p">();</span>
+      <span class="p">}</span>
 </code></pre>
 
         
diff --git a/docs/geode-native/dotnet/113/about-client-users-guide.html b/docs/geode-native/dotnet/113/about-client-users-guide.html
index 1821d25..08ac8c1 100644
--- a/docs/geode-native/dotnet/113/about-client-users-guide.html
+++ b/docs/geode-native/dotnet/113/about-client-users-guide.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/client-cache-ref.html b/docs/geode-native/dotnet/113/client-cache-ref.html
index ba26a59..ee39b5e 100644
--- a/docs/geode-native/dotnet/113/client-cache-ref.html
+++ b/docs/geode-native/dotnet/113/client-cache-ref.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -926,7 +941,7 @@
 
 <p>A partition resolver is used for single-hop access to partitioned region entries on the server side. This resolver
 implementation must match that of the <code>PartitionResolver</code> on the server side.
-See the <a href="/cppdocs/hierarchy.html">API Class Reference</a> for the <strong>PartitionResolver</strong> class.</p>
+See the <a href="/apidocs/hierarchy.html">API Class Reference</a> for the <strong>PartitionResolver</strong> class.</p>
 
 <p>For example:</p>
 <pre class="highlight xml"><code><span class="nt">&lt;partition-resolver</span> <span class="na">library-name=</span><span class="s">"appl-lib"</span>
@@ -938,21 +953,21 @@
 <h2 id="&lt;cache-loader&gt;">&lt;cache-loader&gt;</h2>
 
 <p>&lt;cache-loader&gt; identifies a cache loader function by specifying <code>library-name</code> and <code>library-function-name</code>.
-See the <a href="/cppdocs/hierarchy.html">API Class Reference</a> for the <strong>CacheLoader</strong> class.</p>
+See the <a href="/apidocs/hierarchy.html">API Class Reference</a> for the <strong>CacheLoader</strong> class.</p>
 
 <p><a id="cache-listener-ref"></a></p>
 
 <h2 id="&lt;cache-listener&gt;">&lt;cache-listener&gt;</h2>
 
 <p>&lt;cache-listener&gt; identifies a cache listener function by specifying <code>library-name</code> and <code>library-function-name</code>.
-See the <a href="/cppdocs/hierarchy.html">API Class Reference</a> for the <strong>CacheListener</strong> class.</p>
+See the <a href="/apidocs/hierarchy.html">API Class Reference</a> for the <strong>CacheListener</strong> class.</p>
 
 <p><a id="cache-writer-ref"></a></p>
 
 <h2 id="&lt;cache-writer&gt;">&lt;cache-writer&gt;</h2>
 
 <p>&lt;cache-writer&gt; identifies a cache writer function by specifying <code>library-name</code> and <code>library-function-name</code>.
-See the <a href="/cppdocs/hierarchy.html">API Class Reference</a> for the <strong>CacheWriter</strong> class.</p>
+See the <a href="/apidocs/hierarchy.html">API Class Reference</a> for the <strong>CacheWriter</strong> class.</p>
 
 <p><a id="persistence-manager-ref"></a></p>
 
@@ -960,7 +975,7 @@
 
 <p>For each region, if the disk-policy attribute is set to <code>overflows</code>, a persistence-manager plug-in
 must perform cache-to-disk and disk-to-cache operations.
-See the <a href="/cppdocs/hierarchy.html">API Class Reference</a> for the <strong>PersistenceManager</strong> class.</p>
+See the <a href="/apidocs/hierarchy.html">API Class Reference</a> for the <strong>PersistenceManager</strong> class.</p>
 
 <p>&lt;persistence-manager&gt; identifies a persistence manager function by specifying <code>library-name</code> and <code>library-function-name</code>.
 You can also specify a set of properties to be passed to the function as parameters.</p>
diff --git a/docs/geode-native/dotnet/113/configuring/config-client-cache.html b/docs/geode-native/dotnet/113/configuring/config-client-cache.html
index 7b3a70d..470f8e1 100644
--- a/docs/geode-native/dotnet/113/configuring/config-client-cache.html
+++ b/docs/geode-native/dotnet/113/configuring/config-client-cache.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/configuring/configuration.html b/docs/geode-native/dotnet/113/configuring/configuration.html
index d30f338..3326028 100644
--- a/docs/geode-native/dotnet/113/configuring/configuration.html
+++ b/docs/geode-native/dotnet/113/configuring/configuration.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/configuring/sysprops.html b/docs/geode-native/dotnet/113/configuring/sysprops.html
index f867289..5ead9e5 100644
--- a/docs/geode-native/dotnet/113/configuring/sysprops.html
+++ b/docs/geode-native/dotnet/113/configuring/sysprops.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/configuring/system-level-configuration.html b/docs/geode-native/dotnet/113/configuring/system-level-configuration.html
index 79ded59..821faa0 100644
--- a/docs/geode-native/dotnet/113/configuring/system-level-configuration.html
+++ b/docs/geode-native/dotnet/113/configuring/system-level-configuration.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/connection-pools/about-connection-pools.html b/docs/geode-native/dotnet/113/connection-pools/about-connection-pools.html
deleted file mode 100644
index 3994b6b..0000000
--- a/docs/geode-native/dotnet/113/connection-pools/about-connection-pools.html
+++ /dev/null
@@ -1,317 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Connection Pools |
-    Geode Native .NET Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_dotnet docs_geode-native_dotnet_113 docs_geode-native_dotnet_113_connection-pools docs_geode-native_dotnet_113_connection-pools_about-connection-pools has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native .NET Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
-      <ul>
-        <li class="has_submenu">
-          <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-serialization.html">Geode PDX Serialization</a>
-          <ul>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html">Using the Geode PDX Autoserializer</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
-            </li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native .NET
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Connection Pools
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Clients contain connection pools. Each region is associated with a connection pool using a region attribute, and operations on the region use connections from the respective pools.</p>
-
-<p>The server connectivity options are specified in the connection pool configuration. Each pool has a minimum and maximum number of connections.</p>
-
-<p>Each cache operation that requires server connectivity obtains a connection from the pool for the server group that the operation affects, performs the operation using the connection, and returns the connection to the pool. If the pool size is less than the maximum number of connections and all connections are in use, the connection pool creates a new connection and returns it. If the pool is at the maximum number of connections, that thread blocks until a connection becomes available or a <code>free-connection-timeout</code> occurs. If a <code>free-connection-timeout</code> occurs, an <code>AllConnectionsInUse</code> exception is thrown.</p>
-
-<p>The connection pool has a configurable timeout period that is used to expire idle connections. The idle connections are expired until the pool has the minimum number of connections. A monitoring thread expires idle connections, adds sufficient connections to bring up the count to minimum, and closes connections whose lifetime has been exceeded. See the <code>load-conditioning-interval</code> and <code>idle-timeout</code> attributes of the <a href="../../reference/topics/client-cache.html#cc-pool">&lt;pool&gt;</a> element. A separate thread (ping) tests each connected endpoint for its status and if the endpoint is not reachable, the thread closes all connections that have been made to the endpoint. See the <code>ping-interval</code> attribute of the &lt;pool&gt; element&gt;.</p>
-
-<p><a id="client-load-balancing__fig_226964BAA1464DBA9F5CEDC2CB7B3585"></a>
-<span class="figtitleprefix">Figure: </span>Logical Architecture of Client/Server Connections</p>
-
-<p><img src="../images/client-server-arch.gif" id="client-load-balancing__image_1E8316666E1B4CC2ADE4D927B629E49F" class="image" /></p>
-
-<p>When a connection receives an exception, the operation is failed over to another connection from the pool. The failover mechanism obtains the endpoint to failover to from the locator or from the specified endpoint list in the pool.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/dotnet/113/connection-pools/about-server-locators.html b/docs/geode-native/dotnet/113/connection-pools/about-server-locators.html
deleted file mode 100644
index 8fee616..0000000
--- a/docs/geode-native/dotnet/113/connection-pools/about-server-locators.html
+++ /dev/null
@@ -1,316 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Server Locators |
-    Geode Native .NET Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_dotnet docs_geode-native_dotnet_113 docs_geode-native_dotnet_113_connection-pools docs_geode-native_dotnet_113_connection-pools_about-server-locators has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native .NET Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
-      <ul>
-        <li class="has_submenu">
-          <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-serialization.html">Geode PDX Serialization</a>
-          <ul>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html">Using the Geode PDX Autoserializer</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
-            </li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native .NET
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Server Locators
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Server locators continuously monitor server availability and server load information. The client is configured with a list of server locators and consults a server locator to request a connection to a server in the distributed system.</p>
-
-<p>Locators provide clients with dynamic server discovery and server load balancing. They give clients connection information for the server with the least load at any given time.</p>
-
-<p>Server locators provide these main features:</p>
-
-<ul>
-<li>  <strong>Automated discovery of servers and locators</strong>. Adding and removing servers or locators is made easy as each client does not require a list of servers to be configured at the time of pool creation.</li>
-<li>  <strong>Client load rebalancing</strong>. Server locators give clients dynamic server information and provide server load rebalancing after servers depart or join the system.</li>
-<li>  <strong>High availability</strong>. When a client/server connection receives an exception, the connection is automatically failed over to another available connection in the pool. Redundancy is also provided for client subscriptions.</li>
-</ul>
-
-<p>Alternatively, you can configure a pool statically with a list of endpoints. When the pools are statically configured, a round-robin load balancing policy is used to distribute connections across the servers.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/dotnet/113/connection-pools/client-load-balancing.html b/docs/geode-native/dotnet/113/connection-pools/client-load-balancing.html
deleted file mode 100644
index 4050f23..0000000
--- a/docs/geode-native/dotnet/113/connection-pools/client-load-balancing.html
+++ /dev/null
@@ -1,318 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      How Client Load Balancing Works |
-    Geode Native .NET Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_dotnet docs_geode-native_dotnet_113 docs_geode-native_dotnet_113_connection-pools docs_geode-native_dotnet_113_connection-pools_client-load-balancing has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native .NET Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
-      <ul>
-        <li class="has_submenu">
-          <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-serialization.html">Geode PDX Serialization</a>
-          <ul>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html">Using the Geode PDX Autoserializer</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
-            </li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native .NET
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    How Client Load Balancing Works
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>In a distributed system, servers can be added or removed and their capacity to service new client connections may vary. The server connectivity options are specified in the connection pool configuration.</p>
-
-<p>The connection pool API supports connecting to servers through server locators or directly connecting to servers.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/dotnet/113/connection-pools/about-server-locators.html">Server Locators</a></strong></p>
-
-<p>Server locators continuously monitor server availability and server load information. The client is configured with a list of server locators and consults a server locator to request a connection to a server in the distributed system.</p></li>
-<li><p><strong><a href="/docs/geode-native/dotnet/113/connection-pools/about-connection-pools.html">Connection Pools</a></strong></p>
-
-<p>Clients contain connection pools. Each region is associated with a connection pool using a region attribute, and operations on the region use connections from the respective pools.</p></li>
-<li><p><strong><a href="/docs/geode-native/dotnet/113/connection-pools/discovering-locators-dynamically.html">Discovering Locators Dynamically</a></strong></p>
-
-<p>A background thread periodically queries the locator for any other locators joining the distributed system.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html b/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html
index 25f0cbf..2b3601c 100644
--- a/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html
+++ b/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -264,9 +279,6 @@
 
 <p>This section lists the primary native client API for pool management. For complete information on the classes and interfaces described here, see the API documentation.</p>
 
-<p><strong>Note:</strong>
-Only C# versions of Pool API interfaces, classes, and methods are shown throughout the text in this section (example: <code>Pool.GetQueryService()</code>) . The code examples demonstrate both C++ and C# versions.</p>
-
 <p><strong>Apache.Geode.Client.Cache</strong></p>
 
 <ul>
diff --git a/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html b/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html
index 5b9391b..a323033 100644
--- a/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html
+++ b/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -268,11 +283,36 @@
 <li>  Pool. Client/server connection pool.</li>
 </ul>
 
-<p>The example shows a declarative pool configuration. Following the example is a table that describes the attributes that can be configured.</p>
+<p>This page shows examples of creating a pool configuration programmatically using C# code, and declaratively using XML.</p>
 
-<h2 id="example—declarative-pool-configuration">Example—Declarative Pool Configuration</h2>
+<h2 id="programmatic-pool-configuration">Programmatic Pool Configuration</h2>
 
-<p>This example shows a declarative pool configuration.</p>
+<p>This example shows a programmatic pool configuration. For a list of the attributes you can configure, see <code>PoolFactory</code> in the API docs.</p>
+<pre class="highlight csharp"><code><span class="n">cache</span><span class="p">.</span><span class="nf">GetPoolManager</span><span class="p">()</span>
+      <span class="p">.</span><span class="nf">CreateFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="nf">AddLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="m">34756</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">SetFreeConnectionTimeout</span><span class="p">(</span><span class="k">new</span> <span class="n">TimeSpan</span><span class="p">.</span><span class="nf">FromMilliseconds</span><span class="p">(</span><span class="m">12345</span><span class="p">))</span>
+      <span class="p">.</span><span class="nf">SetIdleTimeout</span><span class="p">(</span><span class="k">new</span> <span class="n">TimeSpan</span><span class="p">.</span><span class="nf">FromMilliseconds</span><span class="p">(</span><span class="m">5555</span><span class="p">))</span>
+      <span class="p">.</span><span class="nf">SetLoadConditioningInterval</span><span class="p">(</span><span class="k">new</span> <span class="n">TimeSpan</span><span class="p">.</span><span class="nf">FromMilliseconds</span><span class="p">(</span><span class="m">23456</span><span class="p">))</span>
+      <span class="p">.</span><span class="nf">SetMaxConnections</span><span class="p">(</span><span class="m">7</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">SetMinConnections</span><span class="p">(</span><span class="m">3</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">SetPingInterval</span><span class="p">(</span><span class="k">new</span> <span class="n">TimeSpan</span><span class="p">.</span><span class="nf">FromMilliseconds</span><span class="p">(</span><span class="m">12345</span><span class="p">))</span>
+      <span class="p">.</span><span class="nf">SetReadTimeout</span><span class="p">(</span><span class="k">new</span> <span class="n">TimeSpan</span><span class="p">.</span><span class="nf">FromMilliseconds</span><span class="p">(</span><span class="m">23456</span><span class="p">))</span>
+      <span class="p">.</span><span class="nf">SetRetryAttempts</span><span class="p">(</span><span class="m">3</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">SetServerGroup</span><span class="p">(</span><span class="s">"ServerGroup1"</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">SetSocketBufferSize</span><span class="p">(</span><span class="m">32768</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">SetStatisticInterval</span><span class="p">(</span><span class="k">new</span> <span class="n">TimeSpan</span><span class="p">.</span><span class="nf">FromMilliseconds</span><span class="p">(</span><span class="m">10123</span><span class="p">))</span>
+      <span class="p">.</span><span class="nf">SetSubscriptionAckInterval</span><span class="p">(</span><span class="k">new</span> <span class="n">TimeSpan</span><span class="p">.</span><span class="nf">FromMilliseconds</span><span class="p">(</span><span class="m">567</span><span class="p">))</span>
+      <span class="p">.</span><span class="nf">SetSubscriptionEnabled</span><span class="p">(</span><span class="k">true</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">SetSubscriptionMessageTrackingTimeout</span><span class="p">(</span><span class="k">new</span> <span class="n">TimeSpan</span><span class="p">.</span><span class="nf">FromMilliseconds</span><span class="p">(</span><span class="m">900123</span><span class="p">))</span>
+      <span class="p">.</span><span class="nf">SetSubscriptionRedundancy</span><span class="p">(</span><span class="m">0</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">SetThreadLocalConnections</span><span class="p">(</span><span class="k">true</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"test_pool_1"</span><span class="p">);</span>
+</code></pre>
+
+<h2 id="declarative-(file-based)-pool-configuration">Declarative (File-based) Pool Configuration</h2>
+
+<p>This example shows a file-based pool configuration using an XML configuration file. Following the example is a table that describes the XML pool attributes you can configure.</p>
 
 <p><strong>Note:</strong>
 You create an instance of <code>PoolFactory</code> through <code>PoolManager</code>.</p>
diff --git a/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html b/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html
index 5de06d2..62780fb 100644
--- a/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html
+++ b/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -274,9 +289,6 @@
 <li><p><strong><a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a></strong></p>
 
 <p>Each connection pool has a single subscription connection that can be to any server that matches the requirements of the connection pool.</p></li>
-<li><p><strong><a href="/docs/geode-native/dotnet/113/connection-pools/running-connection-pool-code.html">Running the Connection Pool Code</a></strong></p>
-
-<p>Examples demonstrate a simple procedure to create a pool factory and then create a pool instance in C++ and C#. They also help you to execute a query.</p></li>
 </ul>
 
         
diff --git a/docs/geode-native/dotnet/113/connection-pools/connection-pools.html b/docs/geode-native/dotnet/113/connection-pools/connection-pools.html
deleted file mode 100644
index f3e8b06..0000000
--- a/docs/geode-native/dotnet/113/connection-pools/connection-pools.html
+++ /dev/null
@@ -1,313 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Using Connection Pools |
-    Geode Native .NET Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_dotnet docs_geode-native_dotnet_113 docs_geode-native_dotnet_113_connection-pools docs_geode-native_dotnet_113_connection-pools_connection-pools has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native .NET Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
-      <ul>
-        <li class="has_submenu">
-          <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-serialization.html">Geode PDX Serialization</a>
-          <ul>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html">Using the Geode PDX Autoserializer</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
-            </li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native .NET
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Using Connection Pools
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p><em>Using Connection Pools</em> describes how connection pools achieve load balancing for the client and describes how to configure connection pools as server locators or as a list of servers.</p>
-
-<ul>
-<li><p><strong><a href="/docs/geode-native/dotnet/113/connection-pools/client-load-balancing.html">How Client Load Balancing Works</a></strong></p>
-
-<p>In a distributed system, servers can be added or removed and their capacity to service new client connections may vary. The server connectivity options are specified in the connection pool configuration.</p></li>
-<li><p><strong><a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a></strong></p>
-
-<p>A pool can be configured as locators or as a list of servers.</p></li>
-</ul>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/dotnet/113/connection-pools/discovering-locators-dynamically.html b/docs/geode-native/dotnet/113/connection-pools/discovering-locators-dynamically.html
deleted file mode 100644
index 5f9b3a4..0000000
--- a/docs/geode-native/dotnet/113/connection-pools/discovering-locators-dynamically.html
+++ /dev/null
@@ -1,314 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Discovering Locators Dynamically |
-    Geode Native .NET Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_dotnet docs_geode-native_dotnet_113 docs_geode-native_dotnet_113_connection-pools docs_geode-native_dotnet_113_connection-pools_discovering-locators-dynamically has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native .NET Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
-      <ul>
-        <li class="has_submenu">
-          <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-serialization.html">Geode PDX Serialization</a>
-          <ul>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html">Using the Geode PDX Autoserializer</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
-            </li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native .NET
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Discovering Locators Dynamically
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>A background thread periodically queries the locator for any other locators joining the distributed system.</p>
-
-<p>However, if locator A (to which the client is connected) goes down before it discovers locator B, locator B is never discovered even though it is alive and the client receives a <code>NoLocatorsAvailable</code> exception.</p>
-
-<p>One connection is attached to every application thread that is <code>local</code> to the respective thread. This is known as a thread local connection.</p>
-
-<p>In this case, to perform any cache operation the client is not required to obtain a connection from pool. Instead the thread local connection of the client is used.</p>
-
-<p>A thread local connection can be released by invoking the <code>Pool::releaseThreadLocalConnection()</code> method. The released connection is returned to the pool. If the number of threads is larger than the number of <code>max-connections</code>, the client throws an <code>AllConnectionsInUseException</code> after the <code>free-connection-timeout</code> lapses, unless the <code>Pool::releaseThreadLocalConnection()</code> method is used judiciously.</p>
-
-<p>If a connection expires or the server goes down on which the connection was established, a thread local connection is immediately replaced with a good connection obtained from the pool.</p>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/dotnet/113/connection-pools/running-connection-pool-code.html b/docs/geode-native/dotnet/113/connection-pools/running-connection-pool-code.html
deleted file mode 100644
index 516581a..0000000
--- a/docs/geode-native/dotnet/113/connection-pools/running-connection-pool-code.html
+++ /dev/null
@@ -1,352 +0,0 @@
-<!doctype html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <!-- Always force latest IE rendering engine or request Chrome Frame -->
-  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
-
-  
-  <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
-  <!-- Use title if it's in the page YAML frontmatter -->
-  <title>
-      Running the Connection Pool Code |
-    Geode Native .NET Docs
-  </title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
-  <link href="/stylesheets/print.css" rel="stylesheet" media="print" />
-  <link href='/images/favicon.ico' rel='shortcut icon'>
-
-  <script src="/javascripts/all.js"></script>
-  
-</head>
-
-<body class="docs docs_geode-native docs_geode-native_dotnet docs_geode-native_dotnet_113 docs_geode-native_dotnet_113_connection-pools docs_geode-native_dotnet_113_connection-pools_running-connection-pool-code has-subnav">
-
-<div class="viewport">
-  <div class='wrap'>
-    <script type="text/javascript">
-      document.domain = "apache.org";
-    </script>
-
-    <!--
-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.
--->
-<header class="header header-layout">
-  <h1 class="logo">
-    <a href="/">
-        <img src="/images/Apache_Geode_logo_symbol_white.png" style="width:30px;">
-      Apache Geode Native .NET Documentation
-    </a>
-  </h1>
-  <div class="header-links js-bar-links">
-    <div class="btn-menu" data-behavior="MenuMobile"></div>
-    <div class="header-item"><a href="http://geode.apache.org">Back to Product Page</a></div>
-    <div class="header-item">
-      <a href="http://geode.apache.org/community" target="_blank">Community</a>
-    </div>
-  </div>
-</header>
-
-
-    <div class="container">
-
-      <!--googleoff: index-->
-      <!--
-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.
--->
-<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
-<a class="sidenav-title" data-behavior="SubMenuMobile">Doc Index</a>
-  <div class="nav-content">
-  <ul>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/about-client-users-guide.html">Apache Geode Native Documentation</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html">Getting Started with the Native Library</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#set_up_dev_environment">Set Up Your Development Environment</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#establish_cluster_access">Establish Access to a Geode Cluster</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#app_dev_walkthroughs">Application Development Walkthroughs</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html#programming_examples">Programming Examples</a>
-        </li>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/getting-started/put-get-example.html">Put/Get/Remove Examples</a>
-        </li>
-      </ul>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/configuring/configuration.html">Configuring a Client Application</a>
-      <ul>
-        <li>
-          <a href="/docs/geode-native/dotnet/113/configuring/system-level-configuration.html">System Level Configuration</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/config-client-cache.html">Configuring the Client Cache</a>
-    </li>
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/regions/regions.html">Configuring Regions</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/regions/region-attributes.html">Region Attributes</a>
-        </li>
-      </ul>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
-      <ul>
-        <li class="has_submenu">
-          <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-serialization.html">Geode PDX Serialization</a>
-          <ul>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html">Using the Geode PDX Autoserializer</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
-            </li>
-            <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
-            </li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/remote-queries.html">Remote Queries</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/continuous-queries.html">Continuous Queries</a>
-    </li>
-
-    <li class="has_submenu">
-      <a href="/docs/geode-native/dotnet/113/security/security.html">Security: Authentication and Encryption</a>
-      <ul>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/authentication.html">Authentication</a>
-        </li>
-        <li>
-        <a href="/docs/geode-native/dotnet/113/security/sslclientserver.html">TLS/SSL Client-Server Communication Encryption</a>
-        </li>
-      </ul>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/function-execution.html">Function Execution</a>
-    </li>
-
-    <li>
-      <a href="/docs/geode-native/dotnet/113/transactions.html">Transactions</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/configuring/sysprops.html">System Properties</a>
-    </li>
-    <li>
-      <a href="/docs/geode-native/dotnet/113/client-cache-ref.html">Client Cache XML Reference</a>
-    </li>
-  </ul>
-  </div>
-</div>
-
-      <!--googleon: index-->
-
-      <main class="content content-layout" id="js-content" role="main">
-        <a id="top"></a>
-        <!--
-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.
--->
-<span style="font-weight:200;font-size:31px;" style="float:left;">
-    <img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
-  Apache Geode Native .NET
-</span>
-  <span class="local-header version-info" style="float:right;">
-    <a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
-  </span>
-
-        <!--
-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.
--->
-  <h1 class="title-container" >
-    Running the Connection Pool Code
-  </h1>
-
-          <div id="js-quick-links" >
-            
-          </div>
-        <div class="to-top" id="js-to-top">
-          <a href="#top" title="back to top"></a>
-        </div>
-        <!--
-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.
--->
-
-<p>Examples demonstrate a simple procedure to create a pool factory and then create a pool instance in C++ and C#. They also help you to execute a query.</p>
-
-<p>The examples create a pool with locators. Ensure that you create a pool with locators or endpoints, but not both. The first example demonstrates creating a pool by adding locators. The second example demonstrates creating a pool by adding servers. For more information, see the example in the QuickStart Guide.</p>
-
-<h2 id="connection-pool-creation-and-execution-using-c++">Connection Pool Creation and Execution Using C++</h2>
-<pre class="highlight plaintext"><code>PropertiesPtr prptr = Properties::create();
-systemPtr = CacheFactory::createCacheFactory(prptr);
-
-cachePtr = systemPtr-&gt;create();
-PoolFactoryPtr poolFacPtr = PoolManager::createFactory();
-//to create pool add either endpoints or add locators or servers
-//pool with endpoint, adding to pool factory
-//poolFacPtr-&gt;addServer("localhost", 12345 /*port number*/);
-//pool with locator, adding to pool factory
-poolFacPtr-&gt;addLocator("localhost", 34756 /*port number*/);
-PoolPtr pptr = NULLPTR;
-if ((PoolManager::find("examplePool")) == NULLPTR) {
-  // Pool with this name does not exist
-  pptr = poolFacPtr-&gt;create("examplePool");
-}
-RegionFactoryPtr regionFactory =
-    cachePtr-&gt;createRegionFactory(CACHING_PROXY);
-regionPtr = regionFactory
-    -&gt;setPoolName("examplePool")
-    -&gt;create("regionName");
-QueryServicePtr qs = cachePtr-&gt;getQueryService("examplePool");
-</code></pre>
-
-<h2 id="connection-pool-creation-and-execution-using-c#-.net">Connection Pool Creation and Execution Using C# .NET</h2>
-<pre class="highlight plaintext"><code>Properties prop = Properties.Create();
-CacheFactory cacheFactory = CacheFactory.CreateCacheFactory(prop);
-Cache cache = cacheFactory.Create();
-
-PoolFactory poolFact = PoolManager.CreateFactory();
-//to create pool add either endpoints or add locators
-//pool with endpoint, adding to pool factory.
-poolFact.AddServer("localhost", 40404 /*port number*/);
-//pool with locator, adding to pool factory
-//poolFact.AddLocator("hostname", 15000 /*port number*/);
-Pool pool = null;
-if (PoolManager.Find("poolName") == null) {
-  pool = poolFact.Create("poolName");
-}
-int loadConditInterval = pool.LoadConditioningInterval;
-RegionFactory regionFactory =
-    cache.CreateRegionFactory(RegionShortcut.CACHING_PROXY);
-IRegion&lt;string, string&gt; region =
-    regionFactory.SetPoolName(poolName).Create&lt;string, string&gt;(regionName);
-</code></pre>
-
-        
-
-      </main>
-    </div>
-  </div>
-</div>
-
-<div id="scrim"></div>
-
-<div class="container">
-  <footer class="site-footer-links">
-    <!--
-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.
--->
-<div class="copyright">
-  <a href='/'>Apache Geode Documentation</a>
-  &copy; 2020 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
-</div>
-<div class="support">
-  Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
-</div>
-
-  </footer>
-</div><!--end of container-->
-
-</body>
-</html>
diff --git a/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html b/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html
index b70544a..70f0e78 100644
--- a/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html
+++ b/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -264,7 +279,7 @@
 
 <p>When a client registers interest for a region, if the connection pool does not already have a subscription channel, the connection pool sends a message to the server locator, and the server locator chooses servers to host the queue and return those server names to the client. The client then contacts the chosen servers and asks them to create the queue.</p>
 
-<p>The client maintains at least one connection with each server hosting a queue. If the server does not detect any connections from a non-durable client, it drops the client queue and closes all artifacts for the client. For information about durable client subscriptions, see <a href="/docs/geode-native/dotnet/113/preserving-data/durable-client-messaging.html#concept_F88B659FB4324F599924F3F2933452B4">Durable Client Messaging</a>.</p>
+<p>The client maintains at least one connection with each server hosting a queue. If the server does not detect any connections from a non-durable client, it drops the client queue and closes all artifacts for the client. For information about durable client subscriptions, see <a href="/serverman/developing/events/implementing_durable_client_server_messaging.html">Implementing Durable Client/Server Messaging</a>.</p>
 
 <h2 id="requesting-a-subscription-region-queue"><a id="subscription-properties__section_294BD33FBDC6454FAD9C5118829EBBA4" class="no-quick-link"></a>Requesting a Subscription Region Queue</h2>
 
diff --git a/docs/geode-native/dotnet/113/continuous-queries.html b/docs/geode-native/dotnet/113/continuous-queries.html
index 12e5d19..09b7f5f 100644
--- a/docs/geode-native/dotnet/113/continuous-queries.html
+++ b/docs/geode-native/dotnet/113/continuous-queries.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -283,8 +298,8 @@
 server-to-client messaging mechanisms to send events. All tuning of your server-to-client
 messaging also tunes the messaging of your CQ events. If your system is configured for high
 availability then your CQs are highly available, with seamless failover provided in case of
-server failure (see <a href="/docs/geode-native/dotnet/113/preserving-data/high-availability-client-server.html">High Availability for Client-to-Server Communication</a>). 
-If your clients are durable, you can also define any of your CQs as durable (see <a href="/docs/geode-native/dotnet/113/preserving-data/durable-client-messaging.html">Durable Client Messaging</a>).</p></li>
+server failure (see <a href="/serverman/developing/events/ha_event_messaging_whats_next.html">Highly Available Client/Server Event Messaging</a>).
+If your clients are durable, you can also define any of your CQs as durable (see <a href="/serverman/developing/events/implementing_durable_client_server_messaging.html">Implementing Durable Client/Server Messaging</a>).</p></li>
 <li><p><strong>Interest criteria based on data values</strong>. Continuous queries are run against the region&rsquo;s entry values. 
 Compare this to register interest by reviewing <a href="/docs/geode-native/dotnet/113/regions/registering-interest-for-entries.html">Registering Interest for Entries</a>.</p></li>
 <li><p><strong>Active query execution</strong>. Once initialized, the queries operate on new events. Events that change the query result are sent to the client immediately.</p></li>
diff --git a/docs/geode-native/dotnet/113/function-execution.html b/docs/geode-native/dotnet/113/function-execution.html
index f01c6bb..1f4c6a4 100644
--- a/docs/geode-native/dotnet/113/function-execution.html
+++ b/docs/geode-native/dotnet/113/function-execution.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/getting-started/app-dev-walkthrough-dotnet.html b/docs/geode-native/dotnet/113/getting-started/app-dev-walkthrough-dotnet.html
index 656f042..8b277aa 100644
--- a/docs/geode-native/dotnet/113/getting-started/app-dev-walkthrough-dotnet.html
+++ b/docs/geode-native/dotnet/113/getting-started/app-dev-walkthrough-dotnet.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html b/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html
index 98eea03..4c329ab 100644
--- a/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html
+++ b/docs/geode-native/dotnet/113/getting-started/getting-started-nc-client.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -287,37 +302,34 @@
 <p>To connect to a server, your application must follow these steps:</p>
 
 <ol>
-<li>Instantiate a <code>CacheFactory</code>, setting characteristics of interest (for example, <code>log-level</code>).</li>
-<li>Create a cache and use it to instantiate a <code>PoolFactory</code>, specifying the hostname and port for the server locator.</li>
-<li>Create a named pool of network connections.</li>
-<li>Instantiate a region of the desired type (usually CACHING_PROXY or PROXY) and connect it by name to its counterpart on the server.</li>
+<li>Create a cache, setting characteristics of interest (for example, <code>log-level</code>).</li>
+<li>Use the cache to create a named pool of network connections, specifying the hostname and port for at least one server locator.</li>
+<li>Instantiate a region of the desired type (usually PROXY, sometimes CACHING_PROXY) and connect it by name to its counterpart on the server.</li>
 </ol>
 
 <p>Once the connection pool and the shared region are in place, your client application is ready to share data with the server.</p>
 
 <p><strong>Server Connection: .NET Example</strong></p>
 
-<p>This example of connecting to the server is taken from the .NET <code>PutGetRemove</code> example.</p>
+<p>Create a cache and set its characteristics:</p>
+<pre class="highlight csharp"><code><span class="kt">var</span> <span class="n">cache</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">()</span>
+    <span class="p">.</span><span class="nf">Set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">)</span>
+    <span class="p">.</span><span class="nf">SetAuthInitialize</span><span class="p">(</span><span class="k">new</span> <span class="nf">ExampleAuthInitialize</span><span class="p">())</span>
+    <span class="p">.</span><span class="nf">Create</span><span class="p">();</span>
+</code></pre>
 
-<p>Instantiate a <code>CacheFactory</code> and set its characteristics:</p>
-<pre class="highlight csharp"><code>    <span class="kt">var</span> <span class="n">cacheFactory</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">()</span>     <span class="c1">// instantiate cache factory
-</span>        <span class="p">.</span><span class="nf">Set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">);</span>            <span class="c1">// set cache log-level characteristics
-</span></code></pre>
+<p>Use the cache to create a named pool of network connections, specifying the hostname and port for the server locator:</p>
+<pre class="highlight csharp"><code><span class="n">cache</span><span class="p">.</span><span class="nf">GetPoolManager</span><span class="p">()</span>
+    <span class="p">.</span><span class="nf">CreateFactory</span><span class="p">()</span>
+    <span class="p">.</span><span class="nf">AddLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="m">10334</span><span class="p">)</span>
+    <span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
+</code></pre>
 
-<p>Create a cache and use it to instantiate a <code>PoolFactory</code>:</p>
-<pre class="highlight csharp"><code>    <span class="kt">var</span> <span class="n">cache</span> <span class="p">=</span> <span class="n">cacheFactory</span><span class="p">.</span><span class="nf">Create</span><span class="p">();</span>        <span class="c1">// create cache
-</span>
-    <span class="kt">var</span> <span class="n">poolFactory</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">GetPoolFactory</span><span class="p">()</span>  <span class="c1">// instantiate pool factory
-</span>        <span class="p">.</span><span class="nf">AddLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="m">10334</span><span class="p">);</span>      <span class="c1">// add locator to pool factory
-</span></code></pre>
-
-<p>Create a named pool of network connections, and instantiate a region of the desired type:</p>
-<pre class="highlight csharp"><code>    <span class="n">poolFactory</span><span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>               <span class="c1">// create a pool called "pool" that knows where the server is
-</span>
-    <span class="kt">var</span> <span class="n">regionFactory</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">CreateRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="p">.</span><span class="n">PROXY</span><span class="p">)</span> <span class="c1">// instantiate region factory with PROXY characteristics
-</span>        <span class="p">.</span><span class="nf">SetPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
-    <span class="kt">var</span> <span class="n">region</span> <span class="p">=</span> <span class="n">regionFactory</span><span class="p">.</span><span class="n">Create</span><span class="p">&lt;</span><span class="kt">string</span><span class="p">,</span> <span class="kt">string</span><span class="p">&gt;(</span><span class="s">"example_userinfo"</span><span class="p">);</span> <span class="c1">// create a connection to the region "example_userinfo" on the server
-</span></code></pre>
+<p>Instantiate a region of the desired type and connect to the pool by name:</p>
+<pre class="highlight csharp"><code><span class="kt">var</span> <span class="n">regionFactory</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">CreateRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="p">.</span><span class="n">PROXY</span><span class="p">)</span>
+    <span class="p">.</span><span class="nf">SetPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
+<span class="kt">var</span> <span class="n">region</span> <span class="p">=</span> <span class="n">regionFactory</span><span class="p">.</span><span class="n">Create</span><span class="p">&lt;</span><span class="kt">string</span><span class="p">,</span> <span class="kt">string</span><span class="p">&gt;(</span><span class="s">"example_userinfo"</span><span class="p">);</span>
+</code></pre>
 
 <p>See the <em>Geode User Guide</em> section <a href="serverman/topologies_and_comm/cs_configuration/setting_up_a_client_server_system.html">Configuring a Client/Server System</a>
 for more details.</p>
diff --git a/docs/geode-native/dotnet/113/getting-started/put-get-example.html b/docs/geode-native/dotnet/113/getting-started/put-get-example.html
index 5d7b1af..fb6be82 100644
--- a/docs/geode-native/dotnet/113/getting-started/put-get-example.html
+++ b/docs/geode-native/dotnet/113/getting-started/put-get-example.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -267,7 +282,7 @@
 <p>The example performs a sequence of operations, displaying simple log entries as they run.</p>
 
 <ul>
-<li>To run the example, follow the instructions in the <code>README.md</code> file in the example directory.</li>
+<li><p>To run the example, follow the instructions in the <code>README.md</code> file in the example directory.</p></li>
 <li><p>Review the source code in the example directory to see exactly how it operates.</p></li>
 <li><p>Begin by running a script that sets up the server-side environment by invoking <code>gfsh</code> commands to create a region, simply called &ldquo;example_userinfo.&rdquo;</p></li>
 <li><p>Run the example client application, which performs the following steps:</p>
@@ -286,38 +301,39 @@
 For the complete source, see the example source directory.</p>
 
 <p>The .NET example creates a cache, then uses it to create a connection pool and a region object (of class <code>IRegion</code>).</p>
-<pre class="highlight csharp"><code>   <span class="kt">var</span> <span class="n">cacheFactory</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">()</span>
-       <span class="p">.</span><span class="nf">Set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">);</span>
-   <span class="kt">var</span> <span class="n">cache</span> <span class="p">=</span> <span class="n">cacheFactory</span><span class="p">.</span><span class="nf">Create</span><span class="p">();</span>
+<pre class="highlight csharp"><code>  <span class="kt">var</span> <span class="n">cache</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="nf">Set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">Create</span><span class="p">();</span>
 
-   <span class="kt">var</span> <span class="n">poolFactory</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">GetPoolFactory</span><span class="p">()</span>
-       <span class="p">.</span><span class="nf">AddLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="m">10334</span><span class="p">);</span>
-   <span class="n">poolFactory</span><span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
+  <span class="n">cache</span><span class="p">.</span><span class="nf">GetPoolManager</span><span class="p">()</span>
+      <span class="p">.</span><span class="nf">CreateFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="nf">AddLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="m">10334</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
 
-   <span class="kt">var</span> <span class="n">regionFactory</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">CreateRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="p">.</span><span class="n">PROXY</span><span class="p">)</span>
-       <span class="p">.</span><span class="nf">SetPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
-   <span class="kt">var</span> <span class="n">region</span> <span class="p">=</span> <span class="n">regionFactory</span><span class="p">.</span><span class="n">Create</span><span class="p">&lt;</span><span class="kt">string</span><span class="p">,</span> <span class="kt">string</span><span class="p">(</span><span class="s">"example_userinfo"</span><span class="p">);</span>
+  <span class="kt">var</span> <span class="n">regionFactory</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">CreateRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="p">.</span><span class="n">PROXY</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">SetPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
+  <span class="kt">var</span> <span class="n">region</span> <span class="p">=</span> <span class="n">regionFactory</span><span class="p">.</span><span class="n">Create</span><span class="p">&lt;</span><span class="kt">string</span><span class="p">,</span> <span class="kt">string</span><span class="p">&gt;(</span><span class="s">"example_userinfo"</span><span class="p">);</span>
 </code></pre>
 
 <p>After declaring some keys and values, the client then populates the data store with two key/value pairs. </p>
-<pre class="highlight csharp"><code>      <span class="n">region</span><span class="p">.</span><span class="nf">Put</span><span class="p">(</span><span class="n">rtimmonsKey</span><span class="p">,</span> <span class="n">rtimmonsValue</span><span class="p">);</span>
-      <span class="n">region</span><span class="p">.</span><span class="nf">Put</span><span class="p">(</span><span class="n">scharlesKey</span><span class="p">,</span> <span class="n">scharlesValue</span><span class="p">);</span>
+<pre class="highlight csharp"><code>  <span class="n">region</span><span class="p">.</span><span class="nf">Put</span><span class="p">(</span><span class="n">rtimmonsKey</span><span class="p">,</span> <span class="n">rtimmonsValue</span><span class="p">);</span>
+  <span class="n">region</span><span class="p">.</span><span class="nf">Put</span><span class="p">(</span><span class="n">scharlesKey</span><span class="p">,</span> <span class="n">scharlesValue</span><span class="p">);</span>
 </code></pre>
 
 <p>Next, the application retrieves the stored values using <code>Get</code> operations.</p>
-<pre class="highlight csharp"><code>      <span class="kt">var</span> <span class="n">user1</span> <span class="p">=</span> <span class="n">region</span><span class="p">.</span><span class="nf">Get</span><span class="p">(</span><span class="n">rtimmonsKey</span><span class="p">,</span> <span class="k">null</span><span class="p">);</span>
-      <span class="kt">var</span> <span class="n">user2</span> <span class="p">=</span> <span class="n">region</span><span class="p">.</span><span class="nf">Get</span><span class="p">(</span><span class="n">scharlesKey</span><span class="p">,</span> <span class="k">null</span><span class="p">);</span>
+<pre class="highlight csharp"><code>  <span class="kt">var</span> <span class="n">user1</span> <span class="p">=</span> <span class="n">region</span><span class="p">.</span><span class="nf">Get</span><span class="p">(</span><span class="n">rtimmonsKey</span><span class="p">,</span> <span class="k">null</span><span class="p">);</span>
+  <span class="kt">var</span> <span class="n">user2</span> <span class="p">=</span> <span class="n">region</span><span class="p">.</span><span class="nf">Get</span><span class="p">(</span><span class="n">scharlesKey</span><span class="p">,</span> <span class="k">null</span><span class="p">);</span>
 </code></pre>
 
 <p>Finally, the application deletes one of the stored values using the <code>Remove</code> method.</p>
-<pre class="highlight csharp"><code>      <span class="k">if</span> <span class="p">(</span><span class="n">region</span><span class="p">.</span><span class="nf">Remove</span><span class="p">(</span><span class="n">rtimmonsKey</span><span class="p">))</span>
-      <span class="p">{</span>
-        <span class="n">Console</span><span class="p">.</span><span class="nf">WriteLine</span><span class="p">(</span><span class="s">"Info for "</span> <span class="p">+</span> <span class="n">rtimmonsKey</span> <span class="p">+</span> <span class="s">" has been deleted"</span><span class="p">);</span>
-      <span class="p">}</span>
-      <span class="k">else</span>
-      <span class="p">{</span>
-        <span class="n">Console</span><span class="p">.</span><span class="nf">WriteLine</span><span class="p">(</span><span class="s">"Info for "</span> <span class="p">+</span> <span class="n">rtimmonsKey</span> <span class="p">+</span> <span class="s">" has not been deleted"</span><span class="p">);</span>
-      <span class="p">}</span>
+<pre class="highlight csharp"><code>  <span class="k">if</span> <span class="p">(</span><span class="n">region</span><span class="p">.</span><span class="nf">Remove</span><span class="p">(</span><span class="n">rtimmonsKey</span><span class="p">))</span>
+  <span class="p">{</span>
+    <span class="n">Console</span><span class="p">.</span><span class="nf">WriteLine</span><span class="p">(</span><span class="s">"Info for "</span> <span class="p">+</span> <span class="n">rtimmonsKey</span> <span class="p">+</span> <span class="s">" has been deleted"</span><span class="p">);</span>
+  <span class="p">}</span>
+  <span class="k">else</span>
+  <span class="p">{</span>
+    <span class="n">Console</span><span class="p">.</span><span class="nf">WriteLine</span><span class="p">(</span><span class="s">"Info for "</span> <span class="p">+</span> <span class="n">rtimmonsKey</span> <span class="p">+</span> <span class="s">" has not been deleted"</span><span class="p">);</span>
+  <span class="p">}</span>
 </code></pre>
 
         
diff --git a/docs/geode-native/dotnet/113/preserving-data/app-ops-during-int-reg.html b/docs/geode-native/dotnet/113/preserving-data/app-ops-during-int-reg.html
index c27576b..7dffdda 100644
--- a/docs/geode-native/dotnet/113/preserving-data/app-ops-during-int-reg.html
+++ b/docs/geode-native/dotnet/113/preserving-data/app-ops-during-int-reg.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/client-side-config.html b/docs/geode-native/dotnet/113/preserving-data/client-side-config.html
index f1342c3..fe7e66e 100644
--- a/docs/geode-native/dotnet/113/preserving-data/client-side-config.html
+++ b/docs/geode-native/dotnet/113/preserving-data/client-side-config.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/config-durable-interest-keys.html b/docs/geode-native/dotnet/113/preserving-data/config-durable-interest-keys.html
index 2cfe93a..0095e19 100644
--- a/docs/geode-native/dotnet/113/preserving-data/config-durable-interest-keys.html
+++ b/docs/geode-native/dotnet/113/preserving-data/config-durable-interest-keys.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/config-durable-reconnect.html b/docs/geode-native/dotnet/113/preserving-data/config-durable-reconnect.html
index 24c60fb..5a41652 100644
--- a/docs/geode-native/dotnet/113/preserving-data/config-durable-reconnect.html
+++ b/docs/geode-native/dotnet/113/preserving-data/config-durable-reconnect.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/configuring-durable-nc.html b/docs/geode-native/dotnet/113/preserving-data/configuring-durable-nc.html
index b76cc36..3f7fe77 100644
--- a/docs/geode-native/dotnet/113/preserving-data/configuring-durable-nc.html
+++ b/docs/geode-native/dotnet/113/preserving-data/configuring-durable-nc.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/configuring-nc-ha.html b/docs/geode-native/dotnet/113/preserving-data/configuring-nc-ha.html
index df8907c..2dda711 100644
--- a/docs/geode-native/dotnet/113/preserving-data/configuring-nc-ha.html
+++ b/docs/geode-native/dotnet/113/preserving-data/configuring-nc-ha.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -285,7 +300,7 @@
 
 <p>You can set the redundancy level programmatically. This example creates a client cache with two redundant cache servers configured in addition to the primary server.</p>
 
-<p>The server redundancy level can be configured using the pool API. For more information about the pool API, see <a href="/docs/geode-native/dotnet/113/connection-pools/connection-pools.html#using-connection-pools">Using Connection Pools</a>.</p>
+<p>The server redundancy level can be configured using the pool API. For more information about the pool API, see <a href="../connection-pools/connection-pools.html#using-connection-pools">Using Connection Pools</a>.</p>
 <pre class="highlight plaintext"><code>PropertiesPtr pp = Properties::create( );
 systemPtr = CacheFactory::createCacheFactory(pp);
 // Create a cache.
diff --git a/docs/geode-native/dotnet/113/preserving-data/disconnecting-from-server.html b/docs/geode-native/dotnet/113/preserving-data/disconnecting-from-server.html
index 3906862..a5cc7ca 100644
--- a/docs/geode-native/dotnet/113/preserving-data/disconnecting-from-server.html
+++ b/docs/geode-native/dotnet/113/preserving-data/disconnecting-from-server.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/disconnection.html b/docs/geode-native/dotnet/113/preserving-data/disconnection.html
index 4a7daaf..d7fbafa 100644
--- a/docs/geode-native/dotnet/113/preserving-data/disconnection.html
+++ b/docs/geode-native/dotnet/113/preserving-data/disconnection.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/durable-client-life-cycle.html b/docs/geode-native/dotnet/113/preserving-data/durable-client-life-cycle.html
index cf42939..10e54b5 100644
--- a/docs/geode-native/dotnet/113/preserving-data/durable-client-life-cycle.html
+++ b/docs/geode-native/dotnet/113/preserving-data/durable-client-life-cycle.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/durable-client-messaging-req.html b/docs/geode-native/dotnet/113/preserving-data/durable-client-messaging-req.html
index 5ad2809..23468d0 100644
--- a/docs/geode-native/dotnet/113/preserving-data/durable-client-messaging-req.html
+++ b/docs/geode-native/dotnet/113/preserving-data/durable-client-messaging-req.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/durable-client-messaging.html b/docs/geode-native/dotnet/113/preserving-data/durable-client-messaging.html
index 72e8fa4..caaf47c 100644
--- a/docs/geode-native/dotnet/113/preserving-data/durable-client-messaging.html
+++ b/docs/geode-native/dotnet/113/preserving-data/durable-client-messaging.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/durable-message-replay.html b/docs/geode-native/dotnet/113/preserving-data/durable-message-replay.html
index caee164..bdf3888 100644
--- a/docs/geode-native/dotnet/113/preserving-data/durable-message-replay.html
+++ b/docs/geode-native/dotnet/113/preserving-data/durable-message-replay.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/high-availability-client-server.html b/docs/geode-native/dotnet/113/preserving-data/high-availability-client-server.html
index 0f8285a..66c97a4 100644
--- a/docs/geode-native/dotnet/113/preserving-data/high-availability-client-server.html
+++ b/docs/geode-native/dotnet/113/preserving-data/high-availability-client-server.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/impl-cache-listeners-durable-clients.html b/docs/geode-native/dotnet/113/preserving-data/impl-cache-listeners-durable-clients.html
index 43e59d8..13d55dd 100644
--- a/docs/geode-native/dotnet/113/preserving-data/impl-cache-listeners-durable-clients.html
+++ b/docs/geode-native/dotnet/113/preserving-data/impl-cache-listeners-durable-clients.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/initial-operation.html b/docs/geode-native/dotnet/113/preserving-data/initial-operation.html
index 6154468..1b958ff 100644
--- a/docs/geode-native/dotnet/113/preserving-data/initial-operation.html
+++ b/docs/geode-native/dotnet/113/preserving-data/initial-operation.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/preserving-data.html b/docs/geode-native/dotnet/113/preserving-data/preserving-data.html
index d8e97f2..d81fad3 100644
--- a/docs/geode-native/dotnet/113/preserving-data/preserving-data.html
+++ b/docs/geode-native/dotnet/113/preserving-data/preserving-data.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/reconnection.html b/docs/geode-native/dotnet/113/preserving-data/reconnection.html
index e638a33..b09155a 100644
--- a/docs/geode-native/dotnet/113/preserving-data/reconnection.html
+++ b/docs/geode-native/dotnet/113/preserving-data/reconnection.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/sending-cache-ready-message.html b/docs/geode-native/dotnet/113/preserving-data/sending-cache-ready-message.html
index c781f0f..d6ecec2 100644
--- a/docs/geode-native/dotnet/113/preserving-data/sending-cache-ready-message.html
+++ b/docs/geode-native/dotnet/113/preserving-data/sending-cache-ready-message.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/sending-periodic-ack.html b/docs/geode-native/dotnet/113/preserving-data/sending-periodic-ack.html
index 3bd875e..93599f1 100644
--- a/docs/geode-native/dotnet/113/preserving-data/sending-periodic-ack.html
+++ b/docs/geode-native/dotnet/113/preserving-data/sending-periodic-ack.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/preserving-data/using-queue-conflation.html b/docs/geode-native/dotnet/113/preserving-data/using-queue-conflation.html
index 9c646e9..db3f868 100644
--- a/docs/geode-native/dotnet/113/preserving-data/using-queue-conflation.html
+++ b/docs/geode-native/dotnet/113/preserving-data/using-queue-conflation.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/regions/region-attributes.html b/docs/geode-native/dotnet/113/regions/region-attributes.html
index 060a43f..d189a3e 100644
--- a/docs/geode-native/dotnet/113/regions/region-attributes.html
+++ b/docs/geode-native/dotnet/113/regions/region-attributes.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/regions/regions.html b/docs/geode-native/dotnet/113/regions/regions.html
index 2b0fc6c..8c7ce44 100644
--- a/docs/geode-native/dotnet/113/regions/regions.html
+++ b/docs/geode-native/dotnet/113/regions/regions.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -285,26 +300,33 @@
 <p>To create a region:</p>
 
 <ol>
-<li>Instantiate a <code>CacheFactory</code> and use it to create a cache.</li>
+<li>Create a cache using <code>CacheFactory</code> to set its characteristics.</li>
 <li>The cache includes an instance of <code>PoolManager</code>&mdash;use it to create a connection pool.</li>
-<li>Use cache to instantiate a <code>RegionFactory</code> and use it to create a region, specifying any desired attributes
+<li>Use the cache to instantiate a <code>RegionFactory</code> and use it to create a region, specifying any desired attributes
 and an association with the connection pool.</li>
 </ol>
 
 <h3 id=".net-c#-region-creation-example">.NET C# Region Creation Example</h3>
 
-<p>This example illustrates how to create a pair of regions using C#:</p>
-<pre class="highlight csharp"><code><span class="kt">var</span> <span class="n">cache</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">().</span><span class="nf">Create</span><span class="p">();</span>
+<p>This example illustrates how to create two regions with different characteristics using C#:</p>
+<pre class="highlight csharp"><code><span class="kt">var</span> <span class="n">cache</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">()</span>
+    <span class="p">.</span><span class="nf">Set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">)</span>
+    <span class="p">.</span><span class="nf">Create</span><span class="p">();</span>
 
 <span class="kt">var</span> <span class="n">examplePool</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">GetPoolManager</span><span class="p">()</span>
     <span class="p">.</span><span class="nf">CreateFactory</span><span class="p">()</span>
-    <span class="p">.</span><span class="nf">AddLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="m">40404</span><span class="p">)</span>
+    <span class="p">.</span><span class="nf">AddLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="m">10334</span><span class="p">)</span>
     <span class="p">.</span><span class="nf">SetSubscriptionEnabled</span><span class="p">(</span><span class="k">true</span><span class="p">)</span>
     <span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"examplePool"</span><span class="p">);</span>
 
 <span class="kt">var</span> <span class="n">clientRegion1</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">CreateRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="p">.</span><span class="n">PROXY</span><span class="p">)</span>
   <span class="p">.</span><span class="nf">SetPoolName</span><span class="p">(</span><span class="s">"examplePool"</span><span class="p">)</span>
   <span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"clientRegion1"</span><span class="p">);</span>
+
+<span class="kt">var</span> <span class="n">clientRegion2</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">CreateRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="p">.</span><span class="n">CACHING_PROXY</span><span class="p">)</span>
+  <span class="p">.</span><span class="nf">SetPoolName</span><span class="p">(</span><span class="s">"examplePool"</span><span class="p">)</span>
+  <span class="p">.</span><span class="nf">SetEntryTimeToLive</span><span class="p">(</span><span class="n">ExpirationAction</span><span class="p">.</span><span class="n">Invalidate</span><span class="p">,</span> <span class="k">new</span> <span class="nf">TimeSpan</span><span class="p">(</span><span class="m">0</span><span class="p">,</span> <span class="m">0</span><span class="p">,</span> <span class="m">120</span><span class="p">))</span>
+  <span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"clientRegion2"</span><span class="p">);</span>
 </code></pre>
 
 <h2 id="declarative-region-creation"><a id="declarative-region-creation"></a>Declarative Region Creation</h2>
@@ -321,7 +343,7 @@
       <span class="err">http://geode.apache.org/schema/cpp-cache/cpp-cache-1.0.xsd"</span>
     <span class="na">version=</span><span class="s">"1.0"</span><span class="nt">&gt;</span>
     <span class="nt">&lt;pool</span> <span class="na">name=</span><span class="s">"examplePool"</span> <span class="na">subscription-enabled=</span><span class="s">"true"</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;server</span> <span class="na">host=</span><span class="s">"localhost"</span> <span class="na">port=</span><span class="s">"40404"</span> <span class="nt">/&gt;</span>
+        <span class="nt">&lt;server</span> <span class="na">host=</span><span class="s">"localhost"</span> <span class="na">port=</span><span class="s">"10334"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;/pool&gt;</span>
     <span class="nt">&lt;region</span> <span class="na">name=</span><span class="s">"clientRegion1"</span> <span class="na">refid=</span><span class="s">"PROXY"</span><span class="nt">&gt;</span>
         <span class="nt">&lt;region-attributes</span> <span class="na">pool-name=</span><span class="s">"examplePool"</span><span class="nt">/&gt;</span>
diff --git a/docs/geode-native/dotnet/113/regions/registering-interest-for-entries.html b/docs/geode-native/dotnet/113/regions/registering-interest-for-entries.html
index e2279c1..8bd5410 100644
--- a/docs/geode-native/dotnet/113/regions/registering-interest-for-entries.html
+++ b/docs/geode-native/dotnet/113/regions/registering-interest-for-entries.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/remote-queries.html b/docs/geode-native/dotnet/113/remote-queries.html
index 9e7d324..1f2cb0b 100644
--- a/docs/geode-native/dotnet/113/remote-queries.html
+++ b/docs/geode-native/dotnet/113/remote-queries.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/security/authentication.html b/docs/geode-native/dotnet/113/security/authentication.html
index 4380b6a..080cecc 100644
--- a/docs/geode-native/dotnet/113/security/authentication.html
+++ b/docs/geode-native/dotnet/113/security/authentication.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -268,12 +283,11 @@
 
 <h3 id=".net-authentication-example">.NET Authentication Example</h3>
 
-<p>The following excerpt is taken from the .NET example provided with your Native Client distribution in the <code>../examples/dotnet/authinitialize</code> directory.</p>
-
 <p>In this C# authentication example, the <code>CacheFactory</code> creation process sets the authentication callback:</p>
-<pre class="highlight csharp"><code>  <span class="kt">var</span> <span class="n">cacheFactory</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">()</span>
-    <span class="p">.</span><span class="nf">Set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">)</span>
-    <span class="p">.</span><span class="nf">SetAuthInitialize</span><span class="p">(</span><span class="k">new</span> <span class="nf">ExampleAuthInitialize</span><span class="p">());</span>
+<pre class="highlight csharp"><code>  <span class="kt">var</span> <span class="n">cache</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="nf">Set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">SetAuthInitialize</span><span class="p">(</span><span class="k">new</span> <span class="nf">ExampleAuthInitialize</span><span class="p">())</span>
+      <span class="p">.</span><span class="nf">Create</span><span class="p">();</span>
 </code></pre>
 
 <p>Credentials are implemented in the <code>GetCredentials</code> member function of the <code>ExampleAuthInitialize</code> class, which implements the <code>IAuthInitialize</code> interface:</p>
diff --git a/docs/geode-native/dotnet/113/security/security-systemprops.html b/docs/geode-native/dotnet/113/security/security-systemprops.html
index f5c48a1..e7323d9 100644
--- a/docs/geode-native/dotnet/113/security/security-systemprops.html
+++ b/docs/geode-native/dotnet/113/security/security-systemprops.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/security/security.html b/docs/geode-native/dotnet/113/security/security.html
index 01fa94d..61738d0 100644
--- a/docs/geode-native/dotnet/113/security/security.html
+++ b/docs/geode-native/dotnet/113/security/security.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/security/sslclientserver.html b/docs/geode-native/dotnet/113/security/sslclientserver.html
index dc261b2..b334e14 100644
--- a/docs/geode-native/dotnet/113/security/sslclientserver.html
+++ b/docs/geode-native/dotnet/113/security/sslclientserver.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -308,8 +323,6 @@
 
 <p>For details on stopping and starting locators and cache servers with SSL, see <a href="geodeman/configuring/running/starting_up_shutting_down.html">Starting Up and Shutting Down Your System</a>.</p>
 
-<p>The Geode Native’s libcryptoImpl found in /lib must be linked at compile time.  This binary is used to interact with OpenSSL.  Link libcryptoImpl, native client, and your application code.  We highly recommend using cmake.</p>
-
 <p><strong>Example locator start command</strong></p>
 
 <p>Ensure that all required SSL properties are configured in your server&rsquo;s <code>geode.properties</code> file. Then start your locator as follows:</p>
diff --git a/docs/geode-native/dotnet/113/serialization/data-serialization.html b/docs/geode-native/dotnet/113/serialization/data-serialization.html
index a4ebc9c..5beb855 100644
--- a/docs/geode-native/dotnet/113/serialization/data-serialization.html
+++ b/docs/geode-native/dotnet/113/serialization/data-serialization.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html b/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html
index 7718729..26558f7 100644
--- a/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html
+++ b/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-serialization.html b/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-serialization.html
index 86a08ea..5ff4faa 100644
--- a/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-serialization.html
+++ b/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-serialization.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -321,9 +336,9 @@
 <p>See the following sections for details on implementing PDX serialization and autoserialization:</p>
 
 <ul>
-<li><a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html">Using the Geode PDX Autoserializer</a></li>
+<li><a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/dotnet-pdx-autoserializer.html">Using the Geode Autoserializer</a></li>
 <li><a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a></li>
-<li><a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a></li>
+<li><a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a></li>
 </ul>
 
         
diff --git a/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html b/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html
index 480359a..da8d0ed 100644
--- a/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html
+++ b/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html
@@ -9,7 +9,7 @@
   <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
   <!-- Use title if it's in the page YAML frontmatter -->
   <title>
-      IPdxSerializable Examples |
+      IPdxSerializable Example |
     Geode Native .NET Docs
   </title>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -234,7 +249,7 @@
 limitations under the License.
 -->
   <h1 class="title-container" >
-    IPdxSerializable Examples
+    IPdxSerializable Example
   </h1>
 
           <div id="js-quick-links" >
@@ -260,12 +275,12 @@
 limitations under the License.
 -->
 
-<p>The native client release contains examples showing how a client application
+<p>The native client release contain an example showing how a client application
 can register for serialization of domain objects using the .NET IPdxSerializable interface.</p>
 
-<p>The examples are located in <code>examples\dotnet\pdxserializable</code>.</p>
+<p>The example is located in <code>examples\dotnet\pdxserializable</code>.</p>
 
-<p>The examples define the serializable class, <code>Orders</code>, including its serialization and deserialization methods and its factory method.
+<p>The example defines the serializable class, <code>Orders</code>, including its serialization and deserialization methods and its factory method.
 Once these pieces are in place, execution is simple: the main routine of the example registers the serializable class then performs some put and get operations.</p>
 
 <p><a id="pdxsbl_execution"></a></p>
@@ -275,7 +290,7 @@
 <p>The example performs a sequence of operations, displaying simple log entries as they run.</p>
 
 <ul>
-<li>To run an example, follow the instructions in the README.md file in the example directory.</li>
+<li><p>To run the example, follow the instructions in the README.md file in the example directory.</p></li>
 <li><p>Review the source code in the example directory to see exactly how it operates.</p></li>
 <li><p>Begin by running a script that sets up the server-side environment by invoking <code>gfsh</code> commands to create a region, a locator, and a server.</p></li>
 <li><p>Run the example client application, which performs the following steps:</p>
@@ -344,17 +359,18 @@
 </code></pre>
 
 <p>The .NET example mainline creates a cache, then uses it to register the PdxSerializable class that was created in Orders.cs:</p>
-<pre class="highlight csharp"><code>   <span class="kt">var</span> <span class="n">cacheFactory</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">()</span>
-       <span class="p">.</span><span class="nf">Set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">);</span>
-   <span class="kt">var</span> <span class="n">cache</span> <span class="p">=</span> <span class="n">cacheFactory</span><span class="p">.</span><span class="nf">Create</span><span class="p">();</span>
+<pre class="highlight csharp"><code><span class="kt">var</span> <span class="n">cache</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">()</span>
+    <span class="p">.</span><span class="nf">Set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">)</span>
+    <span class="p">.</span><span class="nf">Create</span><span class="p">();</span>
 
    <span class="n">cache</span><span class="p">.</span><span class="n">TypeRegistry</span><span class="p">.</span><span class="nf">RegisterPdxType</span><span class="p">(</span><span class="n">Order</span><span class="p">.</span><span class="n">CreateDeserializable</span><span class="p">);</span>
 </code></pre>
 
 <p>The client creates a connection pool and a region named &ldquo;example_orderobject&rdquo;:</p>
-<pre class="highlight csharp"><code>   <span class="kt">var</span> <span class="n">poolFactory</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">GetPoolFactory</span><span class="p">()</span>
-       <span class="p">.</span><span class="nf">AddLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="m">10334</span><span class="p">);</span>
-   <span class="n">poolFactory</span><span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
+<pre class="highlight csharp"><code><span class="n">cache</span><span class="p">.</span><span class="nf">GetPoolManager</span><span class="p">()</span>
+    <span class="p">.</span><span class="nf">CreateFactory</span><span class="p">()</span>
+    <span class="p">.</span><span class="nf">AddLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="m">10334</span><span class="p">)</span>
+    <span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
 
    <span class="kt">var</span> <span class="n">regionFactory</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">CreateRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="p">.</span><span class="n">PROXY</span><span class="p">)</span>
         <span class="p">.</span><span class="nf">SetPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
diff --git a/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html b/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html
index 0ca267f..717afeb 100644
--- a/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html
+++ b/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
diff --git a/docs/geode-native/dotnet/113/transactions.html b/docs/geode-native/dotnet/113/transactions.html
index 2bcc3ac..55d74e3 100644
--- a/docs/geode-native/dotnet/113/transactions.html
+++ b/docs/geode-native/dotnet/113/transactions.html
@@ -133,6 +133,21 @@
     </li>
 
     <li class="has_submenu">
+        <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools.html">Configuring Pools</a>
+        <ul>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/client-pool-api.html">Native Client Pool API</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/configuring-pools-attributes-example.html">Pool Configuration Example and Settings</a>
+            </li>
+            <li>
+                <a href="/docs/geode-native/dotnet/113/connection-pools/subscription-properties.html">Subscription Properties</a>
+            </li>
+        </ul>
+    </li>
+
+    <li class="has_submenu">
       <a href="/docs/geode-native/dotnet/113/serialization/data-serialization.html">Serializing Data</a>
       <ul>
         <li class="has_submenu">
@@ -145,7 +160,7 @@
               <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/serialize-using-ipdxserializable.html">Using the IPdxSerializable Interface</a>
             </li>
             <li>
-              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Examples</a>
+              <a href="/docs/geode-native/dotnet/113/serialization/dotnet-serialization/pdx-serializable-examples.html">IPdxSerializable Example</a>
             </li>
           </ul>
         </li>
@@ -336,13 +351,14 @@
 For the complete source, see the example source directory.</p>
 
 <p>The .NET example creates a cache, then uses it to create a connection pool.</p>
-<pre class="highlight csharp"><code>   <span class="kt">var</span> <span class="n">cache</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">()</span>
-       <span class="p">.</span><span class="nf">Set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">).</span><span class="nf">Create</span><span class="p">();</span>
+<pre class="highlight csharp"><code>  <span class="kt">var</span> <span class="n">cache</span> <span class="p">=</span> <span class="k">new</span> <span class="nf">CacheFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="nf">Set</span><span class="p">(</span><span class="s">"log-level"</span><span class="p">,</span> <span class="s">"none"</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">Create</span><span class="p">();</span>
 
-   <span class="kt">var</span> <span class="n">poolFactory</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">GetPoolFactory</span><span class="p">()</span>
-       <span class="p">.</span><span class="nf">AddLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="m">10334</span><span class="p">);</span>
-
-   <span class="n">poolFactory</span><span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
+  <span class="n">cache</span><span class="p">.</span><span class="nf">GetPoolManager</span><span class="p">()</span>
+      <span class="p">.</span><span class="nf">CreateFactory</span><span class="p">()</span>
+      <span class="p">.</span><span class="nf">AddLocator</span><span class="p">(</span><span class="s">"localhost"</span><span class="p">,</span> <span class="m">10334</span><span class="p">)</span>
+      <span class="p">.</span><span class="nf">Create</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
 
    <span class="kt">var</span> <span class="n">regionFactory</span> <span class="p">=</span> <span class="n">cache</span><span class="p">.</span><span class="nf">CreateRegionFactory</span><span class="p">(</span><span class="n">RegionShortcut</span><span class="p">.</span><span class="n">PROXY</span><span class="p">)</span>
        <span class="p">.</span><span class="nf">SetPoolName</span><span class="p">(</span><span class="s">"pool"</span><span class="p">);</span>
diff --git a/releases/latest/cppdocs/a00014.html b/releases/latest/cppdocs/a00014.html
index 638fb25..b4baf9b 100644
--- a/releases/latest/cppdocs/a00014.html
+++ b/releases/latest/cppdocs/a00014.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00014_source.html b/releases/latest/cppdocs/a00014_source.html
index 359a7a2..9eb8cce 100644
--- a/releases/latest/cppdocs/a00014_source.html
+++ b/releases/latest/cppdocs/a00014_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00017.html b/releases/latest/cppdocs/a00017.html
index c0d3cf3..4ad5eaf 100644
--- a/releases/latest/cppdocs/a00017.html
+++ b/releases/latest/cppdocs/a00017.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00017_source.html b/releases/latest/cppdocs/a00017_source.html
index 4abb3c6..0fda419 100644
--- a/releases/latest/cppdocs/a00017_source.html
+++ b/releases/latest/cppdocs/a00017_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00020.html b/releases/latest/cppdocs/a00020.html
index e250565..5c6bfd9 100644
--- a/releases/latest/cppdocs/a00020.html
+++ b/releases/latest/cppdocs/a00020.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00020_source.html b/releases/latest/cppdocs/a00020_source.html
index 44490b6..3b63323 100644
--- a/releases/latest/cppdocs/a00020_source.html
+++ b/releases/latest/cppdocs/a00020_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00023.html b/releases/latest/cppdocs/a00023.html
index ef93b52..1fe3c74 100644
--- a/releases/latest/cppdocs/a00023.html
+++ b/releases/latest/cppdocs/a00023.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00023_source.html b/releases/latest/cppdocs/a00023_source.html
index a37b4d6..86eee4d 100644
--- a/releases/latest/cppdocs/a00023_source.html
+++ b/releases/latest/cppdocs/a00023_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00026.html b/releases/latest/cppdocs/a00026.html
index 5907304..1f2205d 100644
--- a/releases/latest/cppdocs/a00026.html
+++ b/releases/latest/cppdocs/a00026.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00026_source.html b/releases/latest/cppdocs/a00026_source.html
index c3871c1..a65a1e7 100644
--- a/releases/latest/cppdocs/a00026_source.html
+++ b/releases/latest/cppdocs/a00026_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00029.html b/releases/latest/cppdocs/a00029.html
index 32e40d0..1dcd100 100644
--- a/releases/latest/cppdocs/a00029.html
+++ b/releases/latest/cppdocs/a00029.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00029_source.html b/releases/latest/cppdocs/a00029_source.html
index 15f126c..b0b6176 100644
--- a/releases/latest/cppdocs/a00029_source.html
+++ b/releases/latest/cppdocs/a00029_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00032_source.html b/releases/latest/cppdocs/a00032_source.html
index cd24900..1bd5fb6 100644
--- a/releases/latest/cppdocs/a00032_source.html
+++ b/releases/latest/cppdocs/a00032_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00035.html b/releases/latest/cppdocs/a00035.html
index b40997e..b024593 100644
--- a/releases/latest/cppdocs/a00035.html
+++ b/releases/latest/cppdocs/a00035.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00035_source.html b/releases/latest/cppdocs/a00035_source.html
index 72e47c5..1295025 100644
--- a/releases/latest/cppdocs/a00035_source.html
+++ b/releases/latest/cppdocs/a00035_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00038.html b/releases/latest/cppdocs/a00038.html
index 9779620..5678437 100644
--- a/releases/latest/cppdocs/a00038.html
+++ b/releases/latest/cppdocs/a00038.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00038_source.html b/releases/latest/cppdocs/a00038_source.html
index 68c8fa7..79cfb5a 100644
--- a/releases/latest/cppdocs/a00038_source.html
+++ b/releases/latest/cppdocs/a00038_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00041.html b/releases/latest/cppdocs/a00041.html
index 9699477..4bbc0d3 100644
--- a/releases/latest/cppdocs/a00041.html
+++ b/releases/latest/cppdocs/a00041.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00041_source.html b/releases/latest/cppdocs/a00041_source.html
index 9ce420c..98be54f 100644
--- a/releases/latest/cppdocs/a00041_source.html
+++ b/releases/latest/cppdocs/a00041_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00044.html b/releases/latest/cppdocs/a00044.html
index e380d81..16cc6ae 100644
--- a/releases/latest/cppdocs/a00044.html
+++ b/releases/latest/cppdocs/a00044.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00044_source.html b/releases/latest/cppdocs/a00044_source.html
index 3b4b044..4aa0fbb 100644
--- a/releases/latest/cppdocs/a00044_source.html
+++ b/releases/latest/cppdocs/a00044_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00047.html b/releases/latest/cppdocs/a00047.html
index 9f43835..1ac2acb 100644
--- a/releases/latest/cppdocs/a00047.html
+++ b/releases/latest/cppdocs/a00047.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00047_source.html b/releases/latest/cppdocs/a00047_source.html
index 01001a8..2797fbe 100644
--- a/releases/latest/cppdocs/a00047_source.html
+++ b/releases/latest/cppdocs/a00047_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00050.html b/releases/latest/cppdocs/a00050.html
index 092ea25..282310e 100644
--- a/releases/latest/cppdocs/a00050.html
+++ b/releases/latest/cppdocs/a00050.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00050_source.html b/releases/latest/cppdocs/a00050_source.html
index 6ac50a5..15f399d 100644
--- a/releases/latest/cppdocs/a00050_source.html
+++ b/releases/latest/cppdocs/a00050_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00053.html b/releases/latest/cppdocs/a00053.html
index 91fef4e..8592ca5 100644
--- a/releases/latest/cppdocs/a00053.html
+++ b/releases/latest/cppdocs/a00053.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00053_source.html b/releases/latest/cppdocs/a00053_source.html
index 5a31373..059b600 100644
--- a/releases/latest/cppdocs/a00053_source.html
+++ b/releases/latest/cppdocs/a00053_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00056.html b/releases/latest/cppdocs/a00056.html
index 7725d3c..045371b 100644
--- a/releases/latest/cppdocs/a00056.html
+++ b/releases/latest/cppdocs/a00056.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00056_source.html b/releases/latest/cppdocs/a00056_source.html
index 4afe94e..d4cee7e 100644
--- a/releases/latest/cppdocs/a00056_source.html
+++ b/releases/latest/cppdocs/a00056_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00059.html b/releases/latest/cppdocs/a00059.html
index fc43985..bf3a522 100644
--- a/releases/latest/cppdocs/a00059.html
+++ b/releases/latest/cppdocs/a00059.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00059_source.html b/releases/latest/cppdocs/a00059_source.html
index f9bc066..b3397b2 100644
--- a/releases/latest/cppdocs/a00059_source.html
+++ b/releases/latest/cppdocs/a00059_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00062_source.html b/releases/latest/cppdocs/a00062_source.html
index 03a7f52..a57aaf8 100644
--- a/releases/latest/cppdocs/a00062_source.html
+++ b/releases/latest/cppdocs/a00062_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00065_source.html b/releases/latest/cppdocs/a00065_source.html
index 44f6ca3..84464bf 100644
--- a/releases/latest/cppdocs/a00065_source.html
+++ b/releases/latest/cppdocs/a00065_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00068_source.html b/releases/latest/cppdocs/a00068_source.html
index 1140bd1..5dfabab 100644
--- a/releases/latest/cppdocs/a00068_source.html
+++ b/releases/latest/cppdocs/a00068_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00071.html b/releases/latest/cppdocs/a00071.html
index 8b2e2b7..7d0eb0a 100644
--- a/releases/latest/cppdocs/a00071.html
+++ b/releases/latest/cppdocs/a00071.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00071_source.html b/releases/latest/cppdocs/a00071_source.html
index 33b1783..28fed72 100644
--- a/releases/latest/cppdocs/a00071_source.html
+++ b/releases/latest/cppdocs/a00071_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00074.html b/releases/latest/cppdocs/a00074.html
index 14b3840..7668feb 100644
--- a/releases/latest/cppdocs/a00074.html
+++ b/releases/latest/cppdocs/a00074.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00074_source.html b/releases/latest/cppdocs/a00074_source.html
index 5ab51c0..8b8d055 100644
--- a/releases/latest/cppdocs/a00074_source.html
+++ b/releases/latest/cppdocs/a00074_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00077.html b/releases/latest/cppdocs/a00077.html
index a7afd6b..629a33d 100644
--- a/releases/latest/cppdocs/a00077.html
+++ b/releases/latest/cppdocs/a00077.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00077_source.html b/releases/latest/cppdocs/a00077_source.html
index 6d11f23..25bad7a 100644
--- a/releases/latest/cppdocs/a00077_source.html
+++ b/releases/latest/cppdocs/a00077_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00080_source.html b/releases/latest/cppdocs/a00080_source.html
index cc0d3d7..01d615e 100644
--- a/releases/latest/cppdocs/a00080_source.html
+++ b/releases/latest/cppdocs/a00080_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00083.html b/releases/latest/cppdocs/a00083.html
index 923414b..2704bac 100644
--- a/releases/latest/cppdocs/a00083.html
+++ b/releases/latest/cppdocs/a00083.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00083_source.html b/releases/latest/cppdocs/a00083_source.html
index df25c3d..7dd2832 100644
--- a/releases/latest/cppdocs/a00083_source.html
+++ b/releases/latest/cppdocs/a00083_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00086.html b/releases/latest/cppdocs/a00086.html
index 6f123f9..20f2093 100644
--- a/releases/latest/cppdocs/a00086.html
+++ b/releases/latest/cppdocs/a00086.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00086_source.html b/releases/latest/cppdocs/a00086_source.html
index 459d23c..85c5f23 100644
--- a/releases/latest/cppdocs/a00086_source.html
+++ b/releases/latest/cppdocs/a00086_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00089.html b/releases/latest/cppdocs/a00089.html
index de3af14..2129fd6 100644
--- a/releases/latest/cppdocs/a00089.html
+++ b/releases/latest/cppdocs/a00089.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00089_source.html b/releases/latest/cppdocs/a00089_source.html
index 533f1b9..8741aab 100644
--- a/releases/latest/cppdocs/a00089_source.html
+++ b/releases/latest/cppdocs/a00089_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00092.html b/releases/latest/cppdocs/a00092.html
index af62c20..aa5feb3 100644
--- a/releases/latest/cppdocs/a00092.html
+++ b/releases/latest/cppdocs/a00092.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00092_source.html b/releases/latest/cppdocs/a00092_source.html
index 6c2a83b..55074e7 100644
--- a/releases/latest/cppdocs/a00092_source.html
+++ b/releases/latest/cppdocs/a00092_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00095.html b/releases/latest/cppdocs/a00095.html
index fe91522..872aad6 100644
--- a/releases/latest/cppdocs/a00095.html
+++ b/releases/latest/cppdocs/a00095.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00095.js b/releases/latest/cppdocs/a00095.js
new file mode 100644
index 0000000..f6dc5fa
--- /dev/null
+++ b/releases/latest/cppdocs/a00095.js
@@ -0,0 +1,4 @@
+var a00095 =
+[
+    [ "CqState", "a00095.html#aa532d841e6ee7cfa7f71dc37c551c71f", null ]
+];
\ No newline at end of file
diff --git a/releases/latest/cppdocs/a00095_source.html b/releases/latest/cppdocs/a00095_source.html
index 462a2e1..697177d 100644
--- a/releases/latest/cppdocs/a00095_source.html
+++ b/releases/latest/cppdocs/a00095_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00098.html b/releases/latest/cppdocs/a00098.html
index 0f36408..1af02e5 100644
--- a/releases/latest/cppdocs/a00098.html
+++ b/releases/latest/cppdocs/a00098.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00098_source.html b/releases/latest/cppdocs/a00098_source.html
index d6a9fdd..b76981d 100644
--- a/releases/latest/cppdocs/a00098_source.html
+++ b/releases/latest/cppdocs/a00098_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00101_source.html b/releases/latest/cppdocs/a00101_source.html
index af58546..16e77f3 100644
--- a/releases/latest/cppdocs/a00101_source.html
+++ b/releases/latest/cppdocs/a00101_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00104.html b/releases/latest/cppdocs/a00104.html
index 5ce6bc5..a4ff0a7 100644
--- a/releases/latest/cppdocs/a00104.html
+++ b/releases/latest/cppdocs/a00104.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00104_source.html b/releases/latest/cppdocs/a00104_source.html
index af9c98a..10b6198 100644
--- a/releases/latest/cppdocs/a00104_source.html
+++ b/releases/latest/cppdocs/a00104_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00107_source.html b/releases/latest/cppdocs/a00107_source.html
index 2585b7c..519f4b5 100644
--- a/releases/latest/cppdocs/a00107_source.html
+++ b/releases/latest/cppdocs/a00107_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00110_source.html b/releases/latest/cppdocs/a00110_source.html
index 6ca3216..aebaf59 100644
--- a/releases/latest/cppdocs/a00110_source.html
+++ b/releases/latest/cppdocs/a00110_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00113.html b/releases/latest/cppdocs/a00113.html
index 9d9e77f..d1bdd7b 100644
--- a/releases/latest/cppdocs/a00113.html
+++ b/releases/latest/cppdocs/a00113.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00113_source.html b/releases/latest/cppdocs/a00113_source.html
index dd61c7b..1c93402 100644
--- a/releases/latest/cppdocs/a00113_source.html
+++ b/releases/latest/cppdocs/a00113_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00116.html b/releases/latest/cppdocs/a00116.html
index 40e8194..5fb6c5a 100644
--- a/releases/latest/cppdocs/a00116.html
+++ b/releases/latest/cppdocs/a00116.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00116_source.html b/releases/latest/cppdocs/a00116_source.html
index 74e556c..4da4f83 100644
--- a/releases/latest/cppdocs/a00116_source.html
+++ b/releases/latest/cppdocs/a00116_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00119.html b/releases/latest/cppdocs/a00119.html
index 537e51d..0ae8b90 100644
--- a/releases/latest/cppdocs/a00119.html
+++ b/releases/latest/cppdocs/a00119.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00119.js b/releases/latest/cppdocs/a00119.js
new file mode 100644
index 0000000..0b5cd4c
--- /dev/null
+++ b/releases/latest/cppdocs/a00119.js
@@ -0,0 +1,4 @@
+var a00119 =
+[
+    [ "DiskPolicyType", "a00119.html#ac8bc1cb45b3cece3d7e8b998f868bd56", null ]
+];
\ No newline at end of file
diff --git a/releases/latest/cppdocs/a00119_source.html b/releases/latest/cppdocs/a00119_source.html
index 0d171e0..6ba37bf 100644
--- a/releases/latest/cppdocs/a00119_source.html
+++ b/releases/latest/cppdocs/a00119_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00122.html b/releases/latest/cppdocs/a00122.html
index f3d7ad9..59b8519 100644
--- a/releases/latest/cppdocs/a00122.html
+++ b/releases/latest/cppdocs/a00122.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00122_source.html b/releases/latest/cppdocs/a00122_source.html
index 7d6dac7..25371c4 100644
--- a/releases/latest/cppdocs/a00122_source.html
+++ b/releases/latest/cppdocs/a00122_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00125_source.html b/releases/latest/cppdocs/a00125_source.html
index 85e07bf..d295457 100644
--- a/releases/latest/cppdocs/a00125_source.html
+++ b/releases/latest/cppdocs/a00125_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00128_source.html b/releases/latest/cppdocs/a00128_source.html
index 9ac5cb6..ad2aeee 100644
--- a/releases/latest/cppdocs/a00128_source.html
+++ b/releases/latest/cppdocs/a00128_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00131.html b/releases/latest/cppdocs/a00131.html
index f238324..6b29c7e 100644
--- a/releases/latest/cppdocs/a00131.html
+++ b/releases/latest/cppdocs/a00131.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00131_source.html b/releases/latest/cppdocs/a00131_source.html
index 921e249..5621234 100644
--- a/releases/latest/cppdocs/a00131_source.html
+++ b/releases/latest/cppdocs/a00131_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00134.html b/releases/latest/cppdocs/a00134.html
index 2c15983..8aeba4f 100644
--- a/releases/latest/cppdocs/a00134.html
+++ b/releases/latest/cppdocs/a00134.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00134.js b/releases/latest/cppdocs/a00134.js
new file mode 100644
index 0000000..8e9115e
--- /dev/null
+++ b/releases/latest/cppdocs/a00134.js
@@ -0,0 +1,10 @@
+var a00134 =
+[
+    [ "ExpirationAction", "a00134.html#a64074a351a25bec6bb150cd04c85352f", [
+      [ "INVALIDATE", "a00134.html#a64074a351a25bec6bb150cd04c85352fac7ba4bde5fe21a5ad38e8ddb71e2ae2a", null ],
+      [ "LOCAL_INVALIDATE", "a00134.html#a64074a351a25bec6bb150cd04c85352fa940e6c190d7b1e9f68f79eaded028117", null ],
+      [ "DESTROY", "a00134.html#a64074a351a25bec6bb150cd04c85352fac39aa6dbe619bb8ef8187b00b686df6a", null ],
+      [ "LOCAL_DESTROY", "a00134.html#a64074a351a25bec6bb150cd04c85352faab769286c395431e1bd5398812f5fe9a", null ],
+      [ "INVALID_ACTION", "a00134.html#a64074a351a25bec6bb150cd04c85352faf82c3f4b5166d4da4bd64ab4e0464377", null ]
+    ] ]
+];
\ No newline at end of file
diff --git a/releases/latest/cppdocs/a00134_source.html b/releases/latest/cppdocs/a00134_source.html
index df32221..c69af60 100644
--- a/releases/latest/cppdocs/a00134_source.html
+++ b/releases/latest/cppdocs/a00134_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00137.html b/releases/latest/cppdocs/a00137.html
index 4dbc01b..a3150c9 100644
--- a/releases/latest/cppdocs/a00137.html
+++ b/releases/latest/cppdocs/a00137.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00137_source.html b/releases/latest/cppdocs/a00137_source.html
index c080774..8eac837 100644
--- a/releases/latest/cppdocs/a00137_source.html
+++ b/releases/latest/cppdocs/a00137_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00140_source.html b/releases/latest/cppdocs/a00140_source.html
index f7dbe88..3f777df 100644
--- a/releases/latest/cppdocs/a00140_source.html
+++ b/releases/latest/cppdocs/a00140_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00143.html b/releases/latest/cppdocs/a00143.html
index ad12d1c..f740ab7 100644
--- a/releases/latest/cppdocs/a00143.html
+++ b/releases/latest/cppdocs/a00143.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00143_source.html b/releases/latest/cppdocs/a00143_source.html
index b9ac7d2..495a7c8 100644
--- a/releases/latest/cppdocs/a00143_source.html
+++ b/releases/latest/cppdocs/a00143_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00146.html b/releases/latest/cppdocs/a00146.html
index 83f2f63..e7d17b7 100644
--- a/releases/latest/cppdocs/a00146.html
+++ b/releases/latest/cppdocs/a00146.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00146_source.html b/releases/latest/cppdocs/a00146_source.html
index e6e224b..e076434 100644
--- a/releases/latest/cppdocs/a00146_source.html
+++ b/releases/latest/cppdocs/a00146_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00149_source.html b/releases/latest/cppdocs/a00149_source.html
index 8f41d51..e9cae3d 100644
--- a/releases/latest/cppdocs/a00149_source.html
+++ b/releases/latest/cppdocs/a00149_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00152_source.html b/releases/latest/cppdocs/a00152_source.html
index a947075..515afc1 100644
--- a/releases/latest/cppdocs/a00152_source.html
+++ b/releases/latest/cppdocs/a00152_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00155_source.html b/releases/latest/cppdocs/a00155_source.html
index a59f233..9a1523d 100644
--- a/releases/latest/cppdocs/a00155_source.html
+++ b/releases/latest/cppdocs/a00155_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00158_source.html b/releases/latest/cppdocs/a00158_source.html
index 0f36b18..89fb697 100644
--- a/releases/latest/cppdocs/a00158_source.html
+++ b/releases/latest/cppdocs/a00158_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00161_source.html b/releases/latest/cppdocs/a00161_source.html
index 32bcbce..6a37482 100644
--- a/releases/latest/cppdocs/a00161_source.html
+++ b/releases/latest/cppdocs/a00161_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00164_source.html b/releases/latest/cppdocs/a00164_source.html
index f25bda6..1edc4c4 100644
--- a/releases/latest/cppdocs/a00164_source.html
+++ b/releases/latest/cppdocs/a00164_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00167_source.html b/releases/latest/cppdocs/a00167_source.html
index 6e790ec..67926e5 100644
--- a/releases/latest/cppdocs/a00167_source.html
+++ b/releases/latest/cppdocs/a00167_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00170_source.html b/releases/latest/cppdocs/a00170_source.html
index ee26666..4d36627 100644
--- a/releases/latest/cppdocs/a00170_source.html
+++ b/releases/latest/cppdocs/a00170_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00173_source.html b/releases/latest/cppdocs/a00173_source.html
index afad151..3071c20 100644
--- a/releases/latest/cppdocs/a00173_source.html
+++ b/releases/latest/cppdocs/a00173_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00176_source.html b/releases/latest/cppdocs/a00176_source.html
index e09d784..af087a4 100644
--- a/releases/latest/cppdocs/a00176_source.html
+++ b/releases/latest/cppdocs/a00176_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00179_source.html b/releases/latest/cppdocs/a00179_source.html
index c4e091e..43ade18 100644
--- a/releases/latest/cppdocs/a00179_source.html
+++ b/releases/latest/cppdocs/a00179_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00182.html b/releases/latest/cppdocs/a00182.html
index 7b8c9a5..1b33dc5 100644
--- a/releases/latest/cppdocs/a00182.html
+++ b/releases/latest/cppdocs/a00182.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00182_source.html b/releases/latest/cppdocs/a00182_source.html
index 73ccac1..3879e20 100644
--- a/releases/latest/cppdocs/a00182_source.html
+++ b/releases/latest/cppdocs/a00182_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00185.html b/releases/latest/cppdocs/a00185.html
index 776481d..a62dd5d 100644
--- a/releases/latest/cppdocs/a00185.html
+++ b/releases/latest/cppdocs/a00185.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00185_source.html b/releases/latest/cppdocs/a00185_source.html
index 92e8d47..dd5f02b 100644
--- a/releases/latest/cppdocs/a00185_source.html
+++ b/releases/latest/cppdocs/a00185_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00188.html b/releases/latest/cppdocs/a00188.html
index e6a99e7..14512a9 100644
--- a/releases/latest/cppdocs/a00188.html
+++ b/releases/latest/cppdocs/a00188.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00188_source.html b/releases/latest/cppdocs/a00188_source.html
index 7eb5bf0..9c1ef12 100644
--- a/releases/latest/cppdocs/a00188_source.html
+++ b/releases/latest/cppdocs/a00188_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00191_source.html b/releases/latest/cppdocs/a00191_source.html
index 5583d7c..375d2ec 100644
--- a/releases/latest/cppdocs/a00191_source.html
+++ b/releases/latest/cppdocs/a00191_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00194.html b/releases/latest/cppdocs/a00194.html
index 9507527..be60dec 100644
--- a/releases/latest/cppdocs/a00194.html
+++ b/releases/latest/cppdocs/a00194.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00194_source.html b/releases/latest/cppdocs/a00194_source.html
index d3aa015..a4415c7 100644
--- a/releases/latest/cppdocs/a00194_source.html
+++ b/releases/latest/cppdocs/a00194_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00197.html b/releases/latest/cppdocs/a00197.html
index 4d9b8e2..ab710c0 100644
--- a/releases/latest/cppdocs/a00197.html
+++ b/releases/latest/cppdocs/a00197.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00197_source.html b/releases/latest/cppdocs/a00197_source.html
index c7902a2..e267664 100644
--- a/releases/latest/cppdocs/a00197_source.html
+++ b/releases/latest/cppdocs/a00197_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00200.html b/releases/latest/cppdocs/a00200.html
index dd71a80..a5c25d6 100644
--- a/releases/latest/cppdocs/a00200.html
+++ b/releases/latest/cppdocs/a00200.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00200_source.html b/releases/latest/cppdocs/a00200_source.html
index d955be9..821d4a6 100644
--- a/releases/latest/cppdocs/a00200_source.html
+++ b/releases/latest/cppdocs/a00200_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00203_source.html b/releases/latest/cppdocs/a00203_source.html
index 811fb77..44b25a8 100644
--- a/releases/latest/cppdocs/a00203_source.html
+++ b/releases/latest/cppdocs/a00203_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00206.html b/releases/latest/cppdocs/a00206.html
index 0b188fa..89ea863 100644
--- a/releases/latest/cppdocs/a00206.html
+++ b/releases/latest/cppdocs/a00206.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00206_source.html b/releases/latest/cppdocs/a00206_source.html
index 653d17b..6c77b96 100644
--- a/releases/latest/cppdocs/a00206_source.html
+++ b/releases/latest/cppdocs/a00206_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00209.html b/releases/latest/cppdocs/a00209.html
index ded99e9..f9f2b8d 100644
--- a/releases/latest/cppdocs/a00209.html
+++ b/releases/latest/cppdocs/a00209.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00209_source.html b/releases/latest/cppdocs/a00209_source.html
index b9c6b5f..02aa5d3 100644
--- a/releases/latest/cppdocs/a00209_source.html
+++ b/releases/latest/cppdocs/a00209_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00212.html b/releases/latest/cppdocs/a00212.html
index bab4398..d7a3534 100644
--- a/releases/latest/cppdocs/a00212.html
+++ b/releases/latest/cppdocs/a00212.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00212_source.html b/releases/latest/cppdocs/a00212_source.html
index 96b6fd4..2648de0 100644
--- a/releases/latest/cppdocs/a00212_source.html
+++ b/releases/latest/cppdocs/a00212_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00215.html b/releases/latest/cppdocs/a00215.html
index 2a830c1..4fe0de7 100644
--- a/releases/latest/cppdocs/a00215.html
+++ b/releases/latest/cppdocs/a00215.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00215_source.html b/releases/latest/cppdocs/a00215_source.html
index 07c2831..0245624 100644
--- a/releases/latest/cppdocs/a00215_source.html
+++ b/releases/latest/cppdocs/a00215_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00218.html b/releases/latest/cppdocs/a00218.html
index 5e57b1a..d9150e3 100644
--- a/releases/latest/cppdocs/a00218.html
+++ b/releases/latest/cppdocs/a00218.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00218_source.html b/releases/latest/cppdocs/a00218_source.html
index 04f0f9a..2ae4770 100644
--- a/releases/latest/cppdocs/a00218_source.html
+++ b/releases/latest/cppdocs/a00218_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00221.html b/releases/latest/cppdocs/a00221.html
index 4797997..2a5cf38 100644
--- a/releases/latest/cppdocs/a00221.html
+++ b/releases/latest/cppdocs/a00221.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00221_source.html b/releases/latest/cppdocs/a00221_source.html
index ac3d1a1..7c5e743 100644
--- a/releases/latest/cppdocs/a00221_source.html
+++ b/releases/latest/cppdocs/a00221_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00224_source.html b/releases/latest/cppdocs/a00224_source.html
index 2c9a68c..90f5cce 100644
--- a/releases/latest/cppdocs/a00224_source.html
+++ b/releases/latest/cppdocs/a00224_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00227.html b/releases/latest/cppdocs/a00227.html
index 07d0579..879bbf8 100644
--- a/releases/latest/cppdocs/a00227.html
+++ b/releases/latest/cppdocs/a00227.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00227_source.html b/releases/latest/cppdocs/a00227_source.html
index 81fad9a..2bc6806 100644
--- a/releases/latest/cppdocs/a00227_source.html
+++ b/releases/latest/cppdocs/a00227_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00230_source.html b/releases/latest/cppdocs/a00230_source.html
index ef4f489..9b78ced 100644
--- a/releases/latest/cppdocs/a00230_source.html
+++ b/releases/latest/cppdocs/a00230_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00233.html b/releases/latest/cppdocs/a00233.html
index b7c7f34..4c66598 100644
--- a/releases/latest/cppdocs/a00233.html
+++ b/releases/latest/cppdocs/a00233.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00233_source.html b/releases/latest/cppdocs/a00233_source.html
index 8b0908f..aeab40c 100644
--- a/releases/latest/cppdocs/a00233_source.html
+++ b/releases/latest/cppdocs/a00233_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00236_source.html b/releases/latest/cppdocs/a00236_source.html
index 96a1a6f..229ca36 100644
--- a/releases/latest/cppdocs/a00236_source.html
+++ b/releases/latest/cppdocs/a00236_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00239_source.html b/releases/latest/cppdocs/a00239_source.html
index bb4896a..0d6830c 100644
--- a/releases/latest/cppdocs/a00239_source.html
+++ b/releases/latest/cppdocs/a00239_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00242.html b/releases/latest/cppdocs/a00242.html
index b97908a..01d6c3b 100644
--- a/releases/latest/cppdocs/a00242.html
+++ b/releases/latest/cppdocs/a00242.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00242_source.html b/releases/latest/cppdocs/a00242_source.html
index 7abe131..7927c30 100644
--- a/releases/latest/cppdocs/a00242_source.html
+++ b/releases/latest/cppdocs/a00242_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00245.html b/releases/latest/cppdocs/a00245.html
index 0365165..e87eea4 100644
--- a/releases/latest/cppdocs/a00245.html
+++ b/releases/latest/cppdocs/a00245.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00245_source.html b/releases/latest/cppdocs/a00245_source.html
index 4780ca7..7509154 100644
--- a/releases/latest/cppdocs/a00245_source.html
+++ b/releases/latest/cppdocs/a00245_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00248.html b/releases/latest/cppdocs/a00248.html
index ef30760..e3f471e 100644
--- a/releases/latest/cppdocs/a00248.html
+++ b/releases/latest/cppdocs/a00248.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00248_source.html b/releases/latest/cppdocs/a00248_source.html
index 84178f9..25abd8d 100644
--- a/releases/latest/cppdocs/a00248_source.html
+++ b/releases/latest/cppdocs/a00248_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00251_source.html b/releases/latest/cppdocs/a00251_source.html
index 9b10ef7..fc9e62d 100644
--- a/releases/latest/cppdocs/a00251_source.html
+++ b/releases/latest/cppdocs/a00251_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00254_source.html b/releases/latest/cppdocs/a00254_source.html
index 1ebe390..c3c24ac 100644
--- a/releases/latest/cppdocs/a00254_source.html
+++ b/releases/latest/cppdocs/a00254_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00257_source.html b/releases/latest/cppdocs/a00257_source.html
index fcc4544..c544b99 100644
--- a/releases/latest/cppdocs/a00257_source.html
+++ b/releases/latest/cppdocs/a00257_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00260_source.html b/releases/latest/cppdocs/a00260_source.html
index acc086b..7ea38c2 100644
--- a/releases/latest/cppdocs/a00260_source.html
+++ b/releases/latest/cppdocs/a00260_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00263_source.html b/releases/latest/cppdocs/a00263_source.html
index 5cad162..03a0d2d 100644
--- a/releases/latest/cppdocs/a00263_source.html
+++ b/releases/latest/cppdocs/a00263_source.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00266.html b/releases/latest/cppdocs/a00266.html
index e1d7ad7..8bea163 100644
--- a/releases/latest/cppdocs/a00266.html
+++ b/releases/latest/cppdocs/a00266.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00275.html b/releases/latest/cppdocs/a00275.html
index e0ea871..8455a96 100644
--- a/releases/latest/cppdocs/a00275.html
+++ b/releases/latest/cppdocs/a00275.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00279.html b/releases/latest/cppdocs/a00279.html
index 9409bd5..0c98520 100644
--- a/releases/latest/cppdocs/a00279.html
+++ b/releases/latest/cppdocs/a00279.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00283.html b/releases/latest/cppdocs/a00283.html
index c60408d..b6bb8bc 100644
--- a/releases/latest/cppdocs/a00283.html
+++ b/releases/latest/cppdocs/a00283.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00287.html b/releases/latest/cppdocs/a00287.html
index 040703b..ad1b37c 100644
--- a/releases/latest/cppdocs/a00287.html
+++ b/releases/latest/cppdocs/a00287.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00291.html b/releases/latest/cppdocs/a00291.html
index 3733fed..5a5070c 100644
--- a/releases/latest/cppdocs/a00291.html
+++ b/releases/latest/cppdocs/a00291.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00295.html b/releases/latest/cppdocs/a00295.html
index e5aedd0..a6eb331 100644
--- a/releases/latest/cppdocs/a00295.html
+++ b/releases/latest/cppdocs/a00295.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00299.html b/releases/latest/cppdocs/a00299.html
index 2fc1245..0dda12b 100644
--- a/releases/latest/cppdocs/a00299.html
+++ b/releases/latest/cppdocs/a00299.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00303.html b/releases/latest/cppdocs/a00303.html
index fb2d9c8..2a153ea 100644
--- a/releases/latest/cppdocs/a00303.html
+++ b/releases/latest/cppdocs/a00303.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00307.html b/releases/latest/cppdocs/a00307.html
index 2145ccd..bcf1660 100644
--- a/releases/latest/cppdocs/a00307.html
+++ b/releases/latest/cppdocs/a00307.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00311.html b/releases/latest/cppdocs/a00311.html
index c21b87f..a2bd533 100644
--- a/releases/latest/cppdocs/a00311.html
+++ b/releases/latest/cppdocs/a00311.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00315.html b/releases/latest/cppdocs/a00315.html
index 4ee5143..31b3df4 100644
--- a/releases/latest/cppdocs/a00315.html
+++ b/releases/latest/cppdocs/a00315.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00319.html b/releases/latest/cppdocs/a00319.html
index 2a6229a..ba6a12a 100644
--- a/releases/latest/cppdocs/a00319.html
+++ b/releases/latest/cppdocs/a00319.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00323.html b/releases/latest/cppdocs/a00323.html
index 6287d61..0f27628 100644
--- a/releases/latest/cppdocs/a00323.html
+++ b/releases/latest/cppdocs/a00323.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00327.html b/releases/latest/cppdocs/a00327.html
index be758e4..7d3391b 100644
--- a/releases/latest/cppdocs/a00327.html
+++ b/releases/latest/cppdocs/a00327.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00331.html b/releases/latest/cppdocs/a00331.html
index 3c03b69..72259a0 100644
--- a/releases/latest/cppdocs/a00331.html
+++ b/releases/latest/cppdocs/a00331.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00335.html b/releases/latest/cppdocs/a00335.html
index 7d8f7af..ab9b94e 100644
--- a/releases/latest/cppdocs/a00335.html
+++ b/releases/latest/cppdocs/a00335.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00339.html b/releases/latest/cppdocs/a00339.html
index 88ce8f1..0c07eca 100644
--- a/releases/latest/cppdocs/a00339.html
+++ b/releases/latest/cppdocs/a00339.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00355.html b/releases/latest/cppdocs/a00355.html
index 6475d60..50365ac 100644
--- a/releases/latest/cppdocs/a00355.html
+++ b/releases/latest/cppdocs/a00355.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00359.html b/releases/latest/cppdocs/a00359.html
index bfd69a0..09d3553 100644
--- a/releases/latest/cppdocs/a00359.html
+++ b/releases/latest/cppdocs/a00359.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00367.html b/releases/latest/cppdocs/a00367.html
index 6bf7beb..b5fe853 100644
--- a/releases/latest/cppdocs/a00367.html
+++ b/releases/latest/cppdocs/a00367.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00371.html b/releases/latest/cppdocs/a00371.html
index 41d543c..98e721e 100644
--- a/releases/latest/cppdocs/a00371.html
+++ b/releases/latest/cppdocs/a00371.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00375.html b/releases/latest/cppdocs/a00375.html
index d33fe3a..179036a 100644
--- a/releases/latest/cppdocs/a00375.html
+++ b/releases/latest/cppdocs/a00375.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00379.html b/releases/latest/cppdocs/a00379.html
index b3b1ac0..5a10226 100644
--- a/releases/latest/cppdocs/a00379.html
+++ b/releases/latest/cppdocs/a00379.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00383.html b/releases/latest/cppdocs/a00383.html
index f4c08b5..faca2ec 100644
--- a/releases/latest/cppdocs/a00383.html
+++ b/releases/latest/cppdocs/a00383.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00387.html b/releases/latest/cppdocs/a00387.html
index 48392ca..b08064b 100644
--- a/releases/latest/cppdocs/a00387.html
+++ b/releases/latest/cppdocs/a00387.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00391.html b/releases/latest/cppdocs/a00391.html
index f3bb97d..4786d61 100644
--- a/releases/latest/cppdocs/a00391.html
+++ b/releases/latest/cppdocs/a00391.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00395.html b/releases/latest/cppdocs/a00395.html
index 74214ff..bb2ae4b 100644
--- a/releases/latest/cppdocs/a00395.html
+++ b/releases/latest/cppdocs/a00395.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00399.html b/releases/latest/cppdocs/a00399.html
index d1581d5..434747e 100644
--- a/releases/latest/cppdocs/a00399.html
+++ b/releases/latest/cppdocs/a00399.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00403.html b/releases/latest/cppdocs/a00403.html
index afe6ad4..5466c52 100644
--- a/releases/latest/cppdocs/a00403.html
+++ b/releases/latest/cppdocs/a00403.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00407.html b/releases/latest/cppdocs/a00407.html
index 544a9fc..51d9440 100644
--- a/releases/latest/cppdocs/a00407.html
+++ b/releases/latest/cppdocs/a00407.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00411.html b/releases/latest/cppdocs/a00411.html
index 24bc858..50dbb4f 100644
--- a/releases/latest/cppdocs/a00411.html
+++ b/releases/latest/cppdocs/a00411.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00415.html b/releases/latest/cppdocs/a00415.html
index df05e42..d74b8ba 100644
--- a/releases/latest/cppdocs/a00415.html
+++ b/releases/latest/cppdocs/a00415.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00419.html b/releases/latest/cppdocs/a00419.html
index 6fba85b..7ffa2e8 100644
--- a/releases/latest/cppdocs/a00419.html
+++ b/releases/latest/cppdocs/a00419.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00423.html b/releases/latest/cppdocs/a00423.html
index 0c4d3a9..53421ee 100644
--- a/releases/latest/cppdocs/a00423.html
+++ b/releases/latest/cppdocs/a00423.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00427.html b/releases/latest/cppdocs/a00427.html
index 4fd45ad..8f3d74a 100644
--- a/releases/latest/cppdocs/a00427.html
+++ b/releases/latest/cppdocs/a00427.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00431.html b/releases/latest/cppdocs/a00431.html
index dfb1a01..028f18c 100644
--- a/releases/latest/cppdocs/a00431.html
+++ b/releases/latest/cppdocs/a00431.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00435.html b/releases/latest/cppdocs/a00435.html
index 33a1397..7659f7a 100644
--- a/releases/latest/cppdocs/a00435.html
+++ b/releases/latest/cppdocs/a00435.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00439.html b/releases/latest/cppdocs/a00439.html
index baaf745..538d290 100644
--- a/releases/latest/cppdocs/a00439.html
+++ b/releases/latest/cppdocs/a00439.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00447.html b/releases/latest/cppdocs/a00447.html
index b7518a9..7a325d0 100644
--- a/releases/latest/cppdocs/a00447.html
+++ b/releases/latest/cppdocs/a00447.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00455.html b/releases/latest/cppdocs/a00455.html
index c1f9f58..a0e2af5 100644
--- a/releases/latest/cppdocs/a00455.html
+++ b/releases/latest/cppdocs/a00455.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00459.html b/releases/latest/cppdocs/a00459.html
index 5d436c1..ec6f099 100644
--- a/releases/latest/cppdocs/a00459.html
+++ b/releases/latest/cppdocs/a00459.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00463.html b/releases/latest/cppdocs/a00463.html
index 8439a8b..5f6b77a 100644
--- a/releases/latest/cppdocs/a00463.html
+++ b/releases/latest/cppdocs/a00463.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00467.html b/releases/latest/cppdocs/a00467.html
index 99c25f5..f752f40 100644
--- a/releases/latest/cppdocs/a00467.html
+++ b/releases/latest/cppdocs/a00467.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00471.html b/releases/latest/cppdocs/a00471.html
index 77e006c..581a25a 100644
--- a/releases/latest/cppdocs/a00471.html
+++ b/releases/latest/cppdocs/a00471.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00475.html b/releases/latest/cppdocs/a00475.html
index eb440e6..7932bfc 100644
--- a/releases/latest/cppdocs/a00475.html
+++ b/releases/latest/cppdocs/a00475.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00479.html b/releases/latest/cppdocs/a00479.html
index 0756856..dd97746 100644
--- a/releases/latest/cppdocs/a00479.html
+++ b/releases/latest/cppdocs/a00479.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00483.html b/releases/latest/cppdocs/a00483.html
index 57c9b72..b22e1f9 100644
--- a/releases/latest/cppdocs/a00483.html
+++ b/releases/latest/cppdocs/a00483.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00487.html b/releases/latest/cppdocs/a00487.html
index 7b8dc75..430dc65 100644
--- a/releases/latest/cppdocs/a00487.html
+++ b/releases/latest/cppdocs/a00487.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00491.html b/releases/latest/cppdocs/a00491.html
index d636738..cc5eef2 100644
--- a/releases/latest/cppdocs/a00491.html
+++ b/releases/latest/cppdocs/a00491.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00495.html b/releases/latest/cppdocs/a00495.html
index c8f65d7..58fec2b 100644
--- a/releases/latest/cppdocs/a00495.html
+++ b/releases/latest/cppdocs/a00495.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00499.html b/releases/latest/cppdocs/a00499.html
index f00d134..40f18e5 100644
--- a/releases/latest/cppdocs/a00499.html
+++ b/releases/latest/cppdocs/a00499.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00503.html b/releases/latest/cppdocs/a00503.html
index 59ac60c..7dca9bb 100644
--- a/releases/latest/cppdocs/a00503.html
+++ b/releases/latest/cppdocs/a00503.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00507.html b/releases/latest/cppdocs/a00507.html
index 6211694..53302e4 100644
--- a/releases/latest/cppdocs/a00507.html
+++ b/releases/latest/cppdocs/a00507.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00511.html b/releases/latest/cppdocs/a00511.html
index 1abe141..6462076 100644
--- a/releases/latest/cppdocs/a00511.html
+++ b/releases/latest/cppdocs/a00511.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00515.html b/releases/latest/cppdocs/a00515.html
index c031008..4d7c5d4 100644
--- a/releases/latest/cppdocs/a00515.html
+++ b/releases/latest/cppdocs/a00515.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00519.html b/releases/latest/cppdocs/a00519.html
index f295ef8..23c0363 100644
--- a/releases/latest/cppdocs/a00519.html
+++ b/releases/latest/cppdocs/a00519.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00523.html b/releases/latest/cppdocs/a00523.html
index b1da17e..7352968 100644
--- a/releases/latest/cppdocs/a00523.html
+++ b/releases/latest/cppdocs/a00523.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00527.html b/releases/latest/cppdocs/a00527.html
index 4e3e315..91fff6e 100644
--- a/releases/latest/cppdocs/a00527.html
+++ b/releases/latest/cppdocs/a00527.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00531.html b/releases/latest/cppdocs/a00531.html
index 9162678..30e3954 100644
--- a/releases/latest/cppdocs/a00531.html
+++ b/releases/latest/cppdocs/a00531.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00535.html b/releases/latest/cppdocs/a00535.html
index bbe4c6e..47dac71 100644
--- a/releases/latest/cppdocs/a00535.html
+++ b/releases/latest/cppdocs/a00535.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00539.html b/releases/latest/cppdocs/a00539.html
index f1fed64..1add054 100644
--- a/releases/latest/cppdocs/a00539.html
+++ b/releases/latest/cppdocs/a00539.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00543.html b/releases/latest/cppdocs/a00543.html
index 02e3a01..ae8d6d4 100644
--- a/releases/latest/cppdocs/a00543.html
+++ b/releases/latest/cppdocs/a00543.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00547.html b/releases/latest/cppdocs/a00547.html
index 61d7831..f887fde 100644
--- a/releases/latest/cppdocs/a00547.html
+++ b/releases/latest/cppdocs/a00547.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00551.html b/releases/latest/cppdocs/a00551.html
index 8a1654f..e42d3da 100644
--- a/releases/latest/cppdocs/a00551.html
+++ b/releases/latest/cppdocs/a00551.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00555.html b/releases/latest/cppdocs/a00555.html
index 2382e01..34e3d45 100644
--- a/releases/latest/cppdocs/a00555.html
+++ b/releases/latest/cppdocs/a00555.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00559.html b/releases/latest/cppdocs/a00559.html
index 38c4727..749e17e 100644
--- a/releases/latest/cppdocs/a00559.html
+++ b/releases/latest/cppdocs/a00559.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00563.html b/releases/latest/cppdocs/a00563.html
index f6f9138..98def25 100644
--- a/releases/latest/cppdocs/a00563.html
+++ b/releases/latest/cppdocs/a00563.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00567.html b/releases/latest/cppdocs/a00567.html
index c80481b..e33d1f8 100644
--- a/releases/latest/cppdocs/a00567.html
+++ b/releases/latest/cppdocs/a00567.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00571.html b/releases/latest/cppdocs/a00571.html
index d9a157c..ba6359f 100644
--- a/releases/latest/cppdocs/a00571.html
+++ b/releases/latest/cppdocs/a00571.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00575.html b/releases/latest/cppdocs/a00575.html
index 63a6b39..af24102 100644
--- a/releases/latest/cppdocs/a00575.html
+++ b/releases/latest/cppdocs/a00575.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00579.html b/releases/latest/cppdocs/a00579.html
index aca5aff..6d64318 100644
--- a/releases/latest/cppdocs/a00579.html
+++ b/releases/latest/cppdocs/a00579.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00583.html b/releases/latest/cppdocs/a00583.html
index 21ef1cd..9fb4bf0 100644
--- a/releases/latest/cppdocs/a00583.html
+++ b/releases/latest/cppdocs/a00583.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00587.html b/releases/latest/cppdocs/a00587.html
index 2f863a2..3861be3 100644
--- a/releases/latest/cppdocs/a00587.html
+++ b/releases/latest/cppdocs/a00587.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00591.html b/releases/latest/cppdocs/a00591.html
index cd46022..feea4ca 100644
--- a/releases/latest/cppdocs/a00591.html
+++ b/releases/latest/cppdocs/a00591.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00595.html b/releases/latest/cppdocs/a00595.html
index f5afc59..4aaa39b 100644
--- a/releases/latest/cppdocs/a00595.html
+++ b/releases/latest/cppdocs/a00595.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00599.html b/releases/latest/cppdocs/a00599.html
index 491e841..937033d 100644
--- a/releases/latest/cppdocs/a00599.html
+++ b/releases/latest/cppdocs/a00599.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00603.html b/releases/latest/cppdocs/a00603.html
index a43e393..af2932e 100644
--- a/releases/latest/cppdocs/a00603.html
+++ b/releases/latest/cppdocs/a00603.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00607.html b/releases/latest/cppdocs/a00607.html
index 8e46ae8..9dd5f59 100644
--- a/releases/latest/cppdocs/a00607.html
+++ b/releases/latest/cppdocs/a00607.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00611.html b/releases/latest/cppdocs/a00611.html
index e50b3d5..df12b68 100644
--- a/releases/latest/cppdocs/a00611.html
+++ b/releases/latest/cppdocs/a00611.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00615.html b/releases/latest/cppdocs/a00615.html
index 8cfe5a0..45dca26 100644
--- a/releases/latest/cppdocs/a00615.html
+++ b/releases/latest/cppdocs/a00615.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00619.html b/releases/latest/cppdocs/a00619.html
index 882b0e2..8396e3a 100644
--- a/releases/latest/cppdocs/a00619.html
+++ b/releases/latest/cppdocs/a00619.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00623.html b/releases/latest/cppdocs/a00623.html
index dbbe192..1dc6559 100644
--- a/releases/latest/cppdocs/a00623.html
+++ b/releases/latest/cppdocs/a00623.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00627.html b/releases/latest/cppdocs/a00627.html
index 6b0eacf..33f155a 100644
--- a/releases/latest/cppdocs/a00627.html
+++ b/releases/latest/cppdocs/a00627.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00631.html b/releases/latest/cppdocs/a00631.html
index f2476e0..e1ff773 100644
--- a/releases/latest/cppdocs/a00631.html
+++ b/releases/latest/cppdocs/a00631.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00635.html b/releases/latest/cppdocs/a00635.html
index c90cbb6..d76a211 100644
--- a/releases/latest/cppdocs/a00635.html
+++ b/releases/latest/cppdocs/a00635.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00639.html b/releases/latest/cppdocs/a00639.html
index 342b34a..06e92b0 100644
--- a/releases/latest/cppdocs/a00639.html
+++ b/releases/latest/cppdocs/a00639.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00643.html b/releases/latest/cppdocs/a00643.html
index 6afad6c..f1ebcd6 100644
--- a/releases/latest/cppdocs/a00643.html
+++ b/releases/latest/cppdocs/a00643.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00647.html b/releases/latest/cppdocs/a00647.html
index b7d51a0..ef86781 100644
--- a/releases/latest/cppdocs/a00647.html
+++ b/releases/latest/cppdocs/a00647.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00651.html b/releases/latest/cppdocs/a00651.html
index d67e7ca..0faed6d 100644
--- a/releases/latest/cppdocs/a00651.html
+++ b/releases/latest/cppdocs/a00651.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00655.html b/releases/latest/cppdocs/a00655.html
index 8b43108..942f276 100644
--- a/releases/latest/cppdocs/a00655.html
+++ b/releases/latest/cppdocs/a00655.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00659.html b/releases/latest/cppdocs/a00659.html
index 0d9b6d7..db9ecd3 100644
--- a/releases/latest/cppdocs/a00659.html
+++ b/releases/latest/cppdocs/a00659.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00663.html b/releases/latest/cppdocs/a00663.html
index f7630e9..850219d 100644
--- a/releases/latest/cppdocs/a00663.html
+++ b/releases/latest/cppdocs/a00663.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00667.html b/releases/latest/cppdocs/a00667.html
index c0aeedd..f4dea85 100644
--- a/releases/latest/cppdocs/a00667.html
+++ b/releases/latest/cppdocs/a00667.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00671.html b/releases/latest/cppdocs/a00671.html
index 3adc8a4..148b8b3 100644
--- a/releases/latest/cppdocs/a00671.html
+++ b/releases/latest/cppdocs/a00671.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00675.html b/releases/latest/cppdocs/a00675.html
index b3dc1e2..5f7d03a 100644
--- a/releases/latest/cppdocs/a00675.html
+++ b/releases/latest/cppdocs/a00675.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00679.html b/releases/latest/cppdocs/a00679.html
index 94112f1..6636f88 100644
--- a/releases/latest/cppdocs/a00679.html
+++ b/releases/latest/cppdocs/a00679.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00683.html b/releases/latest/cppdocs/a00683.html
index 98da139..ed908c5 100644
--- a/releases/latest/cppdocs/a00683.html
+++ b/releases/latest/cppdocs/a00683.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00687.html b/releases/latest/cppdocs/a00687.html
index 68561aa..41aecb5 100644
--- a/releases/latest/cppdocs/a00687.html
+++ b/releases/latest/cppdocs/a00687.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00691.html b/releases/latest/cppdocs/a00691.html
index 2396a55..9031809 100644
--- a/releases/latest/cppdocs/a00691.html
+++ b/releases/latest/cppdocs/a00691.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00695.html b/releases/latest/cppdocs/a00695.html
index 3f62500..935f540 100644
--- a/releases/latest/cppdocs/a00695.html
+++ b/releases/latest/cppdocs/a00695.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00699.html b/releases/latest/cppdocs/a00699.html
index b224007..e4003a3 100644
--- a/releases/latest/cppdocs/a00699.html
+++ b/releases/latest/cppdocs/a00699.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00703.html b/releases/latest/cppdocs/a00703.html
index 42058f1..a3a2cf5 100644
--- a/releases/latest/cppdocs/a00703.html
+++ b/releases/latest/cppdocs/a00703.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00707.html b/releases/latest/cppdocs/a00707.html
index 319bf57..01786a2 100644
--- a/releases/latest/cppdocs/a00707.html
+++ b/releases/latest/cppdocs/a00707.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00711.html b/releases/latest/cppdocs/a00711.html
index ee299b3..6e8feae 100644
--- a/releases/latest/cppdocs/a00711.html
+++ b/releases/latest/cppdocs/a00711.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00715.html b/releases/latest/cppdocs/a00715.html
index f58c85d..5fcb6f2 100644
--- a/releases/latest/cppdocs/a00715.html
+++ b/releases/latest/cppdocs/a00715.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00719.html b/releases/latest/cppdocs/a00719.html
index b95c3a8..11ba3a7 100644
--- a/releases/latest/cppdocs/a00719.html
+++ b/releases/latest/cppdocs/a00719.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00723.html b/releases/latest/cppdocs/a00723.html
index 7304c8b..3d834d4 100644
--- a/releases/latest/cppdocs/a00723.html
+++ b/releases/latest/cppdocs/a00723.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00727.html b/releases/latest/cppdocs/a00727.html
index 951dd97..20be98f 100644
--- a/releases/latest/cppdocs/a00727.html
+++ b/releases/latest/cppdocs/a00727.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00731.html b/releases/latest/cppdocs/a00731.html
index 6311651..d82c6fd 100644
--- a/releases/latest/cppdocs/a00731.html
+++ b/releases/latest/cppdocs/a00731.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00735.html b/releases/latest/cppdocs/a00735.html
index 64f5afb..05c9b3a 100644
--- a/releases/latest/cppdocs/a00735.html
+++ b/releases/latest/cppdocs/a00735.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00739.html b/releases/latest/cppdocs/a00739.html
index 54a33b3..6a4a83b 100644
--- a/releases/latest/cppdocs/a00739.html
+++ b/releases/latest/cppdocs/a00739.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00743.html b/releases/latest/cppdocs/a00743.html
index 2ae305a..191d437 100644
--- a/releases/latest/cppdocs/a00743.html
+++ b/releases/latest/cppdocs/a00743.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00747.html b/releases/latest/cppdocs/a00747.html
index f89f73f..c6f94fd 100644
--- a/releases/latest/cppdocs/a00747.html
+++ b/releases/latest/cppdocs/a00747.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00751.html b/releases/latest/cppdocs/a00751.html
index 5544772..34c12b7 100644
--- a/releases/latest/cppdocs/a00751.html
+++ b/releases/latest/cppdocs/a00751.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00755.html b/releases/latest/cppdocs/a00755.html
index 88b0da7..e065e4d 100644
--- a/releases/latest/cppdocs/a00755.html
+++ b/releases/latest/cppdocs/a00755.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00759.html b/releases/latest/cppdocs/a00759.html
index f301365..94b32d1 100644
--- a/releases/latest/cppdocs/a00759.html
+++ b/releases/latest/cppdocs/a00759.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00763.html b/releases/latest/cppdocs/a00763.html
index e370e8a..41f48f9 100644
--- a/releases/latest/cppdocs/a00763.html
+++ b/releases/latest/cppdocs/a00763.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00767.html b/releases/latest/cppdocs/a00767.html
index d7a92f2..cfe7d2b 100644
--- a/releases/latest/cppdocs/a00767.html
+++ b/releases/latest/cppdocs/a00767.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00771.html b/releases/latest/cppdocs/a00771.html
index 5ec72de..09bd353 100644
--- a/releases/latest/cppdocs/a00771.html
+++ b/releases/latest/cppdocs/a00771.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00775.html b/releases/latest/cppdocs/a00775.html
index 6534de3..3d4a8cd 100644
--- a/releases/latest/cppdocs/a00775.html
+++ b/releases/latest/cppdocs/a00775.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00779.html b/releases/latest/cppdocs/a00779.html
index aad6e3c..8c982dc 100644
--- a/releases/latest/cppdocs/a00779.html
+++ b/releases/latest/cppdocs/a00779.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00783.html b/releases/latest/cppdocs/a00783.html
index 4b938ee..8efb58b 100644
--- a/releases/latest/cppdocs/a00783.html
+++ b/releases/latest/cppdocs/a00783.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00787.html b/releases/latest/cppdocs/a00787.html
index a4d2819..6f16ec2 100644
--- a/releases/latest/cppdocs/a00787.html
+++ b/releases/latest/cppdocs/a00787.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00791.html b/releases/latest/cppdocs/a00791.html
index 1722521..2692773 100644
--- a/releases/latest/cppdocs/a00791.html
+++ b/releases/latest/cppdocs/a00791.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00795.html b/releases/latest/cppdocs/a00795.html
index 3d07932..1beb26a 100644
--- a/releases/latest/cppdocs/a00795.html
+++ b/releases/latest/cppdocs/a00795.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00799.html b/releases/latest/cppdocs/a00799.html
index 3acd0df..4752c49 100644
--- a/releases/latest/cppdocs/a00799.html
+++ b/releases/latest/cppdocs/a00799.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00807.html b/releases/latest/cppdocs/a00807.html
index 6968210..4c47d5f 100644
--- a/releases/latest/cppdocs/a00807.html
+++ b/releases/latest/cppdocs/a00807.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00811.html b/releases/latest/cppdocs/a00811.html
index 71efcb4..ca78a2d 100644
--- a/releases/latest/cppdocs/a00811.html
+++ b/releases/latest/cppdocs/a00811.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00815.html b/releases/latest/cppdocs/a00815.html
index ac8f9bb..5e2a5dd 100644
--- a/releases/latest/cppdocs/a00815.html
+++ b/releases/latest/cppdocs/a00815.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00819.html b/releases/latest/cppdocs/a00819.html
index 31765a3..70e1a9f 100644
--- a/releases/latest/cppdocs/a00819.html
+++ b/releases/latest/cppdocs/a00819.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00823.html b/releases/latest/cppdocs/a00823.html
index 95419f0..bb417ce 100644
--- a/releases/latest/cppdocs/a00823.html
+++ b/releases/latest/cppdocs/a00823.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00827.html b/releases/latest/cppdocs/a00827.html
index c24d4b6..5f6ce10 100644
--- a/releases/latest/cppdocs/a00827.html
+++ b/releases/latest/cppdocs/a00827.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00831.html b/releases/latest/cppdocs/a00831.html
index 727dca0..75a442d 100644
--- a/releases/latest/cppdocs/a00831.html
+++ b/releases/latest/cppdocs/a00831.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00835.html b/releases/latest/cppdocs/a00835.html
index a481e20..e15c8d2 100644
--- a/releases/latest/cppdocs/a00835.html
+++ b/releases/latest/cppdocs/a00835.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00839.html b/releases/latest/cppdocs/a00839.html
index 94ca17f..e450497 100644
--- a/releases/latest/cppdocs/a00839.html
+++ b/releases/latest/cppdocs/a00839.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00843.html b/releases/latest/cppdocs/a00843.html
index df5c5ce..79978bf 100644
--- a/releases/latest/cppdocs/a00843.html
+++ b/releases/latest/cppdocs/a00843.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00847.html b/releases/latest/cppdocs/a00847.html
index e55900c..e946827 100644
--- a/releases/latest/cppdocs/a00847.html
+++ b/releases/latest/cppdocs/a00847.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00851.html b/releases/latest/cppdocs/a00851.html
index 79e1ac1..08a2075 100644
--- a/releases/latest/cppdocs/a00851.html
+++ b/releases/latest/cppdocs/a00851.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00855.html b/releases/latest/cppdocs/a00855.html
index c078dab..776d346 100644
--- a/releases/latest/cppdocs/a00855.html
+++ b/releases/latest/cppdocs/a00855.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00859.html b/releases/latest/cppdocs/a00859.html
index ed211d3..51cc7cf 100644
--- a/releases/latest/cppdocs/a00859.html
+++ b/releases/latest/cppdocs/a00859.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00863.html b/releases/latest/cppdocs/a00863.html
index 827165f..8ebbbec 100644
--- a/releases/latest/cppdocs/a00863.html
+++ b/releases/latest/cppdocs/a00863.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00867.html b/releases/latest/cppdocs/a00867.html
index 1b3b5f3..2571de2 100644
--- a/releases/latest/cppdocs/a00867.html
+++ b/releases/latest/cppdocs/a00867.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00871.html b/releases/latest/cppdocs/a00871.html
index 176c45d..2b393e8 100644
--- a/releases/latest/cppdocs/a00871.html
+++ b/releases/latest/cppdocs/a00871.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00875.html b/releases/latest/cppdocs/a00875.html
index abc3e31..a8121e0 100644
--- a/releases/latest/cppdocs/a00875.html
+++ b/releases/latest/cppdocs/a00875.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00879.html b/releases/latest/cppdocs/a00879.html
index 3b5c586..ae9114f 100644
--- a/releases/latest/cppdocs/a00879.html
+++ b/releases/latest/cppdocs/a00879.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00883.html b/releases/latest/cppdocs/a00883.html
index c6deccb..d7d55d6 100644
--- a/releases/latest/cppdocs/a00883.html
+++ b/releases/latest/cppdocs/a00883.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00887.html b/releases/latest/cppdocs/a00887.html
index c7a48c4..609926b 100644
--- a/releases/latest/cppdocs/a00887.html
+++ b/releases/latest/cppdocs/a00887.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00891.html b/releases/latest/cppdocs/a00891.html
index a0a33c2..194ab9f 100644
--- a/releases/latest/cppdocs/a00891.html
+++ b/releases/latest/cppdocs/a00891.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00895.html b/releases/latest/cppdocs/a00895.html
index c700089..0ae0563 100644
--- a/releases/latest/cppdocs/a00895.html
+++ b/releases/latest/cppdocs/a00895.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/a00899.html b/releases/latest/cppdocs/a00899.html
index 5c02e41..472231b 100644
--- a/releases/latest/cppdocs/a00899.html
+++ b/releases/latest/cppdocs/a00899.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/annotated.html b/releases/latest/cppdocs/annotated.html
index 8cfc00c..8955418 100644
--- a/releases/latest/cppdocs/annotated.html
+++ b/releases/latest/cppdocs/annotated.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/classes.html b/releases/latest/cppdocs/classes.html
index 41d7697..4edc05d 100644
--- a/releases/latest/cppdocs/classes.html
+++ b/releases/latest/cppdocs/classes.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/dir_0783dd080599fdc38753397524587ce5.html b/releases/latest/cppdocs/dir_0783dd080599fdc38753397524587ce5.html
index e3f2f5b..27859c9 100644
--- a/releases/latest/cppdocs/dir_0783dd080599fdc38753397524587ce5.html
+++ b/releases/latest/cppdocs/dir_0783dd080599fdc38753397524587ce5.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/dir_25ec139951c9ea396eef0eac88dcfea8.html b/releases/latest/cppdocs/dir_25ec139951c9ea396eef0eac88dcfea8.html
index 59399a6..a8dae33 100644
--- a/releases/latest/cppdocs/dir_25ec139951c9ea396eef0eac88dcfea8.html
+++ b/releases/latest/cppdocs/dir_25ec139951c9ea396eef0eac88dcfea8.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/dir_9de4e68f59b6257a4e7d303602c7337b.html b/releases/latest/cppdocs/dir_9de4e68f59b6257a4e7d303602c7337b.html
index 05d934c..6e32887 100644
--- a/releases/latest/cppdocs/dir_9de4e68f59b6257a4e7d303602c7337b.html
+++ b/releases/latest/cppdocs/dir_9de4e68f59b6257a4e7d303602c7337b.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/dir_d51407e9eaa4ea942d01904b9343f2f6.html b/releases/latest/cppdocs/dir_d51407e9eaa4ea942d01904b9343f2f6.html
index 18b36a4..598f18c 100644
--- a/releases/latest/cppdocs/dir_d51407e9eaa4ea942d01904b9343f2f6.html
+++ b/releases/latest/cppdocs/dir_d51407e9eaa4ea942d01904b9343f2f6.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/files.html b/releases/latest/cppdocs/files.html
index 163d134..5c7d7d7 100644
--- a/releases/latest/cppdocs/files.html
+++ b/releases/latest/cppdocs/files.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions.html b/releases/latest/cppdocs/functions.html
index c80118a..2b60877 100644
--- a/releases/latest/cppdocs/functions.html
+++ b/releases/latest/cppdocs/functions.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_b.html b/releases/latest/cppdocs/functions_b.html
index 4a60fec..5515dae 100644
--- a/releases/latest/cppdocs/functions_b.html
+++ b/releases/latest/cppdocs/functions_b.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_c.html b/releases/latest/cppdocs/functions_c.html
index e47fc2d..e596a57 100644
--- a/releases/latest/cppdocs/functions_c.html
+++ b/releases/latest/cppdocs/functions_c.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_d.html b/releases/latest/cppdocs/functions_d.html
index 2562c17..340fe08 100644
--- a/releases/latest/cppdocs/functions_d.html
+++ b/releases/latest/cppdocs/functions_d.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_e.html b/releases/latest/cppdocs/functions_e.html
index 3e4ee5f..3b12767 100644
--- a/releases/latest/cppdocs/functions_e.html
+++ b/releases/latest/cppdocs/functions_e.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_f.html b/releases/latest/cppdocs/functions_f.html
index b9f0197..a898fc3 100644
--- a/releases/latest/cppdocs/functions_f.html
+++ b/releases/latest/cppdocs/functions_f.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func.html b/releases/latest/cppdocs/functions_func.html
index 4520a18..a3ac1df 100644
--- a/releases/latest/cppdocs/functions_func.html
+++ b/releases/latest/cppdocs/functions_func.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_b.html b/releases/latest/cppdocs/functions_func_b.html
index a325ec3..9ed08d5 100644
--- a/releases/latest/cppdocs/functions_func_b.html
+++ b/releases/latest/cppdocs/functions_func_b.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_c.html b/releases/latest/cppdocs/functions_func_c.html
index 454efec..aa3c0c0 100644
--- a/releases/latest/cppdocs/functions_func_c.html
+++ b/releases/latest/cppdocs/functions_func_c.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_d.html b/releases/latest/cppdocs/functions_func_d.html
index 6dd44c3..4c11584 100644
--- a/releases/latest/cppdocs/functions_func_d.html
+++ b/releases/latest/cppdocs/functions_func_d.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_e.html b/releases/latest/cppdocs/functions_func_e.html
index dafb446..db706cb 100644
--- a/releases/latest/cppdocs/functions_func_e.html
+++ b/releases/latest/cppdocs/functions_func_e.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_f.html b/releases/latest/cppdocs/functions_func_f.html
index 23e03a7..d5a7348 100644
--- a/releases/latest/cppdocs/functions_func_f.html
+++ b/releases/latest/cppdocs/functions_func_f.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_g.html b/releases/latest/cppdocs/functions_func_g.html
index c292186..f1442e5 100644
--- a/releases/latest/cppdocs/functions_func_g.html
+++ b/releases/latest/cppdocs/functions_func_g.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_h.html b/releases/latest/cppdocs/functions_func_h.html
index ee0c500..d8d51bf 100644
--- a/releases/latest/cppdocs/functions_func_h.html
+++ b/releases/latest/cppdocs/functions_func_h.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_i.html b/releases/latest/cppdocs/functions_func_i.html
index c7ae224..2a93eef 100644
--- a/releases/latest/cppdocs/functions_func_i.html
+++ b/releases/latest/cppdocs/functions_func_i.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_k.html b/releases/latest/cppdocs/functions_func_k.html
index f3da777..d7889e4 100644
--- a/releases/latest/cppdocs/functions_func_k.html
+++ b/releases/latest/cppdocs/functions_func_k.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_l.html b/releases/latest/cppdocs/functions_func_l.html
index 77b4ad9..2b74603 100644
--- a/releases/latest/cppdocs/functions_func_l.html
+++ b/releases/latest/cppdocs/functions_func_l.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_m.html b/releases/latest/cppdocs/functions_func_m.html
index 80dfe6e..ccde9ed 100644
--- a/releases/latest/cppdocs/functions_func_m.html
+++ b/releases/latest/cppdocs/functions_func_m.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_n.html b/releases/latest/cppdocs/functions_func_n.html
index 6669d3a..b9ddb37 100644
--- a/releases/latest/cppdocs/functions_func_n.html
+++ b/releases/latest/cppdocs/functions_func_n.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_o.html b/releases/latest/cppdocs/functions_func_o.html
index 3cbd4ca..3b60d93 100644
--- a/releases/latest/cppdocs/functions_func_o.html
+++ b/releases/latest/cppdocs/functions_func_o.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_p.html b/releases/latest/cppdocs/functions_func_p.html
index 1b84523..b8e7d00 100644
--- a/releases/latest/cppdocs/functions_func_p.html
+++ b/releases/latest/cppdocs/functions_func_p.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_q.html b/releases/latest/cppdocs/functions_func_q.html
index a93700e..a7e5dc5 100644
--- a/releases/latest/cppdocs/functions_func_q.html
+++ b/releases/latest/cppdocs/functions_func_q.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_r.html b/releases/latest/cppdocs/functions_func_r.html
index 6bcd55e..b0de106 100644
--- a/releases/latest/cppdocs/functions_func_r.html
+++ b/releases/latest/cppdocs/functions_func_r.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_s.html b/releases/latest/cppdocs/functions_func_s.html
index 50cd238..743c7e9 100644
--- a/releases/latest/cppdocs/functions_func_s.html
+++ b/releases/latest/cppdocs/functions_func_s.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_t.html b/releases/latest/cppdocs/functions_func_t.html
index a76d4cd..3e50f21 100644
--- a/releases/latest/cppdocs/functions_func_t.html
+++ b/releases/latest/cppdocs/functions_func_t.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_u.html b/releases/latest/cppdocs/functions_func_u.html
index 6808f0a..79e8cb1 100644
--- a/releases/latest/cppdocs/functions_func_u.html
+++ b/releases/latest/cppdocs/functions_func_u.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_v.html b/releases/latest/cppdocs/functions_func_v.html
index 706a299..0d68031 100644
--- a/releases/latest/cppdocs/functions_func_v.html
+++ b/releases/latest/cppdocs/functions_func_v.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_w.html b/releases/latest/cppdocs/functions_func_w.html
index a221236..67c298f 100644
--- a/releases/latest/cppdocs/functions_func_w.html
+++ b/releases/latest/cppdocs/functions_func_w.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_func_~.html b/releases/latest/cppdocs/functions_func_~.html
index c14e49b..9bab814 100644
--- a/releases/latest/cppdocs/functions_func_~.html
+++ b/releases/latest/cppdocs/functions_func_~.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_g.html b/releases/latest/cppdocs/functions_g.html
index 0caad86..600ce6c 100644
--- a/releases/latest/cppdocs/functions_g.html
+++ b/releases/latest/cppdocs/functions_g.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_h.html b/releases/latest/cppdocs/functions_h.html
index 310a6dc..f0d737d 100644
--- a/releases/latest/cppdocs/functions_h.html
+++ b/releases/latest/cppdocs/functions_h.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_i.html b/releases/latest/cppdocs/functions_i.html
index 74f1b37..077fec8 100644
--- a/releases/latest/cppdocs/functions_i.html
+++ b/releases/latest/cppdocs/functions_i.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_k.html b/releases/latest/cppdocs/functions_k.html
index d768746..9f73ffc 100644
--- a/releases/latest/cppdocs/functions_k.html
+++ b/releases/latest/cppdocs/functions_k.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_l.html b/releases/latest/cppdocs/functions_l.html
index a85181b..ab5767f 100644
--- a/releases/latest/cppdocs/functions_l.html
+++ b/releases/latest/cppdocs/functions_l.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_m.html b/releases/latest/cppdocs/functions_m.html
index 1bc0dc3..1e08d22 100644
--- a/releases/latest/cppdocs/functions_m.html
+++ b/releases/latest/cppdocs/functions_m.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_n.html b/releases/latest/cppdocs/functions_n.html
index 764bddc..8846e7c 100644
--- a/releases/latest/cppdocs/functions_n.html
+++ b/releases/latest/cppdocs/functions_n.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_o.html b/releases/latest/cppdocs/functions_o.html
index 76e21a3..7368259 100644
--- a/releases/latest/cppdocs/functions_o.html
+++ b/releases/latest/cppdocs/functions_o.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_p.html b/releases/latest/cppdocs/functions_p.html
index f6789af..4fa9970 100644
--- a/releases/latest/cppdocs/functions_p.html
+++ b/releases/latest/cppdocs/functions_p.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_q.html b/releases/latest/cppdocs/functions_q.html
index 2a1386b..79aab0e 100644
--- a/releases/latest/cppdocs/functions_q.html
+++ b/releases/latest/cppdocs/functions_q.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_r.html b/releases/latest/cppdocs/functions_r.html
index 8acbf3d..0b91f2d 100644
--- a/releases/latest/cppdocs/functions_r.html
+++ b/releases/latest/cppdocs/functions_r.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_s.html b/releases/latest/cppdocs/functions_s.html
index 4332f4a..ccb9cea 100644
--- a/releases/latest/cppdocs/functions_s.html
+++ b/releases/latest/cppdocs/functions_s.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_t.html b/releases/latest/cppdocs/functions_t.html
index eec37e4..453efb1 100644
--- a/releases/latest/cppdocs/functions_t.html
+++ b/releases/latest/cppdocs/functions_t.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_type.html b/releases/latest/cppdocs/functions_type.html
index ce4f25e..15cf161 100644
--- a/releases/latest/cppdocs/functions_type.html
+++ b/releases/latest/cppdocs/functions_type.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_u.html b/releases/latest/cppdocs/functions_u.html
index d39a75b..3df4c68 100644
--- a/releases/latest/cppdocs/functions_u.html
+++ b/releases/latest/cppdocs/functions_u.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_v.html b/releases/latest/cppdocs/functions_v.html
index e9a3dea..512e189 100644
--- a/releases/latest/cppdocs/functions_v.html
+++ b/releases/latest/cppdocs/functions_v.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_vars.html b/releases/latest/cppdocs/functions_vars.html
index d2175dd..74eaa2a 100644
--- a/releases/latest/cppdocs/functions_vars.html
+++ b/releases/latest/cppdocs/functions_vars.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_w.html b/releases/latest/cppdocs/functions_w.html
index 4a1a5e1..2234528 100644
--- a/releases/latest/cppdocs/functions_w.html
+++ b/releases/latest/cppdocs/functions_w.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/functions_~.html b/releases/latest/cppdocs/functions_~.html
index 52b8511..9d09df4 100644
--- a/releases/latest/cppdocs/functions_~.html
+++ b/releases/latest/cppdocs/functions_~.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/hierarchy.html b/releases/latest/cppdocs/hierarchy.html
index d93f7f8..da54794 100644
--- a/releases/latest/cppdocs/hierarchy.html
+++ b/releases/latest/cppdocs/hierarchy.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/index.html b/releases/latest/cppdocs/index.html
index b53ee91..d79ae84 100644
--- a/releases/latest/cppdocs/index.html
+++ b/releases/latest/cppdocs/index.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/pages.html b/releases/latest/cppdocs/pages.html
index e5da75a..a132b5a 100644
--- a/releases/latest/cppdocs/pages.html
+++ b/releases/latest/cppdocs/pages.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native C++ Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/cppdocs/search/enums_0.html b/releases/latest/cppdocs/search/enums_0.html
new file mode 100644
index 0000000..7040a9c
--- /dev/null
+++ b/releases/latest/cppdocs/search/enums_0.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.15"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_0.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/releases/latest/cppdocs/search/enums_0.js b/releases/latest/cppdocs/search/enums_0.js
new file mode 100644
index 0000000..2df9dad
--- /dev/null
+++ b/releases/latest/cppdocs/search/enums_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['cqstate',['CqState',['../a00095.html#aa532d841e6ee7cfa7f71dc37c551c71f',1,'apache::geode::client']]]
+];
diff --git a/releases/latest/cppdocs/search/enums_1.html b/releases/latest/cppdocs/search/enums_1.html
new file mode 100644
index 0000000..0c65c0e
--- /dev/null
+++ b/releases/latest/cppdocs/search/enums_1.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.15"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_1.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/releases/latest/cppdocs/search/enums_1.js b/releases/latest/cppdocs/search/enums_1.js
new file mode 100644
index 0000000..5ece928
--- /dev/null
+++ b/releases/latest/cppdocs/search/enums_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['diskpolicytype',['DiskPolicyType',['../a00119.html#ac8bc1cb45b3cece3d7e8b998f868bd56',1,'apache::geode::client']]]
+];
diff --git a/releases/latest/cppdocs/search/enums_2.html b/releases/latest/cppdocs/search/enums_2.html
new file mode 100644
index 0000000..4250446
--- /dev/null
+++ b/releases/latest/cppdocs/search/enums_2.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.15"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="enums_2.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+createResults();
+/* @license-end */
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+/* @license-end */
+--></script>
+</div>
+</body>
+</html>
diff --git a/releases/latest/cppdocs/search/enums_2.js b/releases/latest/cppdocs/search/enums_2.js
new file mode 100644
index 0000000..6b0d3cc
--- /dev/null
+++ b/releases/latest/cppdocs/search/enums_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['expirationaction',['ExpirationAction',['../a00134.html#a64074a351a25bec6bb150cd04c85352f',1,'apache::geode::client']]]
+];
diff --git a/releases/latest/dotnetdocs/a00014.html b/releases/latest/dotnetdocs/a00014.html
index 413831f..007e21a 100644
--- a/releases/latest/dotnetdocs/a00014.html
+++ b/releases/latest/dotnetdocs/a00014.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00020.html b/releases/latest/dotnetdocs/a00020.html
index 39f5c96..03d6359 100644
--- a/releases/latest/dotnetdocs/a00020.html
+++ b/releases/latest/dotnetdocs/a00020.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00026.html b/releases/latest/dotnetdocs/a00026.html
index ecb022d..2ce902b 100644
--- a/releases/latest/dotnetdocs/a00026.html
+++ b/releases/latest/dotnetdocs/a00026.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00029.html b/releases/latest/dotnetdocs/a00029.html
index 6bf1f6d..a0aff09 100644
--- a/releases/latest/dotnetdocs/a00029.html
+++ b/releases/latest/dotnetdocs/a00029.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00032.html b/releases/latest/dotnetdocs/a00032.html
index 4953006..fd2f103 100644
--- a/releases/latest/dotnetdocs/a00032.html
+++ b/releases/latest/dotnetdocs/a00032.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00035.html b/releases/latest/dotnetdocs/a00035.html
index a1fa61f..8819e3b 100644
--- a/releases/latest/dotnetdocs/a00035.html
+++ b/releases/latest/dotnetdocs/a00035.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00038.html b/releases/latest/dotnetdocs/a00038.html
index 61147b0..28293c7 100644
--- a/releases/latest/dotnetdocs/a00038.html
+++ b/releases/latest/dotnetdocs/a00038.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00047.html b/releases/latest/dotnetdocs/a00047.html
index a4414ed..73fb2e4 100644
--- a/releases/latest/dotnetdocs/a00047.html
+++ b/releases/latest/dotnetdocs/a00047.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00053.html b/releases/latest/dotnetdocs/a00053.html
index 5ce6fdf..ef198ca 100644
--- a/releases/latest/dotnetdocs/a00053.html
+++ b/releases/latest/dotnetdocs/a00053.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00059.html b/releases/latest/dotnetdocs/a00059.html
index 2801482..b228d2c 100644
--- a/releases/latest/dotnetdocs/a00059.html
+++ b/releases/latest/dotnetdocs/a00059.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00065.html b/releases/latest/dotnetdocs/a00065.html
index 0bc8ecc..0fc4dd9 100644
--- a/releases/latest/dotnetdocs/a00065.html
+++ b/releases/latest/dotnetdocs/a00065.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00068.html b/releases/latest/dotnetdocs/a00068.html
index 2c995ad..7e5e398 100644
--- a/releases/latest/dotnetdocs/a00068.html
+++ b/releases/latest/dotnetdocs/a00068.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00071.html b/releases/latest/dotnetdocs/a00071.html
index 5887015..44abb9d 100644
--- a/releases/latest/dotnetdocs/a00071.html
+++ b/releases/latest/dotnetdocs/a00071.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00074.html b/releases/latest/dotnetdocs/a00074.html
index 4fff8fc..d102581 100644
--- a/releases/latest/dotnetdocs/a00074.html
+++ b/releases/latest/dotnetdocs/a00074.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00077.html b/releases/latest/dotnetdocs/a00077.html
index 09c5509..4e25b5b 100644
--- a/releases/latest/dotnetdocs/a00077.html
+++ b/releases/latest/dotnetdocs/a00077.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00083.html b/releases/latest/dotnetdocs/a00083.html
index c62221d..4bcf09a 100644
--- a/releases/latest/dotnetdocs/a00083.html
+++ b/releases/latest/dotnetdocs/a00083.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00119.html b/releases/latest/dotnetdocs/a00119.html
index ddf236d..e124ecf 100644
--- a/releases/latest/dotnetdocs/a00119.html
+++ b/releases/latest/dotnetdocs/a00119.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00122.html b/releases/latest/dotnetdocs/a00122.html
index 921d6ce..cc1dd2b 100644
--- a/releases/latest/dotnetdocs/a00122.html
+++ b/releases/latest/dotnetdocs/a00122.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00125.html b/releases/latest/dotnetdocs/a00125.html
index 4eff90c..e90b23e 100644
--- a/releases/latest/dotnetdocs/a00125.html
+++ b/releases/latest/dotnetdocs/a00125.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00128.html b/releases/latest/dotnetdocs/a00128.html
index d5b863b..3ce5bfc 100644
--- a/releases/latest/dotnetdocs/a00128.html
+++ b/releases/latest/dotnetdocs/a00128.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00134.html b/releases/latest/dotnetdocs/a00134.html
index 8bb0372..1e0eb35 100644
--- a/releases/latest/dotnetdocs/a00134.html
+++ b/releases/latest/dotnetdocs/a00134.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00137.html b/releases/latest/dotnetdocs/a00137.html
index 3a949ae..c6e981e 100644
--- a/releases/latest/dotnetdocs/a00137.html
+++ b/releases/latest/dotnetdocs/a00137.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00143.html b/releases/latest/dotnetdocs/a00143.html
index 0dbe481..be86258 100644
--- a/releases/latest/dotnetdocs/a00143.html
+++ b/releases/latest/dotnetdocs/a00143.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00149.html b/releases/latest/dotnetdocs/a00149.html
index 1d44aa7..6cf1f32 100644
--- a/releases/latest/dotnetdocs/a00149.html
+++ b/releases/latest/dotnetdocs/a00149.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00152.html b/releases/latest/dotnetdocs/a00152.html
index 326a445..7488aad 100644
--- a/releases/latest/dotnetdocs/a00152.html
+++ b/releases/latest/dotnetdocs/a00152.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00161.html b/releases/latest/dotnetdocs/a00161.html
index 2747225..b37c2de 100644
--- a/releases/latest/dotnetdocs/a00161.html
+++ b/releases/latest/dotnetdocs/a00161.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00164.html b/releases/latest/dotnetdocs/a00164.html
index b0ca8b8..de575de 100644
--- a/releases/latest/dotnetdocs/a00164.html
+++ b/releases/latest/dotnetdocs/a00164.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00167.html b/releases/latest/dotnetdocs/a00167.html
index 29074ba..570d204 100644
--- a/releases/latest/dotnetdocs/a00167.html
+++ b/releases/latest/dotnetdocs/a00167.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00170.html b/releases/latest/dotnetdocs/a00170.html
index f9e3552..38a4b1c 100644
--- a/releases/latest/dotnetdocs/a00170.html
+++ b/releases/latest/dotnetdocs/a00170.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00185.html b/releases/latest/dotnetdocs/a00185.html
index 4f50b17..1f25e51 100644
--- a/releases/latest/dotnetdocs/a00185.html
+++ b/releases/latest/dotnetdocs/a00185.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00203.html b/releases/latest/dotnetdocs/a00203.html
index 230a277..2e7c31b 100644
--- a/releases/latest/dotnetdocs/a00203.html
+++ b/releases/latest/dotnetdocs/a00203.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00206.html b/releases/latest/dotnetdocs/a00206.html
index 901f936..da5d3f9 100644
--- a/releases/latest/dotnetdocs/a00206.html
+++ b/releases/latest/dotnetdocs/a00206.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00209.html b/releases/latest/dotnetdocs/a00209.html
index 06c6661..ca8e521 100644
--- a/releases/latest/dotnetdocs/a00209.html
+++ b/releases/latest/dotnetdocs/a00209.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00236.html b/releases/latest/dotnetdocs/a00236.html
index 7befc15..4a24d2a 100644
--- a/releases/latest/dotnetdocs/a00236.html
+++ b/releases/latest/dotnetdocs/a00236.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00242.html b/releases/latest/dotnetdocs/a00242.html
index f06433f..7c0b74f 100644
--- a/releases/latest/dotnetdocs/a00242.html
+++ b/releases/latest/dotnetdocs/a00242.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00248.html b/releases/latest/dotnetdocs/a00248.html
index 4bd13bc..91dace6 100644
--- a/releases/latest/dotnetdocs/a00248.html
+++ b/releases/latest/dotnetdocs/a00248.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00251.html b/releases/latest/dotnetdocs/a00251.html
index 0579663..7edd55c 100644
--- a/releases/latest/dotnetdocs/a00251.html
+++ b/releases/latest/dotnetdocs/a00251.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00269.html b/releases/latest/dotnetdocs/a00269.html
index 0bcf04a..273f74c 100644
--- a/releases/latest/dotnetdocs/a00269.html
+++ b/releases/latest/dotnetdocs/a00269.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00302.html b/releases/latest/dotnetdocs/a00302.html
index 4153240..7623a95 100644
--- a/releases/latest/dotnetdocs/a00302.html
+++ b/releases/latest/dotnetdocs/a00302.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00305.html b/releases/latest/dotnetdocs/a00305.html
index d48cb9c..24a34ef 100644
--- a/releases/latest/dotnetdocs/a00305.html
+++ b/releases/latest/dotnetdocs/a00305.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00308.html b/releases/latest/dotnetdocs/a00308.html
index 71d00bb..8d67df2 100644
--- a/releases/latest/dotnetdocs/a00308.html
+++ b/releases/latest/dotnetdocs/a00308.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00314.html b/releases/latest/dotnetdocs/a00314.html
index 8bc0cd9..66248d7 100644
--- a/releases/latest/dotnetdocs/a00314.html
+++ b/releases/latest/dotnetdocs/a00314.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00320.html b/releases/latest/dotnetdocs/a00320.html
index ad02053..cd8221d 100644
--- a/releases/latest/dotnetdocs/a00320.html
+++ b/releases/latest/dotnetdocs/a00320.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00323.html b/releases/latest/dotnetdocs/a00323.html
index c120825..1dfcfe3 100644
--- a/releases/latest/dotnetdocs/a00323.html
+++ b/releases/latest/dotnetdocs/a00323.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00326.html b/releases/latest/dotnetdocs/a00326.html
index e8fdacf..098b14a 100644
--- a/releases/latest/dotnetdocs/a00326.html
+++ b/releases/latest/dotnetdocs/a00326.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00332.html b/releases/latest/dotnetdocs/a00332.html
index 9063895..7c53f45 100644
--- a/releases/latest/dotnetdocs/a00332.html
+++ b/releases/latest/dotnetdocs/a00332.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00338.html b/releases/latest/dotnetdocs/a00338.html
index 609095d..eb9537b 100644
--- a/releases/latest/dotnetdocs/a00338.html
+++ b/releases/latest/dotnetdocs/a00338.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00341.html b/releases/latest/dotnetdocs/a00341.html
index 64d79bd..3a7a0a6 100644
--- a/releases/latest/dotnetdocs/a00341.html
+++ b/releases/latest/dotnetdocs/a00341.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00344.html b/releases/latest/dotnetdocs/a00344.html
index 2959826..40ac8dc 100644
--- a/releases/latest/dotnetdocs/a00344.html
+++ b/releases/latest/dotnetdocs/a00344.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00347.html b/releases/latest/dotnetdocs/a00347.html
index 2c3da49..2c3950b 100644
--- a/releases/latest/dotnetdocs/a00347.html
+++ b/releases/latest/dotnetdocs/a00347.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00350.html b/releases/latest/dotnetdocs/a00350.html
index 8668f91..09b99d7 100644
--- a/releases/latest/dotnetdocs/a00350.html
+++ b/releases/latest/dotnetdocs/a00350.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00353.html b/releases/latest/dotnetdocs/a00353.html
index 5be0d54..24349a5 100644
--- a/releases/latest/dotnetdocs/a00353.html
+++ b/releases/latest/dotnetdocs/a00353.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00374.html b/releases/latest/dotnetdocs/a00374.html
index 538e7ab..dec22d3 100644
--- a/releases/latest/dotnetdocs/a00374.html
+++ b/releases/latest/dotnetdocs/a00374.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00381.html b/releases/latest/dotnetdocs/a00381.html
index cb6effd..4041860 100644
--- a/releases/latest/dotnetdocs/a00381.html
+++ b/releases/latest/dotnetdocs/a00381.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00382.html b/releases/latest/dotnetdocs/a00382.html
index 7d40a8d..1d6142e 100644
--- a/releases/latest/dotnetdocs/a00382.html
+++ b/releases/latest/dotnetdocs/a00382.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00383.html b/releases/latest/dotnetdocs/a00383.html
index 7481e7b..70dee4b 100644
--- a/releases/latest/dotnetdocs/a00383.html
+++ b/releases/latest/dotnetdocs/a00383.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00384.html b/releases/latest/dotnetdocs/a00384.html
index 6d21827..1ef00b3 100644
--- a/releases/latest/dotnetdocs/a00384.html
+++ b/releases/latest/dotnetdocs/a00384.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00402.html b/releases/latest/dotnetdocs/a00402.html
index 47a9e80..311fa05 100644
--- a/releases/latest/dotnetdocs/a00402.html
+++ b/releases/latest/dotnetdocs/a00402.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00406.html b/releases/latest/dotnetdocs/a00406.html
index d37a4c6..d1ccefc 100644
--- a/releases/latest/dotnetdocs/a00406.html
+++ b/releases/latest/dotnetdocs/a00406.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00410.html b/releases/latest/dotnetdocs/a00410.html
index 2942d87..1610e1c 100644
--- a/releases/latest/dotnetdocs/a00410.html
+++ b/releases/latest/dotnetdocs/a00410.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00414.html b/releases/latest/dotnetdocs/a00414.html
index 71e6bee..5e87d65 100644
--- a/releases/latest/dotnetdocs/a00414.html
+++ b/releases/latest/dotnetdocs/a00414.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00418.html b/releases/latest/dotnetdocs/a00418.html
index 3aa1fd4..b3d59da 100644
--- a/releases/latest/dotnetdocs/a00418.html
+++ b/releases/latest/dotnetdocs/a00418.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00422.html b/releases/latest/dotnetdocs/a00422.html
index 4b9dc6c..1a29163 100644
--- a/releases/latest/dotnetdocs/a00422.html
+++ b/releases/latest/dotnetdocs/a00422.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00426.html b/releases/latest/dotnetdocs/a00426.html
index a19bbf7..221dcce 100644
--- a/releases/latest/dotnetdocs/a00426.html
+++ b/releases/latest/dotnetdocs/a00426.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00430.html b/releases/latest/dotnetdocs/a00430.html
index 7bb2d84..9a9e5e2 100644
--- a/releases/latest/dotnetdocs/a00430.html
+++ b/releases/latest/dotnetdocs/a00430.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00434.html b/releases/latest/dotnetdocs/a00434.html
index 1d3082d..3b2a815 100644
--- a/releases/latest/dotnetdocs/a00434.html
+++ b/releases/latest/dotnetdocs/a00434.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00438.html b/releases/latest/dotnetdocs/a00438.html
index c3c9311..5188079 100644
--- a/releases/latest/dotnetdocs/a00438.html
+++ b/releases/latest/dotnetdocs/a00438.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00442.html b/releases/latest/dotnetdocs/a00442.html
index c8890ea..364f25e 100644
--- a/releases/latest/dotnetdocs/a00442.html
+++ b/releases/latest/dotnetdocs/a00442.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00446.html b/releases/latest/dotnetdocs/a00446.html
index e979c08..8fea2c2 100644
--- a/releases/latest/dotnetdocs/a00446.html
+++ b/releases/latest/dotnetdocs/a00446.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00450.html b/releases/latest/dotnetdocs/a00450.html
index 95edc4a..545678d 100644
--- a/releases/latest/dotnetdocs/a00450.html
+++ b/releases/latest/dotnetdocs/a00450.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00454.html b/releases/latest/dotnetdocs/a00454.html
index 178f2b2..b6369c9 100644
--- a/releases/latest/dotnetdocs/a00454.html
+++ b/releases/latest/dotnetdocs/a00454.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00462.html b/releases/latest/dotnetdocs/a00462.html
index eab382f..1857a99 100644
--- a/releases/latest/dotnetdocs/a00462.html
+++ b/releases/latest/dotnetdocs/a00462.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00466.html b/releases/latest/dotnetdocs/a00466.html
index bace3b4..82ef62b 100644
--- a/releases/latest/dotnetdocs/a00466.html
+++ b/releases/latest/dotnetdocs/a00466.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00470.html b/releases/latest/dotnetdocs/a00470.html
index 52ec56f..070f029 100644
--- a/releases/latest/dotnetdocs/a00470.html
+++ b/releases/latest/dotnetdocs/a00470.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00474.html b/releases/latest/dotnetdocs/a00474.html
index dad0e7c..cc78693 100644
--- a/releases/latest/dotnetdocs/a00474.html
+++ b/releases/latest/dotnetdocs/a00474.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00478.html b/releases/latest/dotnetdocs/a00478.html
index 70d5239..0de147a 100644
--- a/releases/latest/dotnetdocs/a00478.html
+++ b/releases/latest/dotnetdocs/a00478.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00482.html b/releases/latest/dotnetdocs/a00482.html
index 95549ef..abadcbb 100644
--- a/releases/latest/dotnetdocs/a00482.html
+++ b/releases/latest/dotnetdocs/a00482.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00486.html b/releases/latest/dotnetdocs/a00486.html
index 5bb1c1d..419b3ff 100644
--- a/releases/latest/dotnetdocs/a00486.html
+++ b/releases/latest/dotnetdocs/a00486.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00490.html b/releases/latest/dotnetdocs/a00490.html
index c5d3847..9eedac9 100644
--- a/releases/latest/dotnetdocs/a00490.html
+++ b/releases/latest/dotnetdocs/a00490.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00494.html b/releases/latest/dotnetdocs/a00494.html
index b6b313d..aef271b 100644
--- a/releases/latest/dotnetdocs/a00494.html
+++ b/releases/latest/dotnetdocs/a00494.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00498.html b/releases/latest/dotnetdocs/a00498.html
index c5d0bd2..f5604e7 100644
--- a/releases/latest/dotnetdocs/a00498.html
+++ b/releases/latest/dotnetdocs/a00498.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00502.html b/releases/latest/dotnetdocs/a00502.html
index 2c6fdf3..55fb72f 100644
--- a/releases/latest/dotnetdocs/a00502.html
+++ b/releases/latest/dotnetdocs/a00502.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00506.html b/releases/latest/dotnetdocs/a00506.html
index 0d62257..c8fa587 100644
--- a/releases/latest/dotnetdocs/a00506.html
+++ b/releases/latest/dotnetdocs/a00506.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00510.html b/releases/latest/dotnetdocs/a00510.html
index 92a6de3..5ae0ca1 100644
--- a/releases/latest/dotnetdocs/a00510.html
+++ b/releases/latest/dotnetdocs/a00510.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00514.html b/releases/latest/dotnetdocs/a00514.html
index 3db57bc..e84437f 100644
--- a/releases/latest/dotnetdocs/a00514.html
+++ b/releases/latest/dotnetdocs/a00514.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00518.html b/releases/latest/dotnetdocs/a00518.html
index df2750c..044b185 100644
--- a/releases/latest/dotnetdocs/a00518.html
+++ b/releases/latest/dotnetdocs/a00518.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00522.html b/releases/latest/dotnetdocs/a00522.html
index 7086330..8a363c1 100644
--- a/releases/latest/dotnetdocs/a00522.html
+++ b/releases/latest/dotnetdocs/a00522.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00526.html b/releases/latest/dotnetdocs/a00526.html
index 81c7665..6ed5faf 100644
--- a/releases/latest/dotnetdocs/a00526.html
+++ b/releases/latest/dotnetdocs/a00526.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00530.html b/releases/latest/dotnetdocs/a00530.html
index 5d58173..406d421 100644
--- a/releases/latest/dotnetdocs/a00530.html
+++ b/releases/latest/dotnetdocs/a00530.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00534.html b/releases/latest/dotnetdocs/a00534.html
index 13ca3bd..5fabd59 100644
--- a/releases/latest/dotnetdocs/a00534.html
+++ b/releases/latest/dotnetdocs/a00534.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00538.html b/releases/latest/dotnetdocs/a00538.html
index 0620bf6..7b61fb3 100644
--- a/releases/latest/dotnetdocs/a00538.html
+++ b/releases/latest/dotnetdocs/a00538.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00542.html b/releases/latest/dotnetdocs/a00542.html
index b84a88e..804174e 100644
--- a/releases/latest/dotnetdocs/a00542.html
+++ b/releases/latest/dotnetdocs/a00542.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00546.html b/releases/latest/dotnetdocs/a00546.html
index f6bf1d7..e45a2f0 100644
--- a/releases/latest/dotnetdocs/a00546.html
+++ b/releases/latest/dotnetdocs/a00546.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00550.html b/releases/latest/dotnetdocs/a00550.html
index 435a957..c843a64 100644
--- a/releases/latest/dotnetdocs/a00550.html
+++ b/releases/latest/dotnetdocs/a00550.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00554.html b/releases/latest/dotnetdocs/a00554.html
index fb0db98..e9123e8 100644
--- a/releases/latest/dotnetdocs/a00554.html
+++ b/releases/latest/dotnetdocs/a00554.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00558.html b/releases/latest/dotnetdocs/a00558.html
index 39e0f5f..cd6f549 100644
--- a/releases/latest/dotnetdocs/a00558.html
+++ b/releases/latest/dotnetdocs/a00558.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00562.html b/releases/latest/dotnetdocs/a00562.html
index 397dc41..451afcc 100644
--- a/releases/latest/dotnetdocs/a00562.html
+++ b/releases/latest/dotnetdocs/a00562.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00566.html b/releases/latest/dotnetdocs/a00566.html
index f228f2c..b22a44a 100644
--- a/releases/latest/dotnetdocs/a00566.html
+++ b/releases/latest/dotnetdocs/a00566.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00574.html b/releases/latest/dotnetdocs/a00574.html
index 28153f3..2b730fe 100644
--- a/releases/latest/dotnetdocs/a00574.html
+++ b/releases/latest/dotnetdocs/a00574.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00578.html b/releases/latest/dotnetdocs/a00578.html
index ad19b03..54cad65 100644
--- a/releases/latest/dotnetdocs/a00578.html
+++ b/releases/latest/dotnetdocs/a00578.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00582.html b/releases/latest/dotnetdocs/a00582.html
index be6469a..3555978 100644
--- a/releases/latest/dotnetdocs/a00582.html
+++ b/releases/latest/dotnetdocs/a00582.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00586.html b/releases/latest/dotnetdocs/a00586.html
index 165378a..9ffbea0 100644
--- a/releases/latest/dotnetdocs/a00586.html
+++ b/releases/latest/dotnetdocs/a00586.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00590.html b/releases/latest/dotnetdocs/a00590.html
index 36843aa..830fb4b 100644
--- a/releases/latest/dotnetdocs/a00590.html
+++ b/releases/latest/dotnetdocs/a00590.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00594.html b/releases/latest/dotnetdocs/a00594.html
index c123bb8..6abeefb 100644
--- a/releases/latest/dotnetdocs/a00594.html
+++ b/releases/latest/dotnetdocs/a00594.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00598.html b/releases/latest/dotnetdocs/a00598.html
index bd91d6e..9974796 100644
--- a/releases/latest/dotnetdocs/a00598.html
+++ b/releases/latest/dotnetdocs/a00598.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00602.html b/releases/latest/dotnetdocs/a00602.html
index 9ac9c12..6a6713d 100644
--- a/releases/latest/dotnetdocs/a00602.html
+++ b/releases/latest/dotnetdocs/a00602.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00606.html b/releases/latest/dotnetdocs/a00606.html
index 0b7816a..730b452 100644
--- a/releases/latest/dotnetdocs/a00606.html
+++ b/releases/latest/dotnetdocs/a00606.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00610.html b/releases/latest/dotnetdocs/a00610.html
index 628d327..ba908c7 100644
--- a/releases/latest/dotnetdocs/a00610.html
+++ b/releases/latest/dotnetdocs/a00610.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00614.html b/releases/latest/dotnetdocs/a00614.html
index 210790a..3923824 100644
--- a/releases/latest/dotnetdocs/a00614.html
+++ b/releases/latest/dotnetdocs/a00614.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00618.html b/releases/latest/dotnetdocs/a00618.html
index 7d3e472..be981da 100644
--- a/releases/latest/dotnetdocs/a00618.html
+++ b/releases/latest/dotnetdocs/a00618.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00622.html b/releases/latest/dotnetdocs/a00622.html
index 6b42da4..4724939 100644
--- a/releases/latest/dotnetdocs/a00622.html
+++ b/releases/latest/dotnetdocs/a00622.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00630.html b/releases/latest/dotnetdocs/a00630.html
index b666464..cadd22d 100644
--- a/releases/latest/dotnetdocs/a00630.html
+++ b/releases/latest/dotnetdocs/a00630.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00634.html b/releases/latest/dotnetdocs/a00634.html
index 2fc7459..c228a12 100644
--- a/releases/latest/dotnetdocs/a00634.html
+++ b/releases/latest/dotnetdocs/a00634.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00638.html b/releases/latest/dotnetdocs/a00638.html
index 997aa97..9792166 100644
--- a/releases/latest/dotnetdocs/a00638.html
+++ b/releases/latest/dotnetdocs/a00638.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00642.html b/releases/latest/dotnetdocs/a00642.html
index 2cd1f8b..3e1fdff 100644
--- a/releases/latest/dotnetdocs/a00642.html
+++ b/releases/latest/dotnetdocs/a00642.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00646.html b/releases/latest/dotnetdocs/a00646.html
index ff0d72e..83e0df7 100644
--- a/releases/latest/dotnetdocs/a00646.html
+++ b/releases/latest/dotnetdocs/a00646.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00650.html b/releases/latest/dotnetdocs/a00650.html
index 5a2c561..c66a6ef 100644
--- a/releases/latest/dotnetdocs/a00650.html
+++ b/releases/latest/dotnetdocs/a00650.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00654.html b/releases/latest/dotnetdocs/a00654.html
index 3e74254..258bc8d 100644
--- a/releases/latest/dotnetdocs/a00654.html
+++ b/releases/latest/dotnetdocs/a00654.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00658.html b/releases/latest/dotnetdocs/a00658.html
index 1a1d753..6bd503a 100644
--- a/releases/latest/dotnetdocs/a00658.html
+++ b/releases/latest/dotnetdocs/a00658.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00662.html b/releases/latest/dotnetdocs/a00662.html
index bcb602a..c09b367 100644
--- a/releases/latest/dotnetdocs/a00662.html
+++ b/releases/latest/dotnetdocs/a00662.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00666.html b/releases/latest/dotnetdocs/a00666.html
index 9c80539..60d9bbe 100644
--- a/releases/latest/dotnetdocs/a00666.html
+++ b/releases/latest/dotnetdocs/a00666.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00670.html b/releases/latest/dotnetdocs/a00670.html
index a7f179f..b48a36f 100644
--- a/releases/latest/dotnetdocs/a00670.html
+++ b/releases/latest/dotnetdocs/a00670.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00674.html b/releases/latest/dotnetdocs/a00674.html
index 75a6684..70b5bef 100644
--- a/releases/latest/dotnetdocs/a00674.html
+++ b/releases/latest/dotnetdocs/a00674.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00678.html b/releases/latest/dotnetdocs/a00678.html
index 7f44468..f3ed394 100644
--- a/releases/latest/dotnetdocs/a00678.html
+++ b/releases/latest/dotnetdocs/a00678.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00682.html b/releases/latest/dotnetdocs/a00682.html
index 3258e25..ea52360 100644
--- a/releases/latest/dotnetdocs/a00682.html
+++ b/releases/latest/dotnetdocs/a00682.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00686.html b/releases/latest/dotnetdocs/a00686.html
index aa36422..50d30b3 100644
--- a/releases/latest/dotnetdocs/a00686.html
+++ b/releases/latest/dotnetdocs/a00686.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00690.html b/releases/latest/dotnetdocs/a00690.html
index 988a9fc..6822058 100644
--- a/releases/latest/dotnetdocs/a00690.html
+++ b/releases/latest/dotnetdocs/a00690.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00694.html b/releases/latest/dotnetdocs/a00694.html
index 9f95dbf..6d72622 100644
--- a/releases/latest/dotnetdocs/a00694.html
+++ b/releases/latest/dotnetdocs/a00694.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00698.html b/releases/latest/dotnetdocs/a00698.html
index 4e7efa5..b36e149 100644
--- a/releases/latest/dotnetdocs/a00698.html
+++ b/releases/latest/dotnetdocs/a00698.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00702.html b/releases/latest/dotnetdocs/a00702.html
index 677935b..83b9893 100644
--- a/releases/latest/dotnetdocs/a00702.html
+++ b/releases/latest/dotnetdocs/a00702.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00706.html b/releases/latest/dotnetdocs/a00706.html
index 0b6a085..dfb0f8b 100644
--- a/releases/latest/dotnetdocs/a00706.html
+++ b/releases/latest/dotnetdocs/a00706.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00710.html b/releases/latest/dotnetdocs/a00710.html
index e0de7b7..6581d75 100644
--- a/releases/latest/dotnetdocs/a00710.html
+++ b/releases/latest/dotnetdocs/a00710.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00714.html b/releases/latest/dotnetdocs/a00714.html
index 728a612..a3ac8c5 100644
--- a/releases/latest/dotnetdocs/a00714.html
+++ b/releases/latest/dotnetdocs/a00714.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00718.html b/releases/latest/dotnetdocs/a00718.html
index bf92061..8849fc2 100644
--- a/releases/latest/dotnetdocs/a00718.html
+++ b/releases/latest/dotnetdocs/a00718.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00722.html b/releases/latest/dotnetdocs/a00722.html
index 90a8c03..3d4665f 100644
--- a/releases/latest/dotnetdocs/a00722.html
+++ b/releases/latest/dotnetdocs/a00722.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00726.html b/releases/latest/dotnetdocs/a00726.html
index 6fca80b..b1a163a 100644
--- a/releases/latest/dotnetdocs/a00726.html
+++ b/releases/latest/dotnetdocs/a00726.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00730.html b/releases/latest/dotnetdocs/a00730.html
index 9fc3a15..90163e0 100644
--- a/releases/latest/dotnetdocs/a00730.html
+++ b/releases/latest/dotnetdocs/a00730.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00734.html b/releases/latest/dotnetdocs/a00734.html
index 983cee9..97e5bf4 100644
--- a/releases/latest/dotnetdocs/a00734.html
+++ b/releases/latest/dotnetdocs/a00734.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00738.html b/releases/latest/dotnetdocs/a00738.html
index 8168b6f..5d027b6 100644
--- a/releases/latest/dotnetdocs/a00738.html
+++ b/releases/latest/dotnetdocs/a00738.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00742.html b/releases/latest/dotnetdocs/a00742.html
index f7a3dbd..78fae6a 100644
--- a/releases/latest/dotnetdocs/a00742.html
+++ b/releases/latest/dotnetdocs/a00742.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00746.html b/releases/latest/dotnetdocs/a00746.html
index ec3c592..b50cdee 100644
--- a/releases/latest/dotnetdocs/a00746.html
+++ b/releases/latest/dotnetdocs/a00746.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00750.html b/releases/latest/dotnetdocs/a00750.html
index d47cf06..4d8af4f 100644
--- a/releases/latest/dotnetdocs/a00750.html
+++ b/releases/latest/dotnetdocs/a00750.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00754.html b/releases/latest/dotnetdocs/a00754.html
index 06d9b27..ce437b6 100644
--- a/releases/latest/dotnetdocs/a00754.html
+++ b/releases/latest/dotnetdocs/a00754.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00758.html b/releases/latest/dotnetdocs/a00758.html
index 76d0938..7776c1f 100644
--- a/releases/latest/dotnetdocs/a00758.html
+++ b/releases/latest/dotnetdocs/a00758.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00762.html b/releases/latest/dotnetdocs/a00762.html
index 4658cd3..a3e1e03 100644
--- a/releases/latest/dotnetdocs/a00762.html
+++ b/releases/latest/dotnetdocs/a00762.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00766.html b/releases/latest/dotnetdocs/a00766.html
index fb9fd0a..08d25f2 100644
--- a/releases/latest/dotnetdocs/a00766.html
+++ b/releases/latest/dotnetdocs/a00766.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00770.html b/releases/latest/dotnetdocs/a00770.html
index f941d77..a8a6f68 100644
--- a/releases/latest/dotnetdocs/a00770.html
+++ b/releases/latest/dotnetdocs/a00770.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00774.html b/releases/latest/dotnetdocs/a00774.html
index c4de8ba..5a4daa3 100644
--- a/releases/latest/dotnetdocs/a00774.html
+++ b/releases/latest/dotnetdocs/a00774.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00778.html b/releases/latest/dotnetdocs/a00778.html
index 6544734..72434a5 100644
--- a/releases/latest/dotnetdocs/a00778.html
+++ b/releases/latest/dotnetdocs/a00778.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00782.html b/releases/latest/dotnetdocs/a00782.html
index b6de19a..3aec074 100644
--- a/releases/latest/dotnetdocs/a00782.html
+++ b/releases/latest/dotnetdocs/a00782.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00786.html b/releases/latest/dotnetdocs/a00786.html
index e1af32b..1512302 100644
--- a/releases/latest/dotnetdocs/a00786.html
+++ b/releases/latest/dotnetdocs/a00786.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00790.html b/releases/latest/dotnetdocs/a00790.html
index 6fd4090..081f1a5 100644
--- a/releases/latest/dotnetdocs/a00790.html
+++ b/releases/latest/dotnetdocs/a00790.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00794.html b/releases/latest/dotnetdocs/a00794.html
index 97001f7..928db0c 100644
--- a/releases/latest/dotnetdocs/a00794.html
+++ b/releases/latest/dotnetdocs/a00794.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00798.html b/releases/latest/dotnetdocs/a00798.html
index 90c150f..0237cfb 100644
--- a/releases/latest/dotnetdocs/a00798.html
+++ b/releases/latest/dotnetdocs/a00798.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00802.html b/releases/latest/dotnetdocs/a00802.html
index ca767ad..365b6ad 100644
--- a/releases/latest/dotnetdocs/a00802.html
+++ b/releases/latest/dotnetdocs/a00802.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00806.html b/releases/latest/dotnetdocs/a00806.html
index 3441745..d2ff6e5 100644
--- a/releases/latest/dotnetdocs/a00806.html
+++ b/releases/latest/dotnetdocs/a00806.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00810.html b/releases/latest/dotnetdocs/a00810.html
index 934224d..44fca8f 100644
--- a/releases/latest/dotnetdocs/a00810.html
+++ b/releases/latest/dotnetdocs/a00810.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00814.html b/releases/latest/dotnetdocs/a00814.html
index c98fcbc..a2af56e 100644
--- a/releases/latest/dotnetdocs/a00814.html
+++ b/releases/latest/dotnetdocs/a00814.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00818.html b/releases/latest/dotnetdocs/a00818.html
index 73e4b8e..3f501ed 100644
--- a/releases/latest/dotnetdocs/a00818.html
+++ b/releases/latest/dotnetdocs/a00818.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00822.html b/releases/latest/dotnetdocs/a00822.html
index 9c181f4..be09d8e 100644
--- a/releases/latest/dotnetdocs/a00822.html
+++ b/releases/latest/dotnetdocs/a00822.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00826.html b/releases/latest/dotnetdocs/a00826.html
index 05c64eb..b8b3173 100644
--- a/releases/latest/dotnetdocs/a00826.html
+++ b/releases/latest/dotnetdocs/a00826.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00830.html b/releases/latest/dotnetdocs/a00830.html
index ba8c87b..96697e8 100644
--- a/releases/latest/dotnetdocs/a00830.html
+++ b/releases/latest/dotnetdocs/a00830.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00834.html b/releases/latest/dotnetdocs/a00834.html
index 239ddb1..e102063 100644
--- a/releases/latest/dotnetdocs/a00834.html
+++ b/releases/latest/dotnetdocs/a00834.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00838.html b/releases/latest/dotnetdocs/a00838.html
index b0b4c51..225145e 100644
--- a/releases/latest/dotnetdocs/a00838.html
+++ b/releases/latest/dotnetdocs/a00838.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00842.html b/releases/latest/dotnetdocs/a00842.html
index 822311d..81818be 100644
--- a/releases/latest/dotnetdocs/a00842.html
+++ b/releases/latest/dotnetdocs/a00842.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00846.html b/releases/latest/dotnetdocs/a00846.html
index 12680b8..a035be4 100644
--- a/releases/latest/dotnetdocs/a00846.html
+++ b/releases/latest/dotnetdocs/a00846.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00850.html b/releases/latest/dotnetdocs/a00850.html
index 5f995d0..ae9e816 100644
--- a/releases/latest/dotnetdocs/a00850.html
+++ b/releases/latest/dotnetdocs/a00850.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00858.html b/releases/latest/dotnetdocs/a00858.html
index baaeea1..802fc99 100644
--- a/releases/latest/dotnetdocs/a00858.html
+++ b/releases/latest/dotnetdocs/a00858.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00862.html b/releases/latest/dotnetdocs/a00862.html
index e007e24..b6cecdc 100644
--- a/releases/latest/dotnetdocs/a00862.html
+++ b/releases/latest/dotnetdocs/a00862.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00866.html b/releases/latest/dotnetdocs/a00866.html
index b190e02..060b48f 100644
--- a/releases/latest/dotnetdocs/a00866.html
+++ b/releases/latest/dotnetdocs/a00866.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00870.html b/releases/latest/dotnetdocs/a00870.html
index afe09ae..5264fc7 100644
--- a/releases/latest/dotnetdocs/a00870.html
+++ b/releases/latest/dotnetdocs/a00870.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00874.html b/releases/latest/dotnetdocs/a00874.html
index 3d0a210..6da753d 100644
--- a/releases/latest/dotnetdocs/a00874.html
+++ b/releases/latest/dotnetdocs/a00874.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00878.html b/releases/latest/dotnetdocs/a00878.html
index faa35df..3f83595 100644
--- a/releases/latest/dotnetdocs/a00878.html
+++ b/releases/latest/dotnetdocs/a00878.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00882.html b/releases/latest/dotnetdocs/a00882.html
index 84760df..7e9ebb5 100644
--- a/releases/latest/dotnetdocs/a00882.html
+++ b/releases/latest/dotnetdocs/a00882.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00886.html b/releases/latest/dotnetdocs/a00886.html
index d524527..24b1488 100644
--- a/releases/latest/dotnetdocs/a00886.html
+++ b/releases/latest/dotnetdocs/a00886.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00890.html b/releases/latest/dotnetdocs/a00890.html
index 77360fb..84695ab 100644
--- a/releases/latest/dotnetdocs/a00890.html
+++ b/releases/latest/dotnetdocs/a00890.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00894.html b/releases/latest/dotnetdocs/a00894.html
index bea3cbb..7975edd 100644
--- a/releases/latest/dotnetdocs/a00894.html
+++ b/releases/latest/dotnetdocs/a00894.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00898.html b/releases/latest/dotnetdocs/a00898.html
index 7fc17e4..5986525 100644
--- a/releases/latest/dotnetdocs/a00898.html
+++ b/releases/latest/dotnetdocs/a00898.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00902.html b/releases/latest/dotnetdocs/a00902.html
index 3adb0d1..d50f4f9 100644
--- a/releases/latest/dotnetdocs/a00902.html
+++ b/releases/latest/dotnetdocs/a00902.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00906.html b/releases/latest/dotnetdocs/a00906.html
index 26ccc2d..6a7aa02 100644
--- a/releases/latest/dotnetdocs/a00906.html
+++ b/releases/latest/dotnetdocs/a00906.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00910.html b/releases/latest/dotnetdocs/a00910.html
index 76a11ca..6eab2f5 100644
--- a/releases/latest/dotnetdocs/a00910.html
+++ b/releases/latest/dotnetdocs/a00910.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00914.html b/releases/latest/dotnetdocs/a00914.html
index 805666f..038816a 100644
--- a/releases/latest/dotnetdocs/a00914.html
+++ b/releases/latest/dotnetdocs/a00914.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00918.html b/releases/latest/dotnetdocs/a00918.html
index 238f104..0d1f6cd 100644
--- a/releases/latest/dotnetdocs/a00918.html
+++ b/releases/latest/dotnetdocs/a00918.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00922.html b/releases/latest/dotnetdocs/a00922.html
index 82c588e..5efb645 100644
--- a/releases/latest/dotnetdocs/a00922.html
+++ b/releases/latest/dotnetdocs/a00922.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00926.html b/releases/latest/dotnetdocs/a00926.html
index 21aaeb9..df89aa2 100644
--- a/releases/latest/dotnetdocs/a00926.html
+++ b/releases/latest/dotnetdocs/a00926.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00930.html b/releases/latest/dotnetdocs/a00930.html
index 6d40979..eea4c79 100644
--- a/releases/latest/dotnetdocs/a00930.html
+++ b/releases/latest/dotnetdocs/a00930.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00934.html b/releases/latest/dotnetdocs/a00934.html
index ff13284..6fb7940 100644
--- a/releases/latest/dotnetdocs/a00934.html
+++ b/releases/latest/dotnetdocs/a00934.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00950.html b/releases/latest/dotnetdocs/a00950.html
index 8eb6778..d3408dd 100644
--- a/releases/latest/dotnetdocs/a00950.html
+++ b/releases/latest/dotnetdocs/a00950.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00954.html b/releases/latest/dotnetdocs/a00954.html
index b154e15..2fe12e4 100644
--- a/releases/latest/dotnetdocs/a00954.html
+++ b/releases/latest/dotnetdocs/a00954.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00958.html b/releases/latest/dotnetdocs/a00958.html
index 92e7368..acbc309 100644
--- a/releases/latest/dotnetdocs/a00958.html
+++ b/releases/latest/dotnetdocs/a00958.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00962.html b/releases/latest/dotnetdocs/a00962.html
index 864e3cd..787851c 100644
--- a/releases/latest/dotnetdocs/a00962.html
+++ b/releases/latest/dotnetdocs/a00962.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00966.html b/releases/latest/dotnetdocs/a00966.html
index ded7502..945986b 100644
--- a/releases/latest/dotnetdocs/a00966.html
+++ b/releases/latest/dotnetdocs/a00966.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00970.html b/releases/latest/dotnetdocs/a00970.html
index 403a489..0ff19af 100644
--- a/releases/latest/dotnetdocs/a00970.html
+++ b/releases/latest/dotnetdocs/a00970.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00974.html b/releases/latest/dotnetdocs/a00974.html
index 278e099..5bad98d 100644
--- a/releases/latest/dotnetdocs/a00974.html
+++ b/releases/latest/dotnetdocs/a00974.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00978.html b/releases/latest/dotnetdocs/a00978.html
index 1970de0..f53827c 100644
--- a/releases/latest/dotnetdocs/a00978.html
+++ b/releases/latest/dotnetdocs/a00978.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00982.html b/releases/latest/dotnetdocs/a00982.html
index f3bf949..5fa2625 100644
--- a/releases/latest/dotnetdocs/a00982.html
+++ b/releases/latest/dotnetdocs/a00982.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00986.html b/releases/latest/dotnetdocs/a00986.html
index 6eeada8..1efaa4a 100644
--- a/releases/latest/dotnetdocs/a00986.html
+++ b/releases/latest/dotnetdocs/a00986.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00990.html b/releases/latest/dotnetdocs/a00990.html
index 2c9e722..202989b 100644
--- a/releases/latest/dotnetdocs/a00990.html
+++ b/releases/latest/dotnetdocs/a00990.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00994.html b/releases/latest/dotnetdocs/a00994.html
index c710c86..d0f5538 100644
--- a/releases/latest/dotnetdocs/a00994.html
+++ b/releases/latest/dotnetdocs/a00994.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a00998.html b/releases/latest/dotnetdocs/a00998.html
index e5cc15f..ca5d2f8 100644
--- a/releases/latest/dotnetdocs/a00998.html
+++ b/releases/latest/dotnetdocs/a00998.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01002.html b/releases/latest/dotnetdocs/a01002.html
index 3e866bb..0ef2d0d 100644
--- a/releases/latest/dotnetdocs/a01002.html
+++ b/releases/latest/dotnetdocs/a01002.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01006.html b/releases/latest/dotnetdocs/a01006.html
index 35e6f32..2c82ee5 100644
--- a/releases/latest/dotnetdocs/a01006.html
+++ b/releases/latest/dotnetdocs/a01006.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01010.html b/releases/latest/dotnetdocs/a01010.html
index 7d776e7..b3e62b9 100644
--- a/releases/latest/dotnetdocs/a01010.html
+++ b/releases/latest/dotnetdocs/a01010.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01014.html b/releases/latest/dotnetdocs/a01014.html
index be7e107..1c234c5 100644
--- a/releases/latest/dotnetdocs/a01014.html
+++ b/releases/latest/dotnetdocs/a01014.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01018.html b/releases/latest/dotnetdocs/a01018.html
index a8a0b97..0a00ae3 100644
--- a/releases/latest/dotnetdocs/a01018.html
+++ b/releases/latest/dotnetdocs/a01018.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01022.html b/releases/latest/dotnetdocs/a01022.html
index 1a95ec4..a15c0e9 100644
--- a/releases/latest/dotnetdocs/a01022.html
+++ b/releases/latest/dotnetdocs/a01022.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01026.html b/releases/latest/dotnetdocs/a01026.html
index 9e871a6..6e2b556 100644
--- a/releases/latest/dotnetdocs/a01026.html
+++ b/releases/latest/dotnetdocs/a01026.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01030.html b/releases/latest/dotnetdocs/a01030.html
index bc55fcd..c11e077 100644
--- a/releases/latest/dotnetdocs/a01030.html
+++ b/releases/latest/dotnetdocs/a01030.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01038.html b/releases/latest/dotnetdocs/a01038.html
index a8e7525..12e1684 100644
--- a/releases/latest/dotnetdocs/a01038.html
+++ b/releases/latest/dotnetdocs/a01038.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01042.html b/releases/latest/dotnetdocs/a01042.html
index 2f19a4d..622bebb 100644
--- a/releases/latest/dotnetdocs/a01042.html
+++ b/releases/latest/dotnetdocs/a01042.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01046.html b/releases/latest/dotnetdocs/a01046.html
index 0591d8f..7e91842 100644
--- a/releases/latest/dotnetdocs/a01046.html
+++ b/releases/latest/dotnetdocs/a01046.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01066.html b/releases/latest/dotnetdocs/a01066.html
index 9217666..d0a2ac7 100644
--- a/releases/latest/dotnetdocs/a01066.html
+++ b/releases/latest/dotnetdocs/a01066.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01070.html b/releases/latest/dotnetdocs/a01070.html
index 4a748bc..d4f8d9c 100644
--- a/releases/latest/dotnetdocs/a01070.html
+++ b/releases/latest/dotnetdocs/a01070.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01074.html b/releases/latest/dotnetdocs/a01074.html
index 8dbbb13..19d21e6 100644
--- a/releases/latest/dotnetdocs/a01074.html
+++ b/releases/latest/dotnetdocs/a01074.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01078.html b/releases/latest/dotnetdocs/a01078.html
index 3758dbe..88fa4fa 100644
--- a/releases/latest/dotnetdocs/a01078.html
+++ b/releases/latest/dotnetdocs/a01078.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01082.html b/releases/latest/dotnetdocs/a01082.html
new file mode 100644
index 0000000..5210157
--- /dev/null
+++ b/releases/latest/dotnetdocs/a01082.html
@@ -0,0 +1,257 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Geode Native .NET Reference: Apache::Geode::Client::PoolManager Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+  $(document).ready(initResizable);
+/* @license-end */</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Apache Geode Native .NET Reference
+   &#160;<span id="projectnumber">0.0.42</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.15 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('a01082.html','');});
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Apache::Geode::Client::PoolManager Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This interface provides for the configuration and creation of instances of <a class="el" href="a01078.html" title="This interface provides for the configuration and creation of instances of Pool.">PoolFactory</a>.  
+ <a href="a01082.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a90b9384d4329209c55e58d5f80ba1c7d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01082.html#a90b9384d4329209c55e58d5f80ba1c7d">Close</a> (Boolean KeepAlive)</td></tr>
+<tr class="memdesc:a90b9384d4329209c55e58d5f80ba1c7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys all created pools.  <a href="#a90b9384d4329209c55e58d5f80ba1c7d">More...</a><br /></td></tr>
+<tr class="separator:a90b9384d4329209c55e58d5f80ba1c7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c516526a3e55b4d7fcf6275e73c5c45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01082.html#a1c516526a3e55b4d7fcf6275e73c5c45">Close</a> ()</td></tr>
+<tr class="memdesc:a1c516526a3e55b4d7fcf6275e73c5c45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys all created pools.  <a href="#a1c516526a3e55b4d7fcf6275e73c5c45">More...</a><br /></td></tr>
+<tr class="separator:a1c516526a3e55b4d7fcf6275e73c5c45"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36a85202133bcfb6d1f71e5250e51af4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01078.html">PoolFactory</a> ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01082.html#a36a85202133bcfb6d1f71e5250e51af4">CreateFactory</a> ()</td></tr>
+<tr class="memdesc:a36a85202133bcfb6d1f71e5250e51af4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <a class="el" href="a01078.html" title="This interface provides for the configuration and creation of instances of Pool.">PoolFactory</a> which is used to configure and create Pools.  <a href="#a36a85202133bcfb6d1f71e5250e51af4">More...</a><br /></td></tr>
+<tr class="separator:a36a85202133bcfb6d1f71e5250e51af4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7bf770c82823801c44db5e7e5de6eed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01074.html">Pool</a> ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01082.html#ad7bf770c82823801c44db5e7e5de6eed">Find</a> (String^ name)</td></tr>
+<tr class="memdesc:ad7bf770c82823801c44db5e7e5de6eed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find by name an existing connection pool.  <a href="#ad7bf770c82823801c44db5e7e5de6eed">More...</a><br /></td></tr>
+<tr class="separator:ad7bf770c82823801c44db5e7e5de6eed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8660489e268a53761db260e5bda4246"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01074.html">Pool</a> ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01082.html#af8660489e268a53761db260e5bda4246">Find</a> (Client::Region&lt; Object^, Object^&gt;^ region)</td></tr>
+<tr class="memdesc:af8660489e268a53761db260e5bda4246"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find the pool used by the given region.  <a href="#af8660489e268a53761db260e5bda4246">More...</a><br /></td></tr>
+<tr class="separator:af8660489e268a53761db260e5bda4246"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afbc4919559fb1f753897c7a6948ccc07"><td class="memItemLeft" align="right" valign="top">const Dictionary&lt; String^, <a class="el" href="a01074.html">Pool</a>^&gt; ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01082.html#afbc4919559fb1f753897c7a6948ccc07">GetAll</a> ()</td></tr>
+<tr class="memdesc:afbc4919559fb1f753897c7a6948ccc07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a map containing all the pools in this manager.  <a href="#afbc4919559fb1f753897c7a6948ccc07">More...</a><br /></td></tr>
+<tr class="separator:afbc4919559fb1f753897c7a6948ccc07"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This interface provides for the configuration and creation of instances of <a class="el" href="a01078.html" title="This interface provides for the configuration and creation of instances of Pool.">PoolFactory</a>. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a90b9384d4329209c55e58d5f80ba1c7d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a90b9384d4329209c55e58d5f80ba1c7d">&#9670;&nbsp;</a></span>Close() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void Apache::Geode::Client::PoolManager::Close </td>
+          <td>(</td>
+          <td class="paramtype">Boolean&#160;</td>
+          <td class="paramname"><em>KeepAlive</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Destroys all created pools. </p>
+
+</div>
+</div>
+<a id="a1c516526a3e55b4d7fcf6275e73c5c45"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c516526a3e55b4d7fcf6275e73c5c45">&#9670;&nbsp;</a></span>Close() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void Apache::Geode::Client::PoolManager::Close </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Destroys all created pools. </p>
+
+</div>
+</div>
+<a id="a36a85202133bcfb6d1f71e5250e51af4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a36a85202133bcfb6d1f71e5250e51af4">&#9670;&nbsp;</a></span>CreateFactory()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a01078.html">PoolFactory</a> ^ Apache::Geode::Client::PoolManager::CreateFactory </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Creates a new <a class="el" href="a01078.html" title="This interface provides for the configuration and creation of instances of Pool.">PoolFactory</a> which is used to configure and create Pools. </p>
+
+</div>
+</div>
+<a id="ad7bf770c82823801c44db5e7e5de6eed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad7bf770c82823801c44db5e7e5de6eed">&#9670;&nbsp;</a></span>Find() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a01074.html">Pool</a> ^ Apache::Geode::Client::PoolManager::Find </td>
+          <td>(</td>
+          <td class="paramtype">String^&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Find by name an existing connection pool. </p>
+
+</div>
+</div>
+<a id="af8660489e268a53761db260e5bda4246"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af8660489e268a53761db260e5bda4246">&#9670;&nbsp;</a></span>Find() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a01074.html">Pool</a> ^ Apache::Geode::Client::PoolManager::Find </td>
+          <td>(</td>
+          <td class="paramtype">Client::Region&lt; Object^, Object^&gt;^&#160;</td>
+          <td class="paramname"><em>region</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Find the pool used by the given region. </p>
+
+</div>
+</div>
+<a id="afbc4919559fb1f753897c7a6948ccc07"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afbc4919559fb1f753897c7a6948ccc07">&#9670;&nbsp;</a></span>GetAll()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const Dictionary&lt;String^, <a class="el" href="a01074.html">Pool</a>^&gt; ^ Apache::Geode::Client::PoolManager::GetAll </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Returns a map containing all the pools in this manager. </p>
+<p>The keys are pool names and the values are <a class="el" href="a01074.html" title="A pool of connections.">Pool</a> instances. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!--
+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.
+-->
+<HR><address style="align: right;"><small>Apache Geode C++ Cache .NET API Documentation</small></address>
diff --git a/releases/latest/dotnetdocs/a01082.js b/releases/latest/dotnetdocs/a01082.js
new file mode 100644
index 0000000..1c8de71
--- /dev/null
+++ b/releases/latest/dotnetdocs/a01082.js
@@ -0,0 +1,9 @@
+var a01082 =
+[
+    [ "Close", "a01082.html#a90b9384d4329209c55e58d5f80ba1c7d", null ],
+    [ "Close", "a01082.html#a1c516526a3e55b4d7fcf6275e73c5c45", null ],
+    [ "CreateFactory", "a01082.html#a36a85202133bcfb6d1f71e5250e51af4", null ],
+    [ "Find", "a01082.html#ad7bf770c82823801c44db5e7e5de6eed", null ],
+    [ "Find", "a01082.html#af8660489e268a53761db260e5bda4246", null ],
+    [ "GetAll", "a01082.html#afbc4919559fb1f753897c7a6948ccc07", null ]
+];
\ No newline at end of file
diff --git a/releases/latest/dotnetdocs/a01086.html b/releases/latest/dotnetdocs/a01086.html
index 5a1d529..33f740c 100644
--- a/releases/latest/dotnetdocs/a01086.html
+++ b/releases/latest/dotnetdocs/a01086.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01090.html b/releases/latest/dotnetdocs/a01090.html
index 08fc907..e8730d6 100644
--- a/releases/latest/dotnetdocs/a01090.html
+++ b/releases/latest/dotnetdocs/a01090.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01094.html b/releases/latest/dotnetdocs/a01094.html
new file mode 100644
index 0000000..55a6ad9
--- /dev/null
+++ b/releases/latest/dotnetdocs/a01094.html
@@ -0,0 +1,601 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Geode Native .NET Reference: Apache::Geode::Client::ReflectionBasedAutoSerializer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+  $(document).ready(initResizable);
+/* @license-end */</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Apache Geode Native .NET Reference
+   &#160;<span id="projectnumber">0.0.42</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.15 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('a01094.html','');});
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Apache::Geode::Client::ReflectionBasedAutoSerializer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p> 
+ <a href="a01094.html#details">More...</a></p>
+
+<p>Inherits <a class="el" href="a00982.html">Apache::Geode::Client::IPdxSerializer</a>.</p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:af4fa044a16e0f27e438125d03e30d96d"><td class="memItemLeft" align="right" valign="top">virtual Object ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01094.html#af4fa044a16e0f27e438125d03e30d96d">CreateObject</a> (String^ className, <a class="el" href="a00410.html">Cache</a>^ cache)</td></tr>
+<tr class="memdesc:af4fa044a16e0f27e438125d03e30d96d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overirde this method to create default instance of </p><div class="fragment"><div class="line">className</div></div><!-- fragment --><p> Otherwise it will create instance using zer arg public constructor  <a href="#af4fa044a16e0f27e438125d03e30d96d">More...</a><br /></td></tr>
+<tr class="separator:af4fa044a16e0f27e438125d03e30d96d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af75d72e375954334c9f11ad1e7efe65b"><td class="memItemLeft" align="right" valign="top">virtual Object ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01094.html#af75d72e375954334c9f11ad1e7efe65b">FromData</a> (String^ o, <a class="el" href="a00974.html">IPdxReader</a>^ reader)</td></tr>
+<tr class="memdesc:af75d72e375954334c9f11ad1e7efe65b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialize this object.  <a href="#af75d72e375954334c9f11ad1e7efe65b">More...</a><br /></td></tr>
+<tr class="separator:af75d72e375954334c9f11ad1e7efe65b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4aea2cef72a21e8bcf6931e985398fa3"><td class="memItemLeft" align="right" valign="top">virtual String ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01094.html#a4aea2cef72a21e8bcf6931e985398fa3">GetFieldName</a> (FieldInfo^ fi, Type^ type)</td></tr>
+<tr class="memdesc:a4aea2cef72a21e8bcf6931e985398fa3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls the field name that will be used in pdx for a field being auto serialized.  <a href="#a4aea2cef72a21e8bcf6931e985398fa3">More...</a><br /></td></tr>
+<tr class="separator:a4aea2cef72a21e8bcf6931e985398fa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4096028bd472d47d3bdbcbcafde94ca8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00382.html#a25534680ef2bea4c25253ae9d809bed6">FieldType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01094.html#a4096028bd472d47d3bdbcbcafde94ca8">GetFieldType</a> (FieldInfo^ fi, Type^ type)</td></tr>
+<tr class="memdesc:a4096028bd472d47d3bdbcbcafde94ca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls what pdx field type will be used when auto serializing.  <a href="#a4096028bd472d47d3bdbcbcafde94ca8">More...</a><br /></td></tr>
+<tr class="separator:a4096028bd472d47d3bdbcbcafde94ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f8e1cb1e96ea53e9efe42dbb0fcffee"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01094.html#a0f8e1cb1e96ea53e9efe42dbb0fcffee">IsFieldIncluded</a> (FieldInfo^ fi, Type^ type)</td></tr>
+<tr class="memdesc:a0f8e1cb1e96ea53e9efe42dbb0fcffee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls what fields of a class will be auto serialized by this serializer.  <a href="#a0f8e1cb1e96ea53e9efe42dbb0fcffee">More...</a><br /></td></tr>
+<tr class="separator:a0f8e1cb1e96ea53e9efe42dbb0fcffee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77edc9c5289c56e81150367a55656366"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01094.html#a77edc9c5289c56e81150367a55656366">IsIdentityField</a> (FieldInfo^ fi, Type^ type)</td></tr>
+<tr class="memdesc:a77edc9c5289c56e81150367a55656366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls what fields of a class that is auto serialized will be marked as pdx identity fields.  <a href="#a77edc9c5289c56e81150367a55656366">More...</a><br /></td></tr>
+<tr class="separator:a77edc9c5289c56e81150367a55656366"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae02f0f5e7301525df6dcba830ea7667e"><td class="memItemLeft" align="right" valign="top">virtual Object ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01094.html#ae02f0f5e7301525df6dcba830ea7667e">ReadTransform</a> (FieldInfo^ fi, Type^ type, Object^ serializeValue)</td></tr>
+<tr class="memdesc:ae02f0f5e7301525df6dcba830ea7667e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls what field value is read during auto deserialization.  <a href="#ae02f0f5e7301525df6dcba830ea7667e">More...</a><br /></td></tr>
+<tr class="separator:ae02f0f5e7301525df6dcba830ea7667e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a7fee9ac7d5b32600ea1729e2a6b50a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01094.html#a0a7fee9ac7d5b32600ea1729e2a6b50a">ToData</a> (Object^ o, <a class="el" href="a00994.html">IPdxWriter</a>^ writer)</td></tr>
+<tr class="memdesc:a0a7fee9ac7d5b32600ea1729e2a6b50a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serializes this object in geode PDX format.  <a href="#a0a7fee9ac7d5b32600ea1729e2a6b50a">More...</a><br /></td></tr>
+<tr class="separator:a0a7fee9ac7d5b32600ea1729e2a6b50a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a514fe5de7c42032425d365f3f6dfdb0e"><td class="memItemLeft" align="right" valign="top">virtual Object ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01094.html#a514fe5de7c42032425d365f3f6dfdb0e">WriteTransform</a> (FieldInfo^ fi, Type^ type, Object^ originalValue)</td></tr>
+<tr class="memdesc:a514fe5de7c42032425d365f3f6dfdb0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls what field value is written during auto serialization.  <a href="#a514fe5de7c42032425d365f3f6dfdb0e">More...</a><br /></td></tr>
+<tr class="separator:a514fe5de7c42032425d365f3f6dfdb0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This class uses .NET reflection in conjunction with <a class="el" href="a00982.html" title="The IPdxSerializer interface allows domain classes to be serialized and deserialized as PDXs without ...">IPdxSerializer</a> to perform automatic serialization of domain objects. The implication is that the domain classes do not need to implement the <a class="el" href="a00978.html">interface. This implementation will serialize all relevant fields. This will not serialize the fields which has defined attribute NonSerialized. This will not serialize the static, literal and readonly fields. Use </a> to define member field as identity field. Identity fields are used for hashcode creation and equals methods.</p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="af4fa044a16e0f27e438125d03e30d96d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af4fa044a16e0f27e438125d03e30d96d">&#9670;&nbsp;</a></span>CreateObject()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual Object ^ Apache::Geode::Client::ReflectionBasedAutoSerializer::CreateObject </td>
+          <td>(</td>
+          <td class="paramtype">String^&#160;</td>
+          <td class="paramname"><em>className</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00410.html">Cache</a>^&#160;</td>
+          <td class="paramname"><em>cache</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Overirde this method to create default instance of </p><div class="fragment"><div class="line">className</div></div><!-- fragment --><p> Otherwise it will create instance using zer arg public constructor </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">className</td><td>name of the class to create default instance </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the defaulf instance </dd></dl>
+
+</div>
+</div>
+<a id="af75d72e375954334c9f11ad1e7efe65b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af75d72e375954334c9f11ad1e7efe65b">&#9670;&nbsp;</a></span>FromData()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual Object ^ Apache::Geode::Client::ReflectionBasedAutoSerializer::FromData </td>
+          <td>(</td>
+          <td class="paramtype">String^&#160;</td>
+          <td class="paramname"><em>classname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00974.html">IPdxReader</a>^&#160;</td>
+          <td class="paramname"><em>reader</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Deserialize this object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">classname</td><td>the classname whose object need to de-serialize </td></tr>
+    <tr><td class="paramname">reader</td><td>the <a class="el" href="a00974.html" title="A IPdxReader will be passed to IPdxSerializable.fromData or during deserialization of a PDX.">IPdxReader</a> stream to use for reading the object data </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="a00982.html#a5fd763574f64fa778f109df605904d78">Apache::Geode::Client::IPdxSerializer</a>.</p>
+
+</div>
+</div>
+<a id="a4aea2cef72a21e8bcf6931e985398fa3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4aea2cef72a21e8bcf6931e985398fa3">&#9670;&nbsp;</a></span>GetFieldName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual String ^ Apache::Geode::Client::ReflectionBasedAutoSerializer::GetFieldName </td>
+          <td>(</td>
+          <td class="paramtype">FieldInfo^&#160;</td>
+          <td class="paramname"><em>fi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Type^&#160;</td>
+          <td class="paramname"><em>type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Controls the field name that will be used in pdx for a field being auto serialized. </p>
+<p>Override this method to customize the field names that will be generated by auto serialization. It allows you to convert a local, language dependent name, to a more portable name. The returned name is the one that will show up in a <a class="el" href="a00966.html" title="PdxInstance provides run time access to the fields of a PDX without deserializing the PDX.">IPdxInstance</a> and that one that will need to be used to access the field when doing a query. </p>
+<p>The default implementation returns the name obtained from <code>fi</code>. </p>
+<p>This method is only called the first time it sees a new class. The result will be remembered and used the next time the same class is seen. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">fi</td><td>the field whose name is returned.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>&lt;param name"type"&gt; type the original class being serialized that owns this field.</p>
+<dl class="section return"><dt>Returns</dt><dd>the name of the field </dd></dl>
+
+</div>
+</div>
+<a id="a4096028bd472d47d3bdbcbcafde94ca8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4096028bd472d47d3bdbcbcafde94ca8">&#9670;&nbsp;</a></span>GetFieldType()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="a00382.html#a25534680ef2bea4c25253ae9d809bed6">FieldType</a> Apache::Geode::Client::ReflectionBasedAutoSerializer::GetFieldType </td>
+          <td>(</td>
+          <td class="paramtype">FieldInfo^&#160;</td>
+          <td class="paramname"><em>fi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Type^&#160;</td>
+          <td class="paramname"><em>type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Controls what pdx field type will be used when auto serializing. </p>
+<p>Override this method to customize what pdx field type will be used for a given domain class field. </p>
+<p>The default implementation uses type of field. </p>
+<p>This method is only called the first time it sees a new class. The result will be remembered and used the next time the same class is seen. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">fi</td><td>the field whose pdx field type needs to be determined </td></tr>
+    <tr><td class="paramname">type</td><td>the original class being serialized that owns this field.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the pdx field type of the given domain class field.</dd></dl>
+
+</div>
+</div>
+<a id="a0f8e1cb1e96ea53e9efe42dbb0fcffee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0f8e1cb1e96ea53e9efe42dbb0fcffee">&#9670;&nbsp;</a></span>IsFieldIncluded()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual bool Apache::Geode::Client::ReflectionBasedAutoSerializer::IsFieldIncluded </td>
+          <td>(</td>
+          <td class="paramtype">FieldInfo^&#160;</td>
+          <td class="paramname"><em>fi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Type^&#160;</td>
+          <td class="paramname"><em>type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Controls what fields of a class will be auto serialized by this serializer. </p>
+<p>Override this method to customize what fields of a class will be auto serialized. The default implementation: </p><ul>
+<li>
+excludes NonSerialized fields  </li>
+<li>
+excludes static fields  </li>
+<li>
+excludes literal fields  </li>
+<li>
+excludes readonly fields   </li>
+</ul>
+<p>All other fields are included. This method is only called the first time it sees a new class. The result will be remembered and used the next time the same class is seen. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">fi</td><td>the field being considered for serialization</td></tr>
+    <tr><td class="paramname">type</td><td>the original class being serialized that owns this field.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the field should be serialized as a pdx field; false if it should be ignored.</dd></dl>
+
+</div>
+</div>
+<a id="a77edc9c5289c56e81150367a55656366"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a77edc9c5289c56e81150367a55656366">&#9670;&nbsp;</a></span>IsIdentityField()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual bool Apache::Geode::Client::ReflectionBasedAutoSerializer::IsIdentityField </td>
+          <td>(</td>
+          <td class="paramtype">FieldInfo^&#160;</td>
+          <td class="paramname"><em>fi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Type^&#160;</td>
+          <td class="paramname"><em>type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Controls what fields of a class that is auto serialized will be marked as pdx identity fields. </p>
+<p>Override this method to customize what fields of an auto serialized class will be identity fields. Identity fields are used when a <a class="el" href="a00966.html" title="PdxInstance provides run time access to the fields of a PDX without deserializing the PDX.">IPdxInstance</a> computes its hash code and checks to see if it is equal to another object. </p>
+<p>The default implementation only marks fields that match an "#identity=" pattern as identity fields. </p>
+<p>This method is only called the first time it sees a new class. The result will be remembered and used the next time the same class is seen. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">fi</td><td>the field to test to see if it is an identity field.</td></tr>
+    <tr><td class="paramname">type</td><td>the original class being serialized that owns this field.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>true if the field should be marked as an identity field; false if not. </dd></dl>
+
+</div>
+</div>
+<a id="ae02f0f5e7301525df6dcba830ea7667e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae02f0f5e7301525df6dcba830ea7667e">&#9670;&nbsp;</a></span>ReadTransform()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual Object ^ Apache::Geode::Client::ReflectionBasedAutoSerializer::ReadTransform </td>
+          <td>(</td>
+          <td class="paramtype">FieldInfo^&#160;</td>
+          <td class="paramname"><em>fi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Type^&#160;</td>
+          <td class="paramname"><em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Object^&#160;</td>
+          <td class="paramname"><em>serializeValue</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Controls what field value is read during auto deserialization. </p>
+<p>Override this method to customize the data that will be read during auto deserialization. This method will only be called if <a class="el" href="">transformFieldValue</a> returned true. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">fi</td><td>the field in question </td></tr>
+    <tr><td class="paramname">type</td><td>the original class being serialized that owns this field. Note that this field may have been inherited from a super class by this class.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>the value of the field that was serialized for this field.</p>
+<dl class="section return"><dt>Returns</dt><dd>the actual value to write for this field. Return <div class="fragment"><div class="line">serializedValue</div></div><!-- fragment --> if you decide not to transform the value. </dd></dl>
+
+</div>
+</div>
+<a id="a0a7fee9ac7d5b32600ea1729e2a6b50a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0a7fee9ac7d5b32600ea1729e2a6b50a">&#9670;&nbsp;</a></span>ToData()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual bool Apache::Geode::Client::ReflectionBasedAutoSerializer::ToData </td>
+          <td>(</td>
+          <td class="paramtype">Object^&#160;</td>
+          <td class="paramname"><em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00994.html">IPdxWriter</a>^&#160;</td>
+          <td class="paramname"><em>writer</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Serializes this object in geode PDX format. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">o</td><td>the object which need to serialize </td></tr>
+    <tr><td class="paramname">writer</td><td>the <a class="el" href="a00994.html" title="A IPdxWriter will be passed to IPdxSerializable.toData when it is serializing the domain class.">IPdxWriter</a> object to use for serializing the object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Implements <a class="el" href="a00982.html#afaf1bc50a405f4aa0098b0cac995308e">Apache::Geode::Client::IPdxSerializer</a>.</p>
+
+</div>
+</div>
+<a id="a514fe5de7c42032425d365f3f6dfdb0e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a514fe5de7c42032425d365f3f6dfdb0e">&#9670;&nbsp;</a></span>WriteTransform()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual Object ^ Apache::Geode::Client::ReflectionBasedAutoSerializer::WriteTransform </td>
+          <td>(</td>
+          <td class="paramtype">FieldInfo^&#160;</td>
+          <td class="paramname"><em>fi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Type^&#160;</td>
+          <td class="paramname"><em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Object^&#160;</td>
+          <td class="paramname"><em>originalValue</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Controls what field value is written during auto serialization. </p>
+<p>Override this method to customize the data that will be written during auto serialization. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">fi</td><td>the field in question</td></tr>
+    <tr><td class="paramname">type</td><td>the original class being serialized that owns this field.</td></tr>
+    <tr><td class="paramname">originalValue</td><td>the value of the field that was read from the domain object.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the actual value to write for this field. Return <div class="fragment"><div class="line">originalValue</div></div><!-- fragment --> if you decide not to transform the value. </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!--
+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.
+-->
+<HR><address style="align: right;"><small>Apache Geode C++ Cache .NET API Documentation</small></address>
diff --git a/releases/latest/dotnetdocs/a01094.js b/releases/latest/dotnetdocs/a01094.js
new file mode 100644
index 0000000..ffff225
--- /dev/null
+++ b/releases/latest/dotnetdocs/a01094.js
@@ -0,0 +1,12 @@
+var a01094 =
+[
+    [ "CreateObject", "a01094.html#af4fa044a16e0f27e438125d03e30d96d", null ],
+    [ "FromData", "a01094.html#af75d72e375954334c9f11ad1e7efe65b", null ],
+    [ "GetFieldName", "a01094.html#a4aea2cef72a21e8bcf6931e985398fa3", null ],
+    [ "GetFieldType", "a01094.html#a4096028bd472d47d3bdbcbcafde94ca8", null ],
+    [ "IsFieldIncluded", "a01094.html#a0f8e1cb1e96ea53e9efe42dbb0fcffee", null ],
+    [ "IsIdentityField", "a01094.html#a77edc9c5289c56e81150367a55656366", null ],
+    [ "ReadTransform", "a01094.html#ae02f0f5e7301525df6dcba830ea7667e", null ],
+    [ "ToData", "a01094.html#a0a7fee9ac7d5b32600ea1729e2a6b50a", null ],
+    [ "WriteTransform", "a01094.html#a514fe5de7c42032425d365f3f6dfdb0e", null ]
+];
\ No newline at end of file
diff --git a/releases/latest/dotnetdocs/a01098.html b/releases/latest/dotnetdocs/a01098.html
index 419362d..2e846c2 100644
--- a/releases/latest/dotnetdocs/a01098.html
+++ b/releases/latest/dotnetdocs/a01098.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01102.html b/releases/latest/dotnetdocs/a01102.html
index 89a83e2..6db034f 100644
--- a/releases/latest/dotnetdocs/a01102.html
+++ b/releases/latest/dotnetdocs/a01102.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01106.html b/releases/latest/dotnetdocs/a01106.html
index 0ea50db..49dfff1 100644
--- a/releases/latest/dotnetdocs/a01106.html
+++ b/releases/latest/dotnetdocs/a01106.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01110.html b/releases/latest/dotnetdocs/a01110.html
index a17f511..2e93613 100644
--- a/releases/latest/dotnetdocs/a01110.html
+++ b/releases/latest/dotnetdocs/a01110.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01114.html b/releases/latest/dotnetdocs/a01114.html
index cf44a8b..98ea4ee 100644
--- a/releases/latest/dotnetdocs/a01114.html
+++ b/releases/latest/dotnetdocs/a01114.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01118.html b/releases/latest/dotnetdocs/a01118.html
index b52cb08..adc3c9c 100644
--- a/releases/latest/dotnetdocs/a01118.html
+++ b/releases/latest/dotnetdocs/a01118.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01122.html b/releases/latest/dotnetdocs/a01122.html
index e496a29..a0967d5 100644
--- a/releases/latest/dotnetdocs/a01122.html
+++ b/releases/latest/dotnetdocs/a01122.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01126.html b/releases/latest/dotnetdocs/a01126.html
index 09888e4..ae98252 100644
--- a/releases/latest/dotnetdocs/a01126.html
+++ b/releases/latest/dotnetdocs/a01126.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01130.html b/releases/latest/dotnetdocs/a01130.html
new file mode 100644
index 0000000..168b8f6
--- /dev/null
+++ b/releases/latest/dotnetdocs/a01130.html
@@ -0,0 +1,990 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Geode Native .NET Reference: Apache::Geode::Client::SystemProperties Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+  $(document).ready(initResizable);
+/* @license-end */</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Apache Geode Native .NET Reference
+   &#160;<span id="projectnumber">0.0.42</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.15 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('a01130.html','');});
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#properties">Properties</a>  </div>
+  <div class="headertitle">
+<div class="title">Apache::Geode::Client::SystemProperties Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A class for internal use that encapsulates the properties that can be set through <a class="el" href="a00614.html#a0e1fbe633fe9ca276d086b8917fcfb32" title="Initializes the Native Client system to be able to connect to the Geode Java servers.">DistributedSystem.Connect</a> or a geode.properties file.  
+ <a href="a01130.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:adacb1b5d6f8b58653847a003ea6da6d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#adacb1b5d6f8b58653847a003ea6da6d9">LogSettings</a> ()</td></tr>
+<tr class="memdesc:adacb1b5d6f8b58653847a003ea6da6d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints all settings to the process log.  <a href="#adacb1b5d6f8b58653847a003ea6da6d9">More...</a><br /></td></tr>
+<tr class="separator:adacb1b5d6f8b58653847a003ea6da6d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
+Properties</h2></td></tr>
+<tr class="memitem:ad1385fe85b1551993560d9029c8a35b3"><td class="memItemLeft" align="right" valign="top">String^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#ad1385fe85b1551993560d9029c8a35b3">CacheXmlFile</a><code> [get]</code></td></tr>
+<tr class="memdesc:ad1385fe85b1551993560d9029c8a35b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the "cache.xml" file.  <a href="#ad1385fe85b1551993560d9029c8a35b3">More...</a><br /></td></tr>
+<tr class="separator:ad1385fe85b1551993560d9029c8a35b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63f0bf9883db414df6138ca2849bf598"><td class="memItemLeft" align="right" valign="top">String^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a63f0bf9883db414df6138ca2849bf598">ConflateEvents</a><code> [get]</code></td></tr>
+<tr class="memdesc:a63f0bf9883db414df6138ca2849bf598"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the conflate event's option  <a href="#a63f0bf9883db414df6138ca2849bf598">More...</a><br /></td></tr>
+<tr class="separator:a63f0bf9883db414df6138ca2849bf598"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a981013e3a571de2d00a4d47b449e6483"><td class="memItemLeft" align="right" valign="top">TimeSpan&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a981013e3a571de2d00a4d47b449e6483">ConnectTimeout</a><code> [get]</code></td></tr>
+<tr class="memdesc:a981013e3a571de2d00a4d47b449e6483"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the connect timeout used for server and locator handshakes.  <a href="#a981013e3a571de2d00a4d47b449e6483">More...</a><br /></td></tr>
+<tr class="separator:a981013e3a571de2d00a4d47b449e6483"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adce23229610f42db78eab2b703531b5b"><td class="memItemLeft" align="right" valign="top">String^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#adce23229610f42db78eab2b703531b5b">DurableClientId</a><code> [get]</code></td></tr>
+<tr class="memdesc:adce23229610f42db78eab2b703531b5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the durable client's ID.  <a href="#adce23229610f42db78eab2b703531b5b">More...</a><br /></td></tr>
+<tr class="separator:adce23229610f42db78eab2b703531b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c668a79947b477a45a9a5508a1598bb"><td class="memItemLeft" align="right" valign="top">TimeSpan&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a1c668a79947b477a45a9a5508a1598bb">DurableTimeout</a><code> [get]</code></td></tr>
+<tr class="memdesc:a1c668a79947b477a45a9a5508a1598bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the durable client's timeout.  <a href="#a1c668a79947b477a45a9a5508a1598bb">More...</a><br /></td></tr>
+<tr class="separator:a1c668a79947b477a45a9a5508a1598bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d94e2ef37fdd7d60c2b41b7101d363b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00406.html">Properties</a>&lt; String^, String^&gt;^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a5d94e2ef37fdd7d60c2b41b7101d363b">GetSecurityProperties</a><code> [get]</code></td></tr>
+<tr class="memdesc:a5d94e2ef37fdd7d60c2b41b7101d363b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all the security properties  <a href="#a5d94e2ef37fdd7d60c2b41b7101d363b">More...</a><br /></td></tr>
+<tr class="separator:a5d94e2ef37fdd7d60c2b41b7101d363b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a492f983b535fd5eae409e4f886e941f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00382.html#adbfce8e56c7ef4e4511637b4539dbcfa">LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a492f983b535fd5eae409e4f886e941f6">GFLogLevel</a><code> [get]</code></td></tr>
+<tr class="memdesc:a492f983b535fd5eae409e4f886e941f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the message logging level.  <a href="#a492f983b535fd5eae409e4f886e941f6">More...</a><br /></td></tr>
+<tr class="separator:a492f983b535fd5eae409e4f886e941f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d8f6423ff38d74dd1d11b86d773ad59"><td class="memItemLeft" align="right" valign="top">System::Int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a4d8f6423ff38d74dd1d11b86d773ad59">HeapLRUDelta</a><code> [get]</code></td></tr>
+<tr class="memdesc:a4d8f6423ff38d74dd1d11b86d773ad59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the HeapLRUDelta value (a percent value).  <a href="#a4d8f6423ff38d74dd1d11b86d773ad59">More...</a><br /></td></tr>
+<tr class="separator:a4d8f6423ff38d74dd1d11b86d773ad59"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5652ff4cbfd3083c9ffd511ae1dd50b4"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a5652ff4cbfd3083c9ffd511ae1dd50b4">HeapLRULimit</a><code> [get]</code></td></tr>
+<tr class="memdesc:a5652ff4cbfd3083c9ffd511ae1dd50b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the HeapLRULimit value (in bytes), the maximum memory that values in a cache can use to store data before overflowing to disk or destroying entries to ensure that the server process never runs out of memory due to cache memory usage  <a href="#a5652ff4cbfd3083c9ffd511ae1dd50b4">More...</a><br /></td></tr>
+<tr class="separator:a5652ff4cbfd3083c9ffd511ae1dd50b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50f776cc03f9415ad15646d03048a0cd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a50f776cc03f9415ad15646d03048a0cd">HeapLRULimitEnabled</a><code> [get]</code></td></tr>
+<tr class="memdesc:a50f776cc03f9415ad15646d03048a0cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a boolean that specifies if heapLRULimit has been enabled for the process.  <a href="#a50f776cc03f9415ad15646d03048a0cd">More...</a><br /></td></tr>
+<tr class="separator:a50f776cc03f9415ad15646d03048a0cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1e05180cf0f3eeba2e9737789e784cb"><td class="memItemLeft" align="right" valign="top">System::Int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#af1e05180cf0f3eeba2e9737789e784cb">LogDiskSpaceLimit</a><code> [get]</code></td></tr>
+<tr class="memdesc:af1e05180cf0f3eeba2e9737789e784cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum log Disk size, in bytes, or 0 if unlimited.  <a href="#af1e05180cf0f3eeba2e9737789e784cb">More...</a><br /></td></tr>
+<tr class="separator:af1e05180cf0f3eeba2e9737789e784cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7cadf52efb25f0203e49e645ea6faa83"><td class="memItemLeft" align="right" valign="top">String^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a7cadf52efb25f0203e49e645ea6faa83">LogFileName</a><code> [get]</code></td></tr>
+<tr class="memdesc:a7cadf52efb25f0203e49e645ea6faa83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the message log file.  <a href="#a7cadf52efb25f0203e49e645ea6faa83">More...</a><br /></td></tr>
+<tr class="separator:a7cadf52efb25f0203e49e645ea6faa83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a411d9ecfb39f641002b0bba4538bd00d"><td class="memItemLeft" align="right" valign="top">System::Int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a411d9ecfb39f641002b0bba4538bd00d">LogFileSizeLimit</a><code> [get]</code></td></tr>
+<tr class="memdesc:a411d9ecfb39f641002b0bba4538bd00d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum log file size, in bytes, or 0 if unlimited.  <a href="#a411d9ecfb39f641002b0bba4538bd00d">More...</a><br /></td></tr>
+<tr class="separator:a411d9ecfb39f641002b0bba4538bd00d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad650a6d35a4294a120b02ee523b8c985"><td class="memItemLeft" align="right" valign="top">System::Int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#ad650a6d35a4294a120b02ee523b8c985">MaxSocketBufferSize</a><code> [get]</code></td></tr>
+<tr class="memdesc:ad650a6d35a4294a120b02ee523b8c985"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum socket buffer size to use  <a href="#ad650a6d35a4294a120b02ee523b8c985">More...</a><br /></td></tr>
+<tr class="separator:ad650a6d35a4294a120b02ee523b8c985"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1a2d94bbe961f03da2f2d1c1d957d77"><td class="memItemLeft" align="right" valign="top">String^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#af1a2d94bbe961f03da2f2d1c1d957d77">Name</a><code> [get]</code></td></tr>
+<tr class="memdesc:af1a2d94bbe961f03da2f2d1c1d957d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the system name.  <a href="#af1a2d94bbe961f03da2f2d1c1d957d77">More...</a><br /></td></tr>
+<tr class="separator:af1a2d94bbe961f03da2f2d1c1d957d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa87a803494b7819ff61c3d2e050fd47b"><td class="memItemLeft" align="right" valign="top">TimeSpan&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#aa87a803494b7819ff61c3d2e050fd47b">NotifyAckInterval</a><code> [get]</code></td></tr>
+<tr class="memdesc:aa87a803494b7819ff61c3d2e050fd47b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the periodic notify ack interval  <a href="#aa87a803494b7819ff61c3d2e050fd47b">More...</a><br /></td></tr>
+<tr class="separator:aa87a803494b7819ff61c3d2e050fd47b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5df68632e67a0053a1e25b0c01ae1a7"><td class="memItemLeft" align="right" valign="top">TimeSpan&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#ab5df68632e67a0053a1e25b0c01ae1a7">NotifyDupCheckLife</a><code> [get]</code></td></tr>
+<tr class="memdesc:ab5df68632e67a0053a1e25b0c01ae1a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the expiry time of an idle event id map entry for duplicate notification checking  <a href="#ab5df68632e67a0053a1e25b0c01ae1a7">More...</a><br /></td></tr>
+<tr class="separator:ab5df68632e67a0053a1e25b0c01ae1a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52733854d1cbb29256bad6f38f92e765"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a52733854d1cbb29256bad6f38f92e765">OnClientDisconnectClearPdxTypeIds</a><code> [get]</code></td></tr>
+<tr class="memdesc:a52733854d1cbb29256bad6f38f92e765"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if app want to clear pdx types ids on client disconnect  <a href="#a52733854d1cbb29256bad6f38f92e765">More...</a><br /></td></tr>
+<tr class="separator:a52733854d1cbb29256bad6f38f92e765"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e22cb2b08bae08012d4c4d4c7c4e081"><td class="memItemLeft" align="right" valign="top">TimeSpan&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a7e22cb2b08bae08012d4c4d4c7c4e081">PingInterval</a><code> [get]</code></td></tr>
+<tr class="memdesc:a7e22cb2b08bae08012d4c4d4c7c4e081"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the time between two consecutive ping to servers  <a href="#a7e22cb2b08bae08012d4c4d4c7c4e081">More...</a><br /></td></tr>
+<tr class="separator:a7e22cb2b08bae08012d4c4d4c7c4e081"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5678020af5b45534b945d08318fa0cb"><td class="memItemLeft" align="right" valign="top">TimeSpan&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#ac5678020af5b45534b945d08318fa0cb">RedundancyMonitorInterval</a><code> [get]</code></td></tr>
+<tr class="memdesc:ac5678020af5b45534b945d08318fa0cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the time between two consecutive checks for redundancy for HA  <a href="#ac5678020af5b45534b945d08318fa0cb">More...</a><br /></td></tr>
+<tr class="separator:ac5678020af5b45534b945d08318fa0cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62cb0ba06becb585a9708d04c58ebc73"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a62cb0ba06becb585a9708d04c58ebc73">SSLEnabled</a><code> [get]</code></td></tr>
+<tr class="memdesc:a62cb0ba06becb585a9708d04c58ebc73"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if ssl connection support is enabled.  <a href="#a62cb0ba06becb585a9708d04c58ebc73">More...</a><br /></td></tr>
+<tr class="separator:a62cb0ba06becb585a9708d04c58ebc73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2de5f1854dabc35c0d0546f90c25f2c1"><td class="memItemLeft" align="right" valign="top">String^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a2de5f1854dabc35c0d0546f90c25f2c1">SSLKeyStore</a><code> [get]</code></td></tr>
+<tr class="memdesc:a2de5f1854dabc35c0d0546f90c25f2c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the SSL private keystore file path.  <a href="#a2de5f1854dabc35c0d0546f90c25f2c1">More...</a><br /></td></tr>
+<tr class="separator:a2de5f1854dabc35c0d0546f90c25f2c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aebebdfd72665c07964e1cd851a46ddfa"><td class="memItemLeft" align="right" valign="top">String^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#aebebdfd72665c07964e1cd851a46ddfa">SSLKeystorePassword</a><code> [get]</code></td></tr>
+<tr class="memdesc:aebebdfd72665c07964e1cd851a46ddfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the client keystore password.  <a href="#aebebdfd72665c07964e1cd851a46ddfa">More...</a><br /></td></tr>
+<tr class="separator:aebebdfd72665c07964e1cd851a46ddfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe3f0b34aeb8c92db57e4ab3925652d5"><td class="memItemLeft" align="right" valign="top">String^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#afe3f0b34aeb8c92db57e4ab3925652d5">SSLTrustStore</a><code> [get]</code></td></tr>
+<tr class="memdesc:afe3f0b34aeb8c92db57e4ab3925652d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the SSL public certificate trust store file path.  <a href="#afe3f0b34aeb8c92db57e4ab3925652d5">More...</a><br /></td></tr>
+<tr class="separator:afe3f0b34aeb8c92db57e4ab3925652d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3c3aba98192c32b200e8b0966797db2"><td class="memItemLeft" align="right" valign="top">String^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#af3c3aba98192c32b200e8b0966797db2">StatisticsArchiveFile</a><code> [get]</code></td></tr>
+<tr class="memdesc:af3c3aba98192c32b200e8b0966797db2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the statistics archive file.  <a href="#af3c3aba98192c32b200e8b0966797db2">More...</a><br /></td></tr>
+<tr class="separator:af3c3aba98192c32b200e8b0966797db2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2a6504017d877c1d5df01fcf6f383e5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#ae2a6504017d877c1d5df01fcf6f383e5">StatisticsEnabled</a><code> [get]</code></td></tr>
+<tr class="memdesc:ae2a6504017d877c1d5df01fcf6f383e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if statistics are enabled (archived).  <a href="#ae2a6504017d877c1d5df01fcf6f383e5">More...</a><br /></td></tr>
+<tr class="separator:ae2a6504017d877c1d5df01fcf6f383e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23a815a6dad231f14cd48da34adfca4f"><td class="memItemLeft" align="right" valign="top">TimeSpan&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a23a815a6dad231f14cd48da34adfca4f">StatisticsSampleInterval</a><code> [get]</code></td></tr>
+<tr class="memdesc:a23a815a6dad231f14cd48da34adfca4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the sampling interval, that is, how often the statistics thread writes to disk, in seconds.  <a href="#a23a815a6dad231f14cd48da34adfca4f">More...</a><br /></td></tr>
+<tr class="separator:a23a815a6dad231f14cd48da34adfca4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af007147b4c113a5ae55d719f8686885e"><td class="memItemLeft" align="right" valign="top">System::Int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#af007147b4c113a5ae55d719f8686885e">StatsDiskSpaceLimit</a><code> [get]</code></td></tr>
+<tr class="memdesc:af007147b4c113a5ae55d719f8686885e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum statistics Disk size, in bytes, or 0 if unlimited.  <a href="#af007147b4c113a5ae55d719f8686885e">More...</a><br /></td></tr>
+<tr class="separator:af007147b4c113a5ae55d719f8686885e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a681e4fe631658129ab8870ba5313f24a"><td class="memItemLeft" align="right" valign="top">System::Int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#a681e4fe631658129ab8870ba5313f24a">StatsFileSizeLimit</a><code> [get]</code></td></tr>
+<tr class="memdesc:a681e4fe631658129ab8870ba5313f24a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the maximum statistics file size, in bytes, or 0 if unlimited.  <a href="#a681e4fe631658129ab8870ba5313f24a">More...</a><br /></td></tr>
+<tr class="separator:a681e4fe631658129ab8870ba5313f24a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff0b5437edb8e1243c6e3d9224460708"><td class="memItemLeft" align="right" valign="top">TimeSpan&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01130.html#aff0b5437edb8e1243c6e3d9224460708">SuspendedTxTimeout</a><code> [get]</code></td></tr>
+<tr class="memdesc:aff0b5437edb8e1243c6e3d9224460708"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the timeout after which suspended transactions are rolled back.  <a href="#aff0b5437edb8e1243c6e3d9224460708">More...</a><br /></td></tr>
+<tr class="separator:aff0b5437edb8e1243c6e3d9224460708"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A class for internal use that encapsulates the properties that can be set through <a class="el" href="a00614.html#a0e1fbe633fe9ca276d086b8917fcfb32" title="Initializes the Native Client system to be able to connect to the Geode Java servers.">DistributedSystem.Connect</a> or a geode.properties file. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="adacb1b5d6f8b58653847a003ea6da6d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adacb1b5d6f8b58653847a003ea6da6d9">&#9670;&nbsp;</a></span>LogSettings()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void Apache::Geode::Client::SystemProperties::LogSettings </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Prints all settings to the process log. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Property Documentation</h2>
+<a id="ad1385fe85b1551993560d9029c8a35b3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad1385fe85b1551993560d9029c8a35b3">&#9670;&nbsp;</a></span>CacheXmlFile</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">String^ Apache::Geode::Client::SystemProperties::CacheXmlFile</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the name of the "cache.xml" file. </p>
+<dl class="section return"><dt>Returns</dt><dd>the filename</dd></dl>
+
+</div>
+</div>
+<a id="a63f0bf9883db414df6138ca2849bf598"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63f0bf9883db414df6138ca2849bf598">&#9670;&nbsp;</a></span>ConflateEvents</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">String^ Apache::Geode::Client::SystemProperties::ConflateEvents</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the conflate event's option </p>
+<dl class="section return"><dt>Returns</dt><dd>the conflate event option</dd></dl>
+
+</div>
+</div>
+<a id="a981013e3a571de2d00a4d47b449e6483"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a981013e3a571de2d00a4d47b449e6483">&#9670;&nbsp;</a></span>ConnectTimeout</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">TimeSpan Apache::Geode::Client::SystemProperties::ConnectTimeout</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the connect timeout used for server and locator handshakes. </p>
+<dl class="section return"><dt>Returns</dt><dd>the connect timeout used for server and locator handshakes</dd></dl>
+
+</div>
+</div>
+<a id="adce23229610f42db78eab2b703531b5b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adce23229610f42db78eab2b703531b5b">&#9670;&nbsp;</a></span>DurableClientId</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">String^ Apache::Geode::Client::SystemProperties::DurableClientId</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the durable client's ID. </p>
+<dl class="section return"><dt>Returns</dt><dd>the durable client ID</dd></dl>
+
+</div>
+</div>
+<a id="a1c668a79947b477a45a9a5508a1598bb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c668a79947b477a45a9a5508a1598bb">&#9670;&nbsp;</a></span>DurableTimeout</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">TimeSpan Apache::Geode::Client::SystemProperties::DurableTimeout</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the durable client's timeout. </p>
+<dl class="section return"><dt>Returns</dt><dd>the durable client timeout</dd></dl>
+
+</div>
+</div>
+<a id="a5d94e2ef37fdd7d60c2b41b7101d363b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5d94e2ef37fdd7d60c2b41b7101d363b">&#9670;&nbsp;</a></span>GetSecurityProperties</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00406.html">Properties</a>&lt; String^, String^&gt;^ Apache::Geode::Client::SystemProperties::GetSecurityProperties</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns all the security properties </p>
+<dl class="section return"><dt>Returns</dt><dd>the security properties</dd></dl>
+
+</div>
+</div>
+<a id="a492f983b535fd5eae409e4f886e941f6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a492f983b535fd5eae409e4f886e941f6">&#9670;&nbsp;</a></span>GFLogLevel</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00382.html#adbfce8e56c7ef4e4511637b4539dbcfa">LogLevel</a> Apache::Geode::Client::SystemProperties::GFLogLevel</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the message logging level. </p>
+<dl class="section return"><dt>Returns</dt><dd>the log level</dd></dl>
+
+</div>
+</div>
+<a id="a4d8f6423ff38d74dd1d11b86d773ad59"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4d8f6423ff38d74dd1d11b86d773ad59">&#9670;&nbsp;</a></span>HeapLRUDelta</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">System:: Int32 Apache::Geode::Client::SystemProperties::HeapLRUDelta</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the HeapLRUDelta value (a percent value). </p>
+<p>This specifies the percentage of entries the system will evict each time it detects that it has exceeded the HeapLRULimit. Defaults to 10% </p>
+<dl class="section return"><dt>Returns</dt><dd>the HeapLRUDelta value</dd></dl>
+
+</div>
+</div>
+<a id="a5652ff4cbfd3083c9ffd511ae1dd50b4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5652ff4cbfd3083c9ffd511ae1dd50b4">&#9670;&nbsp;</a></span>HeapLRULimit</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">size_t Apache::Geode::Client::SystemProperties::HeapLRULimit</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the HeapLRULimit value (in bytes), the maximum memory that values in a cache can use to store data before overflowing to disk or destroying entries to ensure that the server process never runs out of memory due to cache memory usage </p>
+<dl class="section return"><dt>Returns</dt><dd>the HeapLRULimit value</dd></dl>
+
+</div>
+</div>
+<a id="a50f776cc03f9415ad15646d03048a0cd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a50f776cc03f9415ad15646d03048a0cd">&#9670;&nbsp;</a></span>HeapLRULimitEnabled</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool Apache::Geode::Client::SystemProperties::HeapLRULimitEnabled</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns a boolean that specifies if heapLRULimit has been enabled for the process. </p>
+<p>If enabled, the HeapLRULimit specifies the maximum amount of memory that values in a cache can use to store data before overflowing to disk or destroying entries to ensure that the server process never runs out of memory </p>
+<dl class="section return"><dt>Returns</dt><dd>true if enabled</dd></dl>
+
+</div>
+</div>
+<a id="af1e05180cf0f3eeba2e9737789e784cb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af1e05180cf0f3eeba2e9737789e784cb">&#9670;&nbsp;</a></span>LogDiskSpaceLimit</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">System:: Int32 Apache::Geode::Client::SystemProperties::LogDiskSpaceLimit</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the maximum log Disk size, in bytes, or 0 if unlimited. </p>
+<dl class="section return"><dt>Returns</dt><dd>the maximum limit</dd></dl>
+
+</div>
+</div>
+<a id="a7cadf52efb25f0203e49e645ea6faa83"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7cadf52efb25f0203e49e645ea6faa83">&#9670;&nbsp;</a></span>LogFileName</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">String^ Apache::Geode::Client::SystemProperties::LogFileName</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the name of the message log file. </p>
+<dl class="section return"><dt>Returns</dt><dd>the filename</dd></dl>
+
+</div>
+</div>
+<a id="a411d9ecfb39f641002b0bba4538bd00d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a411d9ecfb39f641002b0bba4538bd00d">&#9670;&nbsp;</a></span>LogFileSizeLimit</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">System:: Int32 Apache::Geode::Client::SystemProperties::LogFileSizeLimit</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the maximum log file size, in bytes, or 0 if unlimited. </p>
+<dl class="section return"><dt>Returns</dt><dd>the maximum limit</dd></dl>
+
+</div>
+</div>
+<a id="ad650a6d35a4294a120b02ee523b8c985"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad650a6d35a4294a120b02ee523b8c985">&#9670;&nbsp;</a></span>MaxSocketBufferSize</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">System:: Int32 Apache::Geode::Client::SystemProperties::MaxSocketBufferSize</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the maximum socket buffer size to use </p>
+<dl class="section return"><dt>Returns</dt><dd>the MaxSocketBufferSize value</dd></dl>
+
+</div>
+</div>
+<a id="af1a2d94bbe961f03da2f2d1c1d957d77"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af1a2d94bbe961f03da2f2d1c1d957d77">&#9670;&nbsp;</a></span>Name</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">String^ Apache::Geode::Client::SystemProperties::Name</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the system name. </p>
+<dl class="section return"><dt>Returns</dt><dd>the name</dd></dl>
+
+</div>
+</div>
+<a id="aa87a803494b7819ff61c3d2e050fd47b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa87a803494b7819ff61c3d2e050fd47b">&#9670;&nbsp;</a></span>NotifyAckInterval</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">TimeSpan Apache::Geode::Client::SystemProperties::NotifyAckInterval</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the periodic notify ack interval </p>
+<dl class="section return"><dt>Returns</dt><dd>the NotifyAckInterval value</dd></dl>
+
+</div>
+</div>
+<a id="ab5df68632e67a0053a1e25b0c01ae1a7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab5df68632e67a0053a1e25b0c01ae1a7">&#9670;&nbsp;</a></span>NotifyDupCheckLife</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">TimeSpan Apache::Geode::Client::SystemProperties::NotifyDupCheckLife</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the expiry time of an idle event id map entry for duplicate notification checking </p>
+<dl class="section return"><dt>Returns</dt><dd>the NotifyDupCheckLife value</dd></dl>
+
+</div>
+</div>
+<a id="a52733854d1cbb29256bad6f38f92e765"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a52733854d1cbb29256bad6f38f92e765">&#9670;&nbsp;</a></span>OnClientDisconnectClearPdxTypeIds</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool Apache::Geode::Client::SystemProperties::OnClientDisconnectClearPdxTypeIds</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>True if app want to clear pdx types ids on client disconnect </p>
+<dl class="section return"><dt>Returns</dt><dd>true if enabled</dd></dl>
+
+</div>
+</div>
+<a id="a7e22cb2b08bae08012d4c4d4c7c4e081"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7e22cb2b08bae08012d4c4d4c7c4e081">&#9670;&nbsp;</a></span>PingInterval</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">TimeSpan Apache::Geode::Client::SystemProperties::PingInterval</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the time between two consecutive ping to servers </p>
+<dl class="section return"><dt>Returns</dt><dd>the PingInterval value</dd></dl>
+
+</div>
+</div>
+<a id="ac5678020af5b45534b945d08318fa0cb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5678020af5b45534b945d08318fa0cb">&#9670;&nbsp;</a></span>RedundancyMonitorInterval</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">TimeSpan Apache::Geode::Client::SystemProperties::RedundancyMonitorInterval</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the time between two consecutive checks for redundancy for HA </p>
+<dl class="section return"><dt>Returns</dt><dd>the RedundancyMonitorInterval value</dd></dl>
+
+</div>
+</div>
+<a id="a62cb0ba06becb585a9708d04c58ebc73"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a62cb0ba06becb585a9708d04c58ebc73">&#9670;&nbsp;</a></span>SSLEnabled</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool Apache::Geode::Client::SystemProperties::SSLEnabled</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>True if ssl connection support is enabled. </p>
+<dl class="section return"><dt>Returns</dt><dd>true if enabled</dd></dl>
+
+</div>
+</div>
+<a id="a2de5f1854dabc35c0d0546f90c25f2c1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2de5f1854dabc35c0d0546f90c25f2c1">&#9670;&nbsp;</a></span>SSLKeyStore</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">String^ Apache::Geode::Client::SystemProperties::SSLKeyStore</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the SSL private keystore file path. </p>
+<dl class="section return"><dt>Returns</dt><dd>the SSL private keystore file path</dd></dl>
+
+</div>
+</div>
+<a id="aebebdfd72665c07964e1cd851a46ddfa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aebebdfd72665c07964e1cd851a46ddfa">&#9670;&nbsp;</a></span>SSLKeystorePassword</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">String^ Apache::Geode::Client::SystemProperties::SSLKeystorePassword</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the client keystore password. </p>
+<dl class="section return"><dt>Returns</dt><dd>Returns the client keystore password.</dd></dl>
+
+</div>
+</div>
+<a id="afe3f0b34aeb8c92db57e4ab3925652d5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afe3f0b34aeb8c92db57e4ab3925652d5">&#9670;&nbsp;</a></span>SSLTrustStore</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">String^ Apache::Geode::Client::SystemProperties::SSLTrustStore</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the SSL public certificate trust store file path. </p>
+<dl class="section return"><dt>Returns</dt><dd>the SSL public certificate trust store file path</dd></dl>
+
+</div>
+</div>
+<a id="af3c3aba98192c32b200e8b0966797db2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af3c3aba98192c32b200e8b0966797db2">&#9670;&nbsp;</a></span>StatisticsArchiveFile</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">String^ Apache::Geode::Client::SystemProperties::StatisticsArchiveFile</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the name of the statistics archive file. </p>
+<dl class="section return"><dt>Returns</dt><dd>the filename</dd></dl>
+
+</div>
+</div>
+<a id="ae2a6504017d877c1d5df01fcf6f383e5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae2a6504017d877c1d5df01fcf6f383e5">&#9670;&nbsp;</a></span>StatisticsEnabled</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool Apache::Geode::Client::SystemProperties::StatisticsEnabled</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>True if statistics are enabled (archived). </p>
+<dl class="section return"><dt>Returns</dt><dd>true if enabled</dd></dl>
+
+</div>
+</div>
+<a id="a23a815a6dad231f14cd48da34adfca4f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a23a815a6dad231f14cd48da34adfca4f">&#9670;&nbsp;</a></span>StatisticsSampleInterval</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">TimeSpan Apache::Geode::Client::SystemProperties::StatisticsSampleInterval</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the sampling interval, that is, how often the statistics thread writes to disk, in seconds. </p>
+<dl class="section return"><dt>Returns</dt><dd>the statistics sampling interval</dd></dl>
+
+</div>
+</div>
+<a id="af007147b4c113a5ae55d719f8686885e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af007147b4c113a5ae55d719f8686885e">&#9670;&nbsp;</a></span>StatsDiskSpaceLimit</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">System:: Int32 Apache::Geode::Client::SystemProperties::StatsDiskSpaceLimit</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the maximum statistics Disk size, in bytes, or 0 if unlimited. </p>
+<dl class="section return"><dt>Returns</dt><dd>the maximum limit</dd></dl>
+
+</div>
+</div>
+<a id="a681e4fe631658129ab8870ba5313f24a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a681e4fe631658129ab8870ba5313f24a">&#9670;&nbsp;</a></span>StatsFileSizeLimit</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">System:: Int32 Apache::Geode::Client::SystemProperties::StatsFileSizeLimit</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the maximum statistics file size, in bytes, or 0 if unlimited. </p>
+<dl class="section return"><dt>Returns</dt><dd>the maximum limit</dd></dl>
+
+</div>
+</div>
+<a id="aff0b5437edb8e1243c6e3d9224460708"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aff0b5437edb8e1243c6e3d9224460708">&#9670;&nbsp;</a></span>SuspendedTxTimeout</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">TimeSpan Apache::Geode::Client::SystemProperties::SuspendedTxTimeout</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the timeout after which suspended transactions are rolled back. </p>
+<dl class="section return"><dt>Returns</dt><dd>the timeout for suspended transactions</dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!--
+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.
+-->
+<HR><address style="align: right;"><small>Apache Geode C++ Cache .NET API Documentation</small></address>
diff --git a/releases/latest/dotnetdocs/a01130.js b/releases/latest/dotnetdocs/a01130.js
new file mode 100644
index 0000000..98ab67e
--- /dev/null
+++ b/releases/latest/dotnetdocs/a01130.js
@@ -0,0 +1,34 @@
+var a01130 =
+[
+    [ "LogSettings", "a01130.html#adacb1b5d6f8b58653847a003ea6da6d9", null ],
+    [ "CacheXmlFile", "a01130.html#ad1385fe85b1551993560d9029c8a35b3", null ],
+    [ "ConflateEvents", "a01130.html#a63f0bf9883db414df6138ca2849bf598", null ],
+    [ "ConnectTimeout", "a01130.html#a981013e3a571de2d00a4d47b449e6483", null ],
+    [ "DurableClientId", "a01130.html#adce23229610f42db78eab2b703531b5b", null ],
+    [ "DurableTimeout", "a01130.html#a1c668a79947b477a45a9a5508a1598bb", null ],
+    [ "GetSecurityProperties", "a01130.html#a5d94e2ef37fdd7d60c2b41b7101d363b", null ],
+    [ "GFLogLevel", "a01130.html#a492f983b535fd5eae409e4f886e941f6", null ],
+    [ "HeapLRUDelta", "a01130.html#a4d8f6423ff38d74dd1d11b86d773ad59", null ],
+    [ "HeapLRULimit", "a01130.html#a5652ff4cbfd3083c9ffd511ae1dd50b4", null ],
+    [ "HeapLRULimitEnabled", "a01130.html#a50f776cc03f9415ad15646d03048a0cd", null ],
+    [ "LogDiskSpaceLimit", "a01130.html#af1e05180cf0f3eeba2e9737789e784cb", null ],
+    [ "LogFileName", "a01130.html#a7cadf52efb25f0203e49e645ea6faa83", null ],
+    [ "LogFileSizeLimit", "a01130.html#a411d9ecfb39f641002b0bba4538bd00d", null ],
+    [ "MaxSocketBufferSize", "a01130.html#ad650a6d35a4294a120b02ee523b8c985", null ],
+    [ "Name", "a01130.html#af1a2d94bbe961f03da2f2d1c1d957d77", null ],
+    [ "NotifyAckInterval", "a01130.html#aa87a803494b7819ff61c3d2e050fd47b", null ],
+    [ "NotifyDupCheckLife", "a01130.html#ab5df68632e67a0053a1e25b0c01ae1a7", null ],
+    [ "OnClientDisconnectClearPdxTypeIds", "a01130.html#a52733854d1cbb29256bad6f38f92e765", null ],
+    [ "PingInterval", "a01130.html#a7e22cb2b08bae08012d4c4d4c7c4e081", null ],
+    [ "RedundancyMonitorInterval", "a01130.html#ac5678020af5b45534b945d08318fa0cb", null ],
+    [ "SSLEnabled", "a01130.html#a62cb0ba06becb585a9708d04c58ebc73", null ],
+    [ "SSLKeyStore", "a01130.html#a2de5f1854dabc35c0d0546f90c25f2c1", null ],
+    [ "SSLKeystorePassword", "a01130.html#aebebdfd72665c07964e1cd851a46ddfa", null ],
+    [ "SSLTrustStore", "a01130.html#afe3f0b34aeb8c92db57e4ab3925652d5", null ],
+    [ "StatisticsArchiveFile", "a01130.html#af3c3aba98192c32b200e8b0966797db2", null ],
+    [ "StatisticsEnabled", "a01130.html#ae2a6504017d877c1d5df01fcf6f383e5", null ],
+    [ "StatisticsSampleInterval", "a01130.html#a23a815a6dad231f14cd48da34adfca4f", null ],
+    [ "StatsDiskSpaceLimit", "a01130.html#af007147b4c113a5ae55d719f8686885e", null ],
+    [ "StatsFileSizeLimit", "a01130.html#a681e4fe631658129ab8870ba5313f24a", null ],
+    [ "SuspendedTxTimeout", "a01130.html#aff0b5437edb8e1243c6e3d9224460708", null ]
+];
\ No newline at end of file
diff --git a/releases/latest/dotnetdocs/a01134.html b/releases/latest/dotnetdocs/a01134.html
index 92eff21..08d6590 100644
--- a/releases/latest/dotnetdocs/a01134.html
+++ b/releases/latest/dotnetdocs/a01134.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01138.html b/releases/latest/dotnetdocs/a01138.html
index 212dca3..9511708 100644
--- a/releases/latest/dotnetdocs/a01138.html
+++ b/releases/latest/dotnetdocs/a01138.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01142.html b/releases/latest/dotnetdocs/a01142.html
index ca1f142..9ed5a24 100644
--- a/releases/latest/dotnetdocs/a01142.html
+++ b/releases/latest/dotnetdocs/a01142.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01146.html b/releases/latest/dotnetdocs/a01146.html
index 0f51a3a..574af80 100644
--- a/releases/latest/dotnetdocs/a01146.html
+++ b/releases/latest/dotnetdocs/a01146.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/a01150.html b/releases/latest/dotnetdocs/a01150.html
new file mode 100644
index 0000000..5d9d606
--- /dev/null
+++ b/releases/latest/dotnetdocs/a01150.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.15"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>Apache Geode Native .NET Reference: Apache::Geode::Client::Utils Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+  $(document).ready(initResizable);
+/* @license-end */</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Apache Geode Native .NET Reference
+   &#160;<span id="projectnumber">0.0.42</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.15 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+$(document).ready(function(){initNavTree('a01150.html','');});
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="#properties">Properties</a>  </div>
+  <div class="headertitle">
+<div class="title">Apache::Geode::Client::Utils Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Some static utility methods.  
+ <a href="a01150.html#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a657a1cc7b7ff5e1b16e1a92c7510f43d"><td class="memItemLeft" align="right" valign="top">static MethodInfo ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01150.html#a657a1cc7b7ff5e1b16e1a92c7510f43d">LoadMethod</a> (String^ assemblyPath, String^ typeName, String^ methodName)</td></tr>
+<tr class="memdesc:a657a1cc7b7ff5e1b16e1a92c7510f43d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a method from the given assembly path using the default constructor (if not a static method) of the given type.  <a href="#a657a1cc7b7ff5e1b16e1a92c7510f43d">More...</a><br /></td></tr>
+<tr class="separator:a657a1cc7b7ff5e1b16e1a92c7510f43d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a19473d9cf42aae27b0d7383eb3bc55d4"><td class="memItemLeft" align="right" valign="top">static MethodInfo ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01150.html#a19473d9cf42aae27b0d7383eb3bc55d4">LoadMethodFrom</a> (String^ assemblyName, String^ typeName, String^ methodName)</td></tr>
+<tr class="memdesc:a19473d9cf42aae27b0d7383eb3bc55d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a method from the given assembly name using the default constructor (if not a static method) of the given type.  <a href="#a19473d9cf42aae27b0d7383eb3bc55d4">More...</a><br /></td></tr>
+<tr class="separator:a19473d9cf42aae27b0d7383eb3bc55d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
+Properties</h2></td></tr>
+<tr class="memitem:a31c5586fce17003ceadd586677faa13c"><td class="memItemLeft" align="right" valign="top">static System::Int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01150.html#a31c5586fce17003ceadd586677faa13c">LastError</a><code> [get]</code></td></tr>
+<tr class="memdesc:a31c5586fce17003ceadd586677faa13c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility method to get the calling thread's last system error code.  <a href="#a31c5586fce17003ceadd586677faa13c">More...</a><br /></td></tr>
+<tr class="separator:a31c5586fce17003ceadd586677faa13c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Some static utility methods. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="a657a1cc7b7ff5e1b16e1a92c7510f43d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a657a1cc7b7ff5e1b16e1a92c7510f43d">&#9670;&nbsp;</a></span>LoadMethod()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static MethodInfo ^ Apache::Geode::Client::Utils::LoadMethod </td>
+          <td>(</td>
+          <td class="paramtype">String^&#160;</td>
+          <td class="paramname"><em>assemblyPath</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">String^&#160;</td>
+          <td class="paramname"><em>typeName</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">String^&#160;</td>
+          <td class="paramname"><em>methodName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Load a method from the given assembly path using the default constructor (if not a static method) of the given type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">assemblyPath</td><td>The path of the assembly.</td></tr>
+    <tr><td class="paramname">typeName</td><td>The name of the class containing the method. </td></tr>
+    <tr><td class="paramname">methodName</td><td>The name of the method.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The <code>System.Reflection.MethodInfo</code> for the given method, or null if the method is not found. </dd></dl>
+
+</div>
+</div>
+<a id="a19473d9cf42aae27b0d7383eb3bc55d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a19473d9cf42aae27b0d7383eb3bc55d4">&#9670;&nbsp;</a></span>LoadMethodFrom()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static MethodInfo ^ Apache::Geode::Client::Utils::LoadMethodFrom </td>
+          <td>(</td>
+          <td class="paramtype">String^&#160;</td>
+          <td class="paramname"><em>assemblyName</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">String^&#160;</td>
+          <td class="paramname"><em>typeName</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">String^&#160;</td>
+          <td class="paramname"><em>methodName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Load a method from the given assembly name using the default constructor (if not a static method) of the given type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">assemblyName</td><td>The name of the assembly.</td></tr>
+    <tr><td class="paramname">typeName</td><td>The name of the class containing the method. </td></tr>
+    <tr><td class="paramname">methodName</td><td>The name of the method.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The <code>System.Reflection.MethodInfo</code> for the given method, or null if the method is not found. </dd></dl>
+
+</div>
+</div>
+<h2 class="groupheader">Property Documentation</h2>
+<a id="a31c5586fce17003ceadd586677faa13c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a31c5586fce17003ceadd586677faa13c">&#9670;&nbsp;</a></span>LastError</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">System:: Int32 Apache::Geode::Client::Utils::LastError</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">get</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Utility method to get the calling thread's last system error code. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!--
+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.
+-->
+<HR><address style="align: right;"><small>Apache Geode C++ Cache .NET API Documentation</small></address>
diff --git a/releases/latest/dotnetdocs/a01150.js b/releases/latest/dotnetdocs/a01150.js
new file mode 100644
index 0000000..061e7d5
--- /dev/null
+++ b/releases/latest/dotnetdocs/a01150.js
@@ -0,0 +1,6 @@
+var a01150 =
+[
+    [ "LoadMethod", "a01150.html#a657a1cc7b7ff5e1b16e1a92c7510f43d", null ],
+    [ "LoadMethodFrom", "a01150.html#a19473d9cf42aae27b0d7383eb3bc55d4", null ],
+    [ "LastError", "a01150.html#a31c5586fce17003ceadd586677faa13c", null ]
+];
\ No newline at end of file
diff --git a/releases/latest/dotnetdocs/annotated.html b/releases/latest/dotnetdocs/annotated.html
index 0d84e8e..c3971de 100644
--- a/releases/latest/dotnetdocs/annotated.html
+++ b/releases/latest/dotnetdocs/annotated.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/classes.html b/releases/latest/dotnetdocs/classes.html
index b49d230..1aca5c9 100644
--- a/releases/latest/dotnetdocs/classes.html
+++ b/releases/latest/dotnetdocs/classes.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/dir_573ddd42ab80d728e58d280a03f813d9.html b/releases/latest/dotnetdocs/dir_573ddd42ab80d728e58d280a03f813d9.html
index 1becded..5993e49 100644
--- a/releases/latest/dotnetdocs/dir_573ddd42ab80d728e58d280a03f813d9.html
+++ b/releases/latest/dotnetdocs/dir_573ddd42ab80d728e58d280a03f813d9.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/dir_98f198ca865874fa5ec8cb0284e49b83.html b/releases/latest/dotnetdocs/dir_98f198ca865874fa5ec8cb0284e49b83.html
index d068989..09329f5 100644
--- a/releases/latest/dotnetdocs/dir_98f198ca865874fa5ec8cb0284e49b83.html
+++ b/releases/latest/dotnetdocs/dir_98f198ca865874fa5ec8cb0284e49b83.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/dir_d4388efad0c891e42a08a8cc7b1820f6.html b/releases/latest/dotnetdocs/dir_d4388efad0c891e42a08a8cc7b1820f6.html
index d524b66..6fe2ea5 100644
--- a/releases/latest/dotnetdocs/dir_d4388efad0c891e42a08a8cc7b1820f6.html
+++ b/releases/latest/dotnetdocs/dir_d4388efad0c891e42a08a8cc7b1820f6.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/files.html b/releases/latest/dotnetdocs/files.html
index fc989b6..e78f6b7 100644
--- a/releases/latest/dotnetdocs/files.html
+++ b/releases/latest/dotnetdocs/files.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions.html b/releases/latest/dotnetdocs/functions.html
index 9605267..0fb96b9 100644
--- a/releases/latest/dotnetdocs/functions.html
+++ b/releases/latest/dotnetdocs/functions.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_a.html b/releases/latest/dotnetdocs/functions_a.html
index 7fbc837..c4ce92b 100644
--- a/releases/latest/dotnetdocs/functions_a.html
+++ b/releases/latest/dotnetdocs/functions_a.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_b.html b/releases/latest/dotnetdocs/functions_b.html
index 784fe69..9aacf84 100644
--- a/releases/latest/dotnetdocs/functions_b.html
+++ b/releases/latest/dotnetdocs/functions_b.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_c.html b/releases/latest/dotnetdocs/functions_c.html
index 54119c9..9ebfa69 100644
--- a/releases/latest/dotnetdocs/functions_c.html
+++ b/releases/latest/dotnetdocs/functions_c.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_d.html b/releases/latest/dotnetdocs/functions_d.html
index 3fa2e66..3f99f75 100644
--- a/releases/latest/dotnetdocs/functions_d.html
+++ b/releases/latest/dotnetdocs/functions_d.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_e.html b/releases/latest/dotnetdocs/functions_e.html
index b8bbcf1..3cbd20b 100644
--- a/releases/latest/dotnetdocs/functions_e.html
+++ b/releases/latest/dotnetdocs/functions_e.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_f.html b/releases/latest/dotnetdocs/functions_f.html
index acbacfc..22fac29 100644
--- a/releases/latest/dotnetdocs/functions_f.html
+++ b/releases/latest/dotnetdocs/functions_f.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func.html b/releases/latest/dotnetdocs/functions_func.html
index b6f0984..777ad67 100644
--- a/releases/latest/dotnetdocs/functions_func.html
+++ b/releases/latest/dotnetdocs/functions_func.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_a.html b/releases/latest/dotnetdocs/functions_func_a.html
index e7024c0..4fa0695 100644
--- a/releases/latest/dotnetdocs/functions_func_a.html
+++ b/releases/latest/dotnetdocs/functions_func_a.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_b.html b/releases/latest/dotnetdocs/functions_func_b.html
index efa03fd..ad7d0da 100644
--- a/releases/latest/dotnetdocs/functions_func_b.html
+++ b/releases/latest/dotnetdocs/functions_func_b.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_c.html b/releases/latest/dotnetdocs/functions_func_c.html
index 795438f..de2e42b 100644
--- a/releases/latest/dotnetdocs/functions_func_c.html
+++ b/releases/latest/dotnetdocs/functions_func_c.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_d.html b/releases/latest/dotnetdocs/functions_func_d.html
index 434c0e7..cd48340 100644
--- a/releases/latest/dotnetdocs/functions_func_d.html
+++ b/releases/latest/dotnetdocs/functions_func_d.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_e.html b/releases/latest/dotnetdocs/functions_func_e.html
index 998b806..975cbae 100644
--- a/releases/latest/dotnetdocs/functions_func_e.html
+++ b/releases/latest/dotnetdocs/functions_func_e.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_f.html b/releases/latest/dotnetdocs/functions_func_f.html
index 930d478..c45be65 100644
--- a/releases/latest/dotnetdocs/functions_func_f.html
+++ b/releases/latest/dotnetdocs/functions_func_f.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_g.html b/releases/latest/dotnetdocs/functions_func_g.html
index 620ee30..b5cfe4a 100644
--- a/releases/latest/dotnetdocs/functions_func_g.html
+++ b/releases/latest/dotnetdocs/functions_func_g.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_h.html b/releases/latest/dotnetdocs/functions_func_h.html
index 33ce93a..1965ea5 100644
--- a/releases/latest/dotnetdocs/functions_func_h.html
+++ b/releases/latest/dotnetdocs/functions_func_h.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_i.html b/releases/latest/dotnetdocs/functions_func_i.html
index d6faa10..83a3665 100644
--- a/releases/latest/dotnetdocs/functions_func_i.html
+++ b/releases/latest/dotnetdocs/functions_func_i.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_k.html b/releases/latest/dotnetdocs/functions_func_k.html
index 48013ce..6cefb14 100644
--- a/releases/latest/dotnetdocs/functions_func_k.html
+++ b/releases/latest/dotnetdocs/functions_func_k.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_l.html b/releases/latest/dotnetdocs/functions_func_l.html
index 005e227..bc1e342 100644
--- a/releases/latest/dotnetdocs/functions_func_l.html
+++ b/releases/latest/dotnetdocs/functions_func_l.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_m.html b/releases/latest/dotnetdocs/functions_func_m.html
index ce4999e..e18a768 100644
--- a/releases/latest/dotnetdocs/functions_func_m.html
+++ b/releases/latest/dotnetdocs/functions_func_m.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_n.html b/releases/latest/dotnetdocs/functions_func_n.html
index c41b089..8bfd01d 100644
--- a/releases/latest/dotnetdocs/functions_func_n.html
+++ b/releases/latest/dotnetdocs/functions_func_n.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_o.html b/releases/latest/dotnetdocs/functions_func_o.html
index 6f1ec84..6ed0f6d 100644
--- a/releases/latest/dotnetdocs/functions_func_o.html
+++ b/releases/latest/dotnetdocs/functions_func_o.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_p.html b/releases/latest/dotnetdocs/functions_func_p.html
index 284f84b..aaccae0 100644
--- a/releases/latest/dotnetdocs/functions_func_p.html
+++ b/releases/latest/dotnetdocs/functions_func_p.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_q.html b/releases/latest/dotnetdocs/functions_func_q.html
index 2fe65d6..0abe190 100644
--- a/releases/latest/dotnetdocs/functions_func_q.html
+++ b/releases/latest/dotnetdocs/functions_func_q.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_r.html b/releases/latest/dotnetdocs/functions_func_r.html
index a1770d2..66b0136 100644
--- a/releases/latest/dotnetdocs/functions_func_r.html
+++ b/releases/latest/dotnetdocs/functions_func_r.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_s.html b/releases/latest/dotnetdocs/functions_func_s.html
index 81ca519..fcca058 100644
--- a/releases/latest/dotnetdocs/functions_func_s.html
+++ b/releases/latest/dotnetdocs/functions_func_s.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_t.html b/releases/latest/dotnetdocs/functions_func_t.html
index 41c17ce..bd8b92c 100644
--- a/releases/latest/dotnetdocs/functions_func_t.html
+++ b/releases/latest/dotnetdocs/functions_func_t.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_u.html b/releases/latest/dotnetdocs/functions_func_u.html
index c3ecb40..8d87bbe 100644
--- a/releases/latest/dotnetdocs/functions_func_u.html
+++ b/releases/latest/dotnetdocs/functions_func_u.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_v.html b/releases/latest/dotnetdocs/functions_func_v.html
index ee86ab1..bf802d7 100644
--- a/releases/latest/dotnetdocs/functions_func_v.html
+++ b/releases/latest/dotnetdocs/functions_func_v.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_w.html b/releases/latest/dotnetdocs/functions_func_w.html
index 0ed2594..d6c9362 100644
--- a/releases/latest/dotnetdocs/functions_func_w.html
+++ b/releases/latest/dotnetdocs/functions_func_w.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_func_~.html b/releases/latest/dotnetdocs/functions_func_~.html
index 7656346..228bc8b 100644
--- a/releases/latest/dotnetdocs/functions_func_~.html
+++ b/releases/latest/dotnetdocs/functions_func_~.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_g.html b/releases/latest/dotnetdocs/functions_g.html
index 5dda99c..3547b9c 100644
--- a/releases/latest/dotnetdocs/functions_g.html
+++ b/releases/latest/dotnetdocs/functions_g.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_h.html b/releases/latest/dotnetdocs/functions_h.html
index ff49765..ba1330c 100644
--- a/releases/latest/dotnetdocs/functions_h.html
+++ b/releases/latest/dotnetdocs/functions_h.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_i.html b/releases/latest/dotnetdocs/functions_i.html
index 9ddf343..bf67e99 100644
--- a/releases/latest/dotnetdocs/functions_i.html
+++ b/releases/latest/dotnetdocs/functions_i.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_k.html b/releases/latest/dotnetdocs/functions_k.html
index 6fe4cd8..65c1044 100644
--- a/releases/latest/dotnetdocs/functions_k.html
+++ b/releases/latest/dotnetdocs/functions_k.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_l.html b/releases/latest/dotnetdocs/functions_l.html
index 501996b..c77fcb9 100644
--- a/releases/latest/dotnetdocs/functions_l.html
+++ b/releases/latest/dotnetdocs/functions_l.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_m.html b/releases/latest/dotnetdocs/functions_m.html
index 8deef0f..b6dda9a 100644
--- a/releases/latest/dotnetdocs/functions_m.html
+++ b/releases/latest/dotnetdocs/functions_m.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_n.html b/releases/latest/dotnetdocs/functions_n.html
index dac5af2..1e6207a 100644
--- a/releases/latest/dotnetdocs/functions_n.html
+++ b/releases/latest/dotnetdocs/functions_n.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_o.html b/releases/latest/dotnetdocs/functions_o.html
index 5d9b39e..142b826 100644
--- a/releases/latest/dotnetdocs/functions_o.html
+++ b/releases/latest/dotnetdocs/functions_o.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_p.html b/releases/latest/dotnetdocs/functions_p.html
index 16b8a4f..d929ae1 100644
--- a/releases/latest/dotnetdocs/functions_p.html
+++ b/releases/latest/dotnetdocs/functions_p.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_prop.html b/releases/latest/dotnetdocs/functions_prop.html
index 0218710..55de5aa 100644
--- a/releases/latest/dotnetdocs/functions_prop.html
+++ b/releases/latest/dotnetdocs/functions_prop.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_q.html b/releases/latest/dotnetdocs/functions_q.html
index c168c06..03f023e 100644
--- a/releases/latest/dotnetdocs/functions_q.html
+++ b/releases/latest/dotnetdocs/functions_q.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_r.html b/releases/latest/dotnetdocs/functions_r.html
index 5a9b54c..4aef6d7 100644
--- a/releases/latest/dotnetdocs/functions_r.html
+++ b/releases/latest/dotnetdocs/functions_r.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_s.html b/releases/latest/dotnetdocs/functions_s.html
index dd092c1..c656c41 100644
--- a/releases/latest/dotnetdocs/functions_s.html
+++ b/releases/latest/dotnetdocs/functions_s.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_t.html b/releases/latest/dotnetdocs/functions_t.html
index 1826724..4306420 100644
--- a/releases/latest/dotnetdocs/functions_t.html
+++ b/releases/latest/dotnetdocs/functions_t.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_u.html b/releases/latest/dotnetdocs/functions_u.html
index 2d1b058..2a596a9 100644
--- a/releases/latest/dotnetdocs/functions_u.html
+++ b/releases/latest/dotnetdocs/functions_u.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_v.html b/releases/latest/dotnetdocs/functions_v.html
index 050aa51..8739a3f 100644
--- a/releases/latest/dotnetdocs/functions_v.html
+++ b/releases/latest/dotnetdocs/functions_v.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_vars.html b/releases/latest/dotnetdocs/functions_vars.html
index e42eb9c..7a1a3a6 100644
--- a/releases/latest/dotnetdocs/functions_vars.html
+++ b/releases/latest/dotnetdocs/functions_vars.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_w.html b/releases/latest/dotnetdocs/functions_w.html
index 899f8db..ca38dd0 100644
--- a/releases/latest/dotnetdocs/functions_w.html
+++ b/releases/latest/dotnetdocs/functions_w.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/functions_~.html b/releases/latest/dotnetdocs/functions_~.html
index cdc4454..38715a8 100644
--- a/releases/latest/dotnetdocs/functions_~.html
+++ b/releases/latest/dotnetdocs/functions_~.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/globals.html b/releases/latest/dotnetdocs/globals.html
index 033e5a0..6a84b31 100644
--- a/releases/latest/dotnetdocs/globals.html
+++ b/releases/latest/dotnetdocs/globals.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/globals_defs.html b/releases/latest/dotnetdocs/globals_defs.html
index 2012838..3a2537d 100644
--- a/releases/latest/dotnetdocs/globals_defs.html
+++ b/releases/latest/dotnetdocs/globals_defs.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/hierarchy.html b/releases/latest/dotnetdocs/hierarchy.html
index 0ae87ea..ffb967d 100644
--- a/releases/latest/dotnetdocs/hierarchy.html
+++ b/releases/latest/dotnetdocs/hierarchy.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/index.html b/releases/latest/dotnetdocs/index.html
index 26e682a..fd22c6a 100644
--- a/releases/latest/dotnetdocs/index.html
+++ b/releases/latest/dotnetdocs/index.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/namespacemembers.html b/releases/latest/dotnetdocs/namespacemembers.html
index effbf66..aef0a2d 100644
--- a/releases/latest/dotnetdocs/namespacemembers.html
+++ b/releases/latest/dotnetdocs/namespacemembers.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/namespacemembers_enum.html b/releases/latest/dotnetdocs/namespacemembers_enum.html
index e5761a1..0ff8cc1 100644
--- a/releases/latest/dotnetdocs/namespacemembers_enum.html
+++ b/releases/latest/dotnetdocs/namespacemembers_enum.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/namespacemembers_func.html b/releases/latest/dotnetdocs/namespacemembers_func.html
index ebbada5..22e22e5 100644
--- a/releases/latest/dotnetdocs/namespacemembers_func.html
+++ b/releases/latest/dotnetdocs/namespacemembers_func.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/namespacemembers_type.html b/releases/latest/dotnetdocs/namespacemembers_type.html
index 900fdd4..8360cd6 100644
--- a/releases/latest/dotnetdocs/namespacemembers_type.html
+++ b/releases/latest/dotnetdocs/namespacemembers_type.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
diff --git a/releases/latest/dotnetdocs/namespaces.html b/releases/latest/dotnetdocs/namespaces.html
index 9c31d80..eaef279 100644
--- a/releases/latest/dotnetdocs/namespaces.html
+++ b/releases/latest/dotnetdocs/namespaces.html
@@ -30,7 +30,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">Apache Geode Native .NET Reference
-   &#160;<span id="projectnumber">1.13.0</span>
+   &#160;<span id="projectnumber">1.13.1</span>
    </div>
   </td>
  </tr>
