diff --git a/1.0/2017-11-10-welcome-to-ditto.html b/1.0/2017-11-10-welcome-to-ditto.html
index 6bdea6c..1aecbe5 100644
--- a/1.0/2017-11-10-welcome-to-ditto.html
+++ b/1.0/2017-11-10-welcome-to-ditto.html
@@ -264,7 +264,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2017-12-18-milestone-announcement-010-M1.html b/1.0/2017-12-18-milestone-announcement-010-M1.html
index a0ba064..699e286 100644
--- a/1.0/2017-12-18-milestone-announcement-010-M1.html
+++ b/1.0/2017-12-18-milestone-announcement-010-M1.html
@@ -268,7 +268,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-01-12-milestone-announcement-010-M3.html b/1.0/2018-01-12-milestone-announcement-010-M3.html
index e3ccb1b..6a7f69a 100644
--- a/1.0/2018-01-12-milestone-announcement-010-M3.html
+++ b/1.0/2018-01-12-milestone-announcement-010-M3.html
@@ -287,7 +287,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-01-15-example-demonstrating-rest-to-websocket.html b/1.0/2018-01-15-example-demonstrating-rest-to-websocket.html
index 6f252d0..cca6a51 100644
--- a/1.0/2018-01-15-example-demonstrating-rest-to-websocket.html
+++ b/1.0/2018-01-15-example-demonstrating-rest-to-websocket.html
@@ -276,7 +276,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-02-07-milestone-announcement-020-M1.html b/1.0/2018-02-07-milestone-announcement-020-M1.html
index f503854..4107298 100644
--- a/1.0/2018-02-07-milestone-announcement-020-M1.html
+++ b/1.0/2018-02-07-milestone-announcement-020-M1.html
@@ -288,7 +288,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-02-08-feature-definition.html b/1.0/2018-02-08-feature-definition.html
index 8041214..9b79570 100644
--- a/1.0/2018-02-08-feature-definition.html
+++ b/1.0/2018-02-08-feature-definition.html
@@ -318,7 +318,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-04-25-connectivity-service.html b/1.0/2018-04-25-connectivity-service.html
index a6d9e2a..c581953 100644
--- a/1.0/2018-04-25-connectivity-service.html
+++ b/1.0/2018-04-25-connectivity-service.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-04-26-milestone-announcement-030-M1.html b/1.0/2018-04-26-milestone-announcement-030-M1.html
index 35b2a91..8243930 100644
--- a/1.0/2018-04-26-milestone-announcement-030-M1.html
+++ b/1.0/2018-04-26-milestone-announcement-030-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-05-02-connecting-ditto-hono.html b/1.0/2018-05-02-connecting-ditto-hono.html
index 77a5957..876783b 100644
--- a/1.0/2018-05-02-connecting-ditto-hono.html
+++ b/1.0/2018-05-02-connecting-ditto-hono.html
@@ -1006,7 +1006,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-06-15-milestone-announcement-030-M2.html b/1.0/2018-06-15-milestone-announcement-030-M2.html
index a275454..5085a96 100644
--- a/1.0/2018-06-15-milestone-announcement-030-M2.html
+++ b/1.0/2018-06-15-milestone-announcement-030-M2.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-08-14-milestone-announcement-080-M1.html b/1.0/2018-08-14-milestone-announcement-080-M1.html
index 874cefc..f2fd81a 100644
--- a/1.0/2018-08-14-milestone-announcement-080-M1.html
+++ b/1.0/2018-08-14-milestone-announcement-080-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-09-21-selective-push-notifications.html b/1.0/2018-09-21-selective-push-notifications.html
index 3b41930..b6c75fd 100644
--- a/1.0/2018-09-21-selective-push-notifications.html
+++ b/1.0/2018-09-21-selective-push-notifications.html
@@ -484,7 +484,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-09-27-milestone-announcement-080-M2.html b/1.0/2018-09-27-milestone-announcement-080-M2.html
index 3c7edbc..51aab17 100644
--- a/1.0/2018-09-27-milestone-announcement-080-M2.html
+++ b/1.0/2018-09-27-milestone-announcement-080-M2.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-10-16-example-mqtt-bidirectional.html b/1.0/2018-10-16-example-mqtt-bidirectional.html
index 2b9f916..28b4fbb 100644
--- a/1.0/2018-10-16-example-mqtt-bidirectional.html
+++ b/1.0/2018-10-16-example-mqtt-bidirectional.html
@@ -292,7 +292,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-11-14-milestone-announcement-080-M3.html b/1.0/2018-11-14-milestone-announcement-080-M3.html
index c957348..c2bd30f 100644
--- a/1.0/2018-11-14-milestone-announcement-080-M3.html
+++ b/1.0/2018-11-14-milestone-announcement-080-M3.html
@@ -285,7 +285,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-11-28-release-announcement-080.html b/1.0/2018-11-28-release-announcement-080.html
index 194c6f4..4e46593 100644
--- a/1.0/2018-11-28-release-announcement-080.html
+++ b/1.0/2018-11-28-release-announcement-080.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2018-12-05-example-command-and-control.html b/1.0/2018-12-05-example-command-and-control.html
index a38cb32..ca0aefc 100644
--- a/1.0/2018-12-05-example-command-and-control.html
+++ b/1.0/2018-12-05-example-command-and-control.html
@@ -519,7 +519,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2019-03-13-kafka-connectivity.html b/1.0/2019-03-13-kafka-connectivity.html
index b34ecda..e2823b8 100644
--- a/1.0/2019-03-13-kafka-connectivity.html
+++ b/1.0/2019-03-13-kafka-connectivity.html
@@ -266,7 +266,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2019-03-28-milestone-announcement-090-M1.html b/1.0/2019-03-28-milestone-announcement-090-M1.html
index 532233b..c23c3b8 100644
--- a/1.0/2019-03-28-milestone-announcement-090-M1.html
+++ b/1.0/2019-03-28-milestone-announcement-090-M1.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2019-04-29-milestone-announcement-090-M2.html b/1.0/2019-04-29-milestone-announcement-090-M2.html
index 3d51f55..70c7072 100644
--- a/1.0/2019-04-29-milestone-announcement-090-M2.html
+++ b/1.0/2019-04-29-milestone-announcement-090-M2.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2019-07-10-release-announcement-090.html b/1.0/2019-07-10-release-announcement-090.html
index c530b6f..3c83e20 100644
--- a/1.0/2019-07-10-release-announcement-090.html
+++ b/1.0/2019-07-10-release-announcement-090.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2019-08-28-openid-connect.html b/1.0/2019-08-28-openid-connect.html
index bdf4ace..f94356a 100644
--- a/1.0/2019-08-28-openid-connect.html
+++ b/1.0/2019-08-28-openid-connect.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2019-09-17-milestone-announcement-100-M1a.html b/1.0/2019-09-17-milestone-announcement-100-M1a.html
index 4457d74..1547b9d 100644
--- a/1.0/2019-09-17-milestone-announcement-100-M1a.html
+++ b/1.0/2019-09-17-milestone-announcement-100-M1a.html
@@ -283,7 +283,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2019-10-17-http-connectivity.html b/1.0/2019-10-17-http-connectivity.html
index 3bf6818..4475667 100644
--- a/1.0/2019-10-17-http-connectivity.html
+++ b/1.0/2019-10-17-http-connectivity.html
@@ -291,7 +291,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2019-11-04-milestone-announcement-100-M2.html b/1.0/2019-11-04-milestone-announcement-100-M2.html
index 71ac5a0..6082fe2 100644
--- a/1.0/2019-11-04-milestone-announcement-100-M2.html
+++ b/1.0/2019-11-04-milestone-announcement-100-M2.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2019-12-12-release-announcement-100.html b/1.0/2019-12-12-release-announcement-100.html
index 7a87c96..324d105 100644
--- a/1.0/2019-12-12-release-announcement-100.html
+++ b/1.0/2019-12-12-release-announcement-100.html
@@ -331,7 +331,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2020-04-16-connecting-to-ttn-via-mqtt.html b/1.0/2020-04-16-connecting-to-ttn-via-mqtt.html
index c06e5bf..8b4c971 100644
--- a/1.0/2020-04-16-connecting-to-ttn-via-mqtt.html
+++ b/1.0/2020-04-16-connecting-to-ttn-via-mqtt.html
@@ -778,7 +778,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/2020-04-29-release-announcement-110.html b/1.0/2020-04-29-release-announcement-110.html
index a1dfa97..777533f 100644
--- a/1.0/2020-04-29-release-announcement-110.html
+++ b/1.0/2020-04-29-release-announcement-110.html
@@ -312,7 +312,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/404.html b/1.0/404.html
index 774d0d9..c8db87e 100644
--- a/1.0/404.html
+++ b/1.0/404.html
@@ -1490,7 +1490,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/architecture-overview.html b/1.0/architecture-overview.html
index 4ae80e8..528bf39 100644
--- a/1.0/architecture-overview.html
+++ b/1.0/architecture-overview.html
@@ -1543,7 +1543,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/architecture-services-concierge.html b/1.0/architecture-services-concierge.html
index ca83483..08bc46b 100644
--- a/1.0/architecture-services-concierge.html
+++ b/1.0/architecture-services-concierge.html
@@ -1529,7 +1529,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/architecture-services-connectivity.html b/1.0/architecture-services-connectivity.html
index 71882ef..0acee68 100644
--- a/1.0/architecture-services-connectivity.html
+++ b/1.0/architecture-services-connectivity.html
@@ -1543,7 +1543,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/architecture-services-gateway.html b/1.0/architecture-services-gateway.html
index 683f005..14b79f4 100644
--- a/1.0/architecture-services-gateway.html
+++ b/1.0/architecture-services-gateway.html
@@ -1521,7 +1521,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/architecture-services-policies.html b/1.0/architecture-services-policies.html
index 715b43d..e272fe2 100644
--- a/1.0/architecture-services-policies.html
+++ b/1.0/architecture-services-policies.html
@@ -1522,7 +1522,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/architecture-services-things-search.html b/1.0/architecture-services-things-search.html
index 9587621..b13b76b 100644
--- a/1.0/architecture-services-things-search.html
+++ b/1.0/architecture-services-things-search.html
@@ -1566,7 +1566,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/architecture-services-things.html b/1.0/architecture-services-things.html
index 9f34caf..c5c4adc 100644
--- a/1.0/architecture-services-things.html
+++ b/1.0/architecture-services-things.html
@@ -1522,7 +1522,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-acknowledgements.html b/1.0/basic-acknowledgements.html
index d0b0159..de84fd4 100644
--- a/1.0/basic-acknowledgements.html
+++ b/1.0/basic-acknowledgements.html
@@ -1671,7 +1671,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-acl.html b/1.0/basic-acl.html
index 97278f8..30dad76 100644
--- a/1.0/basic-acl.html
+++ b/1.0/basic-acl.html
@@ -1560,7 +1560,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-apis.html b/1.0/basic-apis.html
index 97e9c1b..433a755 100644
--- a/1.0/basic-apis.html
+++ b/1.0/basic-apis.html
@@ -1618,7 +1618,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-auth.html b/1.0/basic-auth.html
index 5cfcfd9..c3fe24e 100644
--- a/1.0/basic-auth.html
+++ b/1.0/basic-auth.html
@@ -1539,7 +1539,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-changenotifications.html b/1.0/basic-changenotifications.html
index 6ee0645..e83507a 100644
--- a/1.0/basic-changenotifications.html
+++ b/1.0/basic-changenotifications.html
@@ -1562,7 +1562,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-connections.html b/1.0/basic-connections.html
index cfd1916..a1e6aa9 100644
--- a/1.0/basic-connections.html
+++ b/1.0/basic-connections.html
@@ -1957,7 +1957,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-enrichment.html b/1.0/basic-enrichment.html
index abbc59f..9309d70 100644
--- a/1.0/basic-enrichment.html
+++ b/1.0/basic-enrichment.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-feature.html b/1.0/basic-feature.html
index 3ffa4f5..8d8b2ad 100644
--- a/1.0/basic-feature.html
+++ b/1.0/basic-feature.html
@@ -1723,7 +1723,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-messages.html b/1.0/basic-messages.html
index 5e58b3b..24163c3 100644
--- a/1.0/basic-messages.html
+++ b/1.0/basic-messages.html
@@ -1632,7 +1632,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-namespaces-and-names.html b/1.0/basic-namespaces-and-names.html
index 19b6593..8cbef77 100644
--- a/1.0/basic-namespaces-and-names.html
+++ b/1.0/basic-namespaces-and-names.html
@@ -1562,7 +1562,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-overview.html b/1.0/basic-overview.html
index 1d4a203..56d61d2 100644
--- a/1.0/basic-overview.html
+++ b/1.0/basic-overview.html
@@ -1635,7 +1635,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-placeholders.html b/1.0/basic-placeholders.html
index 5b4ff7e..9a5f01a 100644
--- a/1.0/basic-placeholders.html
+++ b/1.0/basic-placeholders.html
@@ -1755,7 +1755,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-policy.html b/1.0/basic-policy.html
index 1604833..29e3b7d 100644
--- a/1.0/basic-policy.html
+++ b/1.0/basic-policy.html
@@ -1901,7 +1901,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-rql.html b/1.0/basic-rql.html
index 4ae6d2c..5c175f6 100644
--- a/1.0/basic-rql.html
+++ b/1.0/basic-rql.html
@@ -1741,7 +1741,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-search.html b/1.0/basic-search.html
index 16f05d7..dd3c5b9 100644
--- a/1.0/basic-search.html
+++ b/1.0/basic-search.html
@@ -1634,7 +1634,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-signals-command.html b/1.0/basic-signals-command.html
index 24a12c9..8727b74 100644
--- a/1.0/basic-signals-command.html
+++ b/1.0/basic-signals-command.html
@@ -1520,7 +1520,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-signals-commandresponse.html b/1.0/basic-signals-commandresponse.html
index 55a330d..db0c08e 100644
--- a/1.0/basic-signals-commandresponse.html
+++ b/1.0/basic-signals-commandresponse.html
@@ -1500,7 +1500,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-signals-errorresponse.html b/1.0/basic-signals-errorresponse.html
index 91e8c8c..f1159f0 100644
--- a/1.0/basic-signals-errorresponse.html
+++ b/1.0/basic-signals-errorresponse.html
@@ -1502,7 +1502,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-signals-event.html b/1.0/basic-signals-event.html
index 9b22f33..ba4c866 100644
--- a/1.0/basic-signals-event.html
+++ b/1.0/basic-signals-event.html
@@ -1506,7 +1506,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-signals.html b/1.0/basic-signals.html
index 4092db9..6eff96e 100644
--- a/1.0/basic-signals.html
+++ b/1.0/basic-signals.html
@@ -1550,7 +1550,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/basic-thing.html b/1.0/basic-thing.html
index f4a8433..78b0169 100644
--- a/1.0/basic-thing.html
+++ b/1.0/basic-thing.html
@@ -1586,7 +1586,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/blog.html b/1.0/blog.html
index 12de30c..bbccab5 100644
--- a/1.0/blog.html
+++ b/1.0/blog.html
@@ -393,7 +393,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/blog_archive.html b/1.0/blog_archive.html
index b0cd805..26add46 100644
--- a/1.0/blog_archive.html
+++ b/1.0/blog_archive.html
@@ -446,7 +446,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/client-sdk-java.html b/1.0/client-sdk-java.html
index a1ef30f..313e41b 100644
--- a/1.0/client-sdk-java.html
+++ b/1.0/client-sdk-java.html
@@ -1747,7 +1747,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/client-sdk-javascript.html b/1.0/client-sdk-javascript.html
index 0b44e0c..5edc3b7 100644
--- a/1.0/client-sdk-javascript.html
+++ b/1.0/client-sdk-javascript.html
@@ -1556,7 +1556,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/client-sdk-overview.html b/1.0/client-sdk-overview.html
index eb8e6f3..86957e4 100644
--- a/1.0/client-sdk-overview.html
+++ b/1.0/client-sdk-overview.html
@@ -1503,7 +1503,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/connectivity-header-mapping.html b/1.0/connectivity-header-mapping.html
index f27d00b..05edc84 100644
--- a/1.0/connectivity-header-mapping.html
+++ b/1.0/connectivity-header-mapping.html
@@ -1513,7 +1513,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/connectivity-manage-connections.html b/1.0/connectivity-manage-connections.html
index a7cd603..8c47e70 100644
--- a/1.0/connectivity-manage-connections.html
+++ b/1.0/connectivity-manage-connections.html
@@ -1818,7 +1818,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/connectivity-mapping.html b/1.0/connectivity-mapping.html
index efc42de..a13a9c8 100644
--- a/1.0/connectivity-mapping.html
+++ b/1.0/connectivity-mapping.html
@@ -2283,7 +2283,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/connectivity-overview.html b/1.0/connectivity-overview.html
index f1848a8..d67eadd 100644
--- a/1.0/connectivity-overview.html
+++ b/1.0/connectivity-overview.html
@@ -1514,7 +1514,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/connectivity-protocol-bindings-amqp091.html b/1.0/connectivity-protocol-bindings-amqp091.html
index c15b5d1..1894152 100644
--- a/1.0/connectivity-protocol-bindings-amqp091.html
+++ b/1.0/connectivity-protocol-bindings-amqp091.html
@@ -1612,7 +1612,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/connectivity-protocol-bindings-amqp10.html b/1.0/connectivity-protocol-bindings-amqp10.html
index 0f5f030..a8cd4f1 100644
--- a/1.0/connectivity-protocol-bindings-amqp10.html
+++ b/1.0/connectivity-protocol-bindings-amqp10.html
@@ -1658,7 +1658,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/connectivity-protocol-bindings-http.html b/1.0/connectivity-protocol-bindings-http.html
index 88c0603..982da5b 100644
--- a/1.0/connectivity-protocol-bindings-http.html
+++ b/1.0/connectivity-protocol-bindings-http.html
@@ -1603,7 +1603,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/connectivity-protocol-bindings-kafka2.html b/1.0/connectivity-protocol-bindings-kafka2.html
index 6839c6d..b73cad0 100644
--- a/1.0/connectivity-protocol-bindings-kafka2.html
+++ b/1.0/connectivity-protocol-bindings-kafka2.html
@@ -1602,7 +1602,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/connectivity-protocol-bindings-mqtt.html b/1.0/connectivity-protocol-bindings-mqtt.html
index 47fd959..78f75e8 100644
--- a/1.0/connectivity-protocol-bindings-mqtt.html
+++ b/1.0/connectivity-protocol-bindings-mqtt.html
@@ -1707,7 +1707,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/connectivity-protocol-bindings-mqtt5.html b/1.0/connectivity-protocol-bindings-mqtt5.html
index daa9cc4..b56df1c 100644
--- a/1.0/connectivity-protocol-bindings-mqtt5.html
+++ b/1.0/connectivity-protocol-bindings-mqtt5.html
@@ -1675,7 +1675,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/connectivity-tls-certificates.html b/1.0/connectivity-tls-certificates.html
index b11a896..fd7ee93 100644
--- a/1.0/connectivity-tls-certificates.html
+++ b/1.0/connectivity-tls-certificates.html
@@ -1609,7 +1609,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/feedback.html b/1.0/feedback.html
index 07c07f4..dc5c52c 100644
--- a/1.0/feedback.html
+++ b/1.0/feedback.html
@@ -1515,7 +1515,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/glossary.html b/1.0/glossary.html
index 012255f..aaa2cbe 100644
--- a/1.0/glossary.html
+++ b/1.0/glossary.html
@@ -1503,7 +1503,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/http-api-doc.html b/1.0/http-api-doc.html
index 2a6b4d9..12baeff 100644
--- a/1.0/http-api-doc.html
+++ b/1.0/http-api-doc.html
@@ -201,7 +201,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/httpapi-concepts.html b/1.0/httpapi-concepts.html
index 90481fb..4507e8a 100644
--- a/1.0/httpapi-concepts.html
+++ b/1.0/httpapi-concepts.html
@@ -2089,7 +2089,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/httpapi-messages.html b/1.0/httpapi-messages.html
index ecd4dad..764b153 100644
--- a/1.0/httpapi-messages.html
+++ b/1.0/httpapi-messages.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/httpapi-overview.html b/1.0/httpapi-overview.html
index a61ac0c..345f459 100644
--- a/1.0/httpapi-overview.html
+++ b/1.0/httpapi-overview.html
@@ -1511,7 +1511,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/httpapi-protocol-bindings-websocket.html b/1.0/httpapi-protocol-bindings-websocket.html
index 391f558..dc480cb 100644
--- a/1.0/httpapi-protocol-bindings-websocket.html
+++ b/1.0/httpapi-protocol-bindings-websocket.html
@@ -1791,7 +1791,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/httpapi-search.html b/1.0/httpapi-search.html
index fcfca50..d3badbb 100644
--- a/1.0/httpapi-search.html
+++ b/1.0/httpapi-search.html
@@ -1558,7 +1558,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/httpapi-sse.html b/1.0/httpapi-sse.html
index e8b3bb4..96dc90b 100644
--- a/1.0/httpapi-sse.html
+++ b/1.0/httpapi-sse.html
@@ -1737,7 +1737,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/index.html b/1.0/index.html
index 34241e4..d7d2b98 100644
--- a/1.0/index.html
+++ b/1.0/index.html
@@ -264,7 +264,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/installation-building.html b/1.0/installation-building.html
index e3ad98b..68bb5cb 100644
--- a/1.0/installation-building.html
+++ b/1.0/installation-building.html
@@ -1530,7 +1530,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/installation-operating.html b/1.0/installation-operating.html
index a107c21..b731bab 100644
--- a/1.0/installation-operating.html
+++ b/1.0/installation-operating.html
@@ -2386,7 +2386,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/installation-running.html b/1.0/installation-running.html
index f57faec..1addfc2 100644
--- a/1.0/installation-running.html
+++ b/1.0/installation-running.html
@@ -1558,7 +1558,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/intro-digitaltwins.html b/1.0/intro-digitaltwins.html
index 0f2389e..a57f6d2 100644
--- a/1.0/intro-digitaltwins.html
+++ b/1.0/intro-digitaltwins.html
@@ -1533,7 +1533,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/intro-hello-world.html b/1.0/intro-hello-world.html
index 637cee3..4d0a91b 100644
--- a/1.0/intro-hello-world.html
+++ b/1.0/intro-hello-world.html
@@ -1622,7 +1622,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/intro-overview.html b/1.0/intro-overview.html
index d9d6ade..e463f0c 100644
--- a/1.0/intro-overview.html
+++ b/1.0/intro-overview.html
@@ -1549,7 +1549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/presentations.html b/1.0/presentations.html
index 0eca85d..9545cd3 100644
--- a/1.0/presentations.html
+++ b/1.0/presentations.html
@@ -1531,7 +1531,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-bindings.html b/1.0/protocol-bindings.html
index 67aa5e2..f0dc701 100644
--- a/1.0/protocol-bindings.html
+++ b/1.0/protocol-bindings.html
@@ -1522,7 +1522,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-createattribute.html b/1.0/protocol-examples-createattribute.html
index b619141..042c38a 100644
--- a/1.0/protocol-examples-createattribute.html
+++ b/1.0/protocol-examples-createattribute.html
@@ -1525,7 +1525,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-createattributes.html b/1.0/protocol-examples-createattributes.html
index 31665bb..ed5ecb9 100644
--- a/1.0/protocol-examples-createattributes.html
+++ b/1.0/protocol-examples-createattributes.html
@@ -1530,7 +1530,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-createdefinition.html b/1.0/protocol-examples-createdefinition.html
index 89e3f40..ae2d758 100644
--- a/1.0/protocol-examples-createdefinition.html
+++ b/1.0/protocol-examples-createdefinition.html
@@ -1523,7 +1523,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-createfeature.html b/1.0/protocol-examples-createfeature.html
index 84963cc..967488b 100644
--- a/1.0/protocol-examples-createfeature.html
+++ b/1.0/protocol-examples-createfeature.html
@@ -1534,7 +1534,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-createfeatures.html b/1.0/protocol-examples-createfeatures.html
index 68e9a6b..c4695cc 100644
--- a/1.0/protocol-examples-createfeatures.html
+++ b/1.0/protocol-examples-createfeatures.html
@@ -1538,7 +1538,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-createproperties.html b/1.0/protocol-examples-createproperties.html
index a5546ec..333e2dc 100644
--- a/1.0/protocol-examples-createproperties.html
+++ b/1.0/protocol-examples-createproperties.html
@@ -1529,7 +1529,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-createproperty.html b/1.0/protocol-examples-createproperty.html
index 188bbad..53102e9 100644
--- a/1.0/protocol-examples-createproperty.html
+++ b/1.0/protocol-examples-createproperty.html
@@ -1519,7 +1519,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-creatething.html b/1.0/protocol-examples-creatething.html
index 2c7cf84..37f9f85 100644
--- a/1.0/protocol-examples-creatething.html
+++ b/1.0/protocol-examples-creatething.html
@@ -1618,7 +1618,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-createthingdefinition.html b/1.0/protocol-examples-createthingdefinition.html
index 5eeef90..15c44c7 100644
--- a/1.0/protocol-examples-createthingdefinition.html
+++ b/1.0/protocol-examples-createthingdefinition.html
@@ -1520,7 +1520,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-deleteattribute.html b/1.0/protocol-examples-deleteattribute.html
index 27ddb98..a8d2b3f 100644
--- a/1.0/protocol-examples-deleteattribute.html
+++ b/1.0/protocol-examples-deleteattribute.html
@@ -1517,7 +1517,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-deleteattributes.html b/1.0/protocol-examples-deleteattributes.html
index 52c4913..2de0837 100644
--- a/1.0/protocol-examples-deleteattributes.html
+++ b/1.0/protocol-examples-deleteattributes.html
@@ -1517,7 +1517,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-deletedefinition.html b/1.0/protocol-examples-deletedefinition.html
index d0c8bf8..3ac5113 100644
--- a/1.0/protocol-examples-deletedefinition.html
+++ b/1.0/protocol-examples-deletedefinition.html
@@ -1517,7 +1517,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-deletefeature.html b/1.0/protocol-examples-deletefeature.html
index 740c0d6..5ab753e 100644
--- a/1.0/protocol-examples-deletefeature.html
+++ b/1.0/protocol-examples-deletefeature.html
@@ -1517,7 +1517,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-deletefeatures.html b/1.0/protocol-examples-deletefeatures.html
index bbc5a7f..3f8984f 100644
--- a/1.0/protocol-examples-deletefeatures.html
+++ b/1.0/protocol-examples-deletefeatures.html
@@ -1517,7 +1517,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-deleteproperties.html b/1.0/protocol-examples-deleteproperties.html
index 26dab2f..5785ae1 100644
--- a/1.0/protocol-examples-deleteproperties.html
+++ b/1.0/protocol-examples-deleteproperties.html
@@ -1517,7 +1517,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-deleteproperty.html b/1.0/protocol-examples-deleteproperty.html
index c6d5f4e..ecef497 100644
--- a/1.0/protocol-examples-deleteproperty.html
+++ b/1.0/protocol-examples-deleteproperty.html
@@ -1517,7 +1517,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-deletething.html b/1.0/protocol-examples-deletething.html
index 9473c9c..438a780 100644
--- a/1.0/protocol-examples-deletething.html
+++ b/1.0/protocol-examples-deletething.html
@@ -1517,7 +1517,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-deletethingdefinition.html b/1.0/protocol-examples-deletethingdefinition.html
index 64b9105..f57f6be 100644
--- a/1.0/protocol-examples-deletethingdefinition.html
+++ b/1.0/protocol-examples-deletethingdefinition.html
@@ -1517,7 +1517,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-errorresponses.html b/1.0/protocol-examples-errorresponses.html
index aec8989..87641bf 100644
--- a/1.0/protocol-examples-errorresponses.html
+++ b/1.0/protocol-examples-errorresponses.html
@@ -1952,7 +1952,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-modifyattribute.html b/1.0/protocol-examples-modifyattribute.html
index 3bcb218..857db7d 100644
--- a/1.0/protocol-examples-modifyattribute.html
+++ b/1.0/protocol-examples-modifyattribute.html
@@ -1525,7 +1525,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-modifyattributes.html b/1.0/protocol-examples-modifyattributes.html
index d3c8c65..1d6be3c 100644
--- a/1.0/protocol-examples-modifyattributes.html
+++ b/1.0/protocol-examples-modifyattributes.html
@@ -1530,7 +1530,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-modifydefinition.html b/1.0/protocol-examples-modifydefinition.html
index d3bc90c..0fa9e03 100644
--- a/1.0/protocol-examples-modifydefinition.html
+++ b/1.0/protocol-examples-modifydefinition.html
@@ -1523,7 +1523,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-modifyfeature.html b/1.0/protocol-examples-modifyfeature.html
index 6dee1de..52d6331 100644
--- a/1.0/protocol-examples-modifyfeature.html
+++ b/1.0/protocol-examples-modifyfeature.html
@@ -1534,7 +1534,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-modifyfeatures.html b/1.0/protocol-examples-modifyfeatures.html
index 64f0733..5664d3d 100644
--- a/1.0/protocol-examples-modifyfeatures.html
+++ b/1.0/protocol-examples-modifyfeatures.html
@@ -1538,7 +1538,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-modifypolicyid.html b/1.0/protocol-examples-modifypolicyid.html
index fc4856e..ab54b91 100644
--- a/1.0/protocol-examples-modifypolicyid.html
+++ b/1.0/protocol-examples-modifypolicyid.html
@@ -1541,7 +1541,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-modifyproperties.html b/1.0/protocol-examples-modifyproperties.html
index 0a32fcc..321ed19 100644
--- a/1.0/protocol-examples-modifyproperties.html
+++ b/1.0/protocol-examples-modifyproperties.html
@@ -1529,7 +1529,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-modifyproperty.html b/1.0/protocol-examples-modifyproperty.html
index 93024f6..6b7bda3 100644
--- a/1.0/protocol-examples-modifyproperty.html
+++ b/1.0/protocol-examples-modifyproperty.html
@@ -1519,7 +1519,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-modifything.html b/1.0/protocol-examples-modifything.html
index 101ab98..91c2cfa 100644
--- a/1.0/protocol-examples-modifything.html
+++ b/1.0/protocol-examples-modifything.html
@@ -1599,7 +1599,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-modifythingdefinition.html b/1.0/protocol-examples-modifythingdefinition.html
index da76969..8d6c621 100644
--- a/1.0/protocol-examples-modifythingdefinition.html
+++ b/1.0/protocol-examples-modifythingdefinition.html
@@ -1519,7 +1519,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-createpolicy.html b/1.0/protocol-examples-policies-createpolicy.html
index 5b2b3c9..2962d72 100644
--- a/1.0/protocol-examples-policies-createpolicy.html
+++ b/1.0/protocol-examples-policies-createpolicy.html
@@ -1553,7 +1553,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-createpolicyentry.html b/1.0/protocol-examples-policies-createpolicyentry.html
index e0045ed..485bdea 100644
--- a/1.0/protocol-examples-policies-createpolicyentry.html
+++ b/1.0/protocol-examples-policies-createpolicyentry.html
@@ -1529,7 +1529,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-createresource.html b/1.0/protocol-examples-policies-createresource.html
index a58f62d..82395dd 100644
--- a/1.0/protocol-examples-policies-createresource.html
+++ b/1.0/protocol-examples-policies-createresource.html
@@ -1518,7 +1518,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-createsubject.html b/1.0/protocol-examples-policies-createsubject.html
index 1db35e2..4668c71 100644
--- a/1.0/protocol-examples-policies-createsubject.html
+++ b/1.0/protocol-examples-policies-createsubject.html
@@ -1514,7 +1514,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-deletepolicy.html b/1.0/protocol-examples-policies-deletepolicy.html
index e6b62a4..3106f7e 100644
--- a/1.0/protocol-examples-policies-deletepolicy.html
+++ b/1.0/protocol-examples-policies-deletepolicy.html
@@ -1511,7 +1511,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-deletepolicyentry.html b/1.0/protocol-examples-policies-deletepolicyentry.html
index e560ec8..9d930e9 100644
--- a/1.0/protocol-examples-policies-deletepolicyentry.html
+++ b/1.0/protocol-examples-policies-deletepolicyentry.html
@@ -1511,7 +1511,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-deleteresource.html b/1.0/protocol-examples-policies-deleteresource.html
index bc8021b..a14e7b0 100644
--- a/1.0/protocol-examples-policies-deleteresource.html
+++ b/1.0/protocol-examples-policies-deleteresource.html
@@ -1511,7 +1511,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-deletesubject.html b/1.0/protocol-examples-policies-deletesubject.html
index 5d5a6bd..877e6a9 100644
--- a/1.0/protocol-examples-policies-deletesubject.html
+++ b/1.0/protocol-examples-policies-deletesubject.html
@@ -1511,7 +1511,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-errorresponses.html b/1.0/protocol-examples-policies-errorresponses.html
index 7f07071..5ac5db1 100644
--- a/1.0/protocol-examples-policies-errorresponses.html
+++ b/1.0/protocol-examples-policies-errorresponses.html
@@ -1849,7 +1849,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-modifypolicy.html b/1.0/protocol-examples-policies-modifypolicy.html
index 1faadef..6868da4 100644
--- a/1.0/protocol-examples-policies-modifypolicy.html
+++ b/1.0/protocol-examples-policies-modifypolicy.html
@@ -1532,7 +1532,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-modifypolicyentries.html b/1.0/protocol-examples-policies-modifypolicyentries.html
index 6726262..305d2f7 100644
--- a/1.0/protocol-examples-policies-modifypolicyentries.html
+++ b/1.0/protocol-examples-policies-modifypolicyentries.html
@@ -1551,7 +1551,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-modifypolicyentry.html b/1.0/protocol-examples-policies-modifypolicyentry.html
index d5fc76d..2d3d33c 100644
--- a/1.0/protocol-examples-policies-modifypolicyentry.html
+++ b/1.0/protocol-examples-policies-modifypolicyentry.html
@@ -1529,7 +1529,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-modifyresource.html b/1.0/protocol-examples-policies-modifyresource.html
index fbc2762..9fdeebb 100644
--- a/1.0/protocol-examples-policies-modifyresource.html
+++ b/1.0/protocol-examples-policies-modifyresource.html
@@ -1518,7 +1518,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-modifyresources.html b/1.0/protocol-examples-policies-modifyresources.html
index a28f889..8459ad5 100644
--- a/1.0/protocol-examples-policies-modifyresources.html
+++ b/1.0/protocol-examples-policies-modifyresources.html
@@ -1521,7 +1521,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-modifysubject.html b/1.0/protocol-examples-policies-modifysubject.html
index 313ea72..862309b 100644
--- a/1.0/protocol-examples-policies-modifysubject.html
+++ b/1.0/protocol-examples-policies-modifysubject.html
@@ -1514,7 +1514,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-modifysubjects.html b/1.0/protocol-examples-policies-modifysubjects.html
index 9493ae6..93bf1c3 100644
--- a/1.0/protocol-examples-policies-modifysubjects.html
+++ b/1.0/protocol-examples-policies-modifysubjects.html
@@ -1517,7 +1517,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-retrievepolicy.html b/1.0/protocol-examples-policies-retrievepolicy.html
index 4144fc0..f24013f 100644
--- a/1.0/protocol-examples-policies-retrievepolicy.html
+++ b/1.0/protocol-examples-policies-retrievepolicy.html
@@ -1532,7 +1532,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-retrievepolicyentries.html b/1.0/protocol-examples-policies-retrievepolicyentries.html
index 15fbf78..a076daa 100644
--- a/1.0/protocol-examples-policies-retrievepolicyentries.html
+++ b/1.0/protocol-examples-policies-retrievepolicyentries.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-retrievepolicyentry.html b/1.0/protocol-examples-policies-retrievepolicyentry.html
index 91c3821..552fecd 100644
--- a/1.0/protocol-examples-policies-retrievepolicyentry.html
+++ b/1.0/protocol-examples-policies-retrievepolicyentry.html
@@ -1527,7 +1527,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-retrieveresource.html b/1.0/protocol-examples-policies-retrieveresource.html
index 480407d..5c61575 100644
--- a/1.0/protocol-examples-policies-retrieveresource.html
+++ b/1.0/protocol-examples-policies-retrieveresource.html
@@ -1518,7 +1518,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-retrieveresources.html b/1.0/protocol-examples-policies-retrieveresources.html
index b555744..a25953b 100644
--- a/1.0/protocol-examples-policies-retrieveresources.html
+++ b/1.0/protocol-examples-policies-retrieveresources.html
@@ -1520,7 +1520,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-retrievesubject.html b/1.0/protocol-examples-policies-retrievesubject.html
index e6ac824..1bf95db 100644
--- a/1.0/protocol-examples-policies-retrievesubject.html
+++ b/1.0/protocol-examples-policies-retrievesubject.html
@@ -1514,7 +1514,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-policies-retrievesubjects.html b/1.0/protocol-examples-policies-retrievesubjects.html
index 8a30d9b..1313f62 100644
--- a/1.0/protocol-examples-policies-retrievesubjects.html
+++ b/1.0/protocol-examples-policies-retrievesubjects.html
@@ -1516,7 +1516,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-retrieveattribute.html b/1.0/protocol-examples-retrieveattribute.html
index fb06e5d..bda45d5 100644
--- a/1.0/protocol-examples-retrieveattribute.html
+++ b/1.0/protocol-examples-retrieveattribute.html
@@ -1511,7 +1511,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-retrieveattributes.html b/1.0/protocol-examples-retrieveattributes.html
index 4481055..69f55e0 100644
--- a/1.0/protocol-examples-retrieveattributes.html
+++ b/1.0/protocol-examples-retrieveattributes.html
@@ -1513,7 +1513,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-retrievedefinition.html b/1.0/protocol-examples-retrievedefinition.html
index ce66a7f..2c072fe 100644
--- a/1.0/protocol-examples-retrievedefinition.html
+++ b/1.0/protocol-examples-retrievedefinition.html
@@ -1510,7 +1510,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-retrievefeature.html b/1.0/protocol-examples-retrievefeature.html
index 3b6a844..09285ba 100644
--- a/1.0/protocol-examples-retrievefeature.html
+++ b/1.0/protocol-examples-retrievefeature.html
@@ -1515,7 +1515,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-retrievefeatures.html b/1.0/protocol-examples-retrievefeatures.html
index 89a9be5..f11def4 100644
--- a/1.0/protocol-examples-retrievefeatures.html
+++ b/1.0/protocol-examples-retrievefeatures.html
@@ -1517,7 +1517,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-retrieveproperties.html b/1.0/protocol-examples-retrieveproperties.html
index fbd26e2..a4713d6 100644
--- a/1.0/protocol-examples-retrieveproperties.html
+++ b/1.0/protocol-examples-retrieveproperties.html
@@ -1513,7 +1513,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-retrieveproperty.html b/1.0/protocol-examples-retrieveproperty.html
index decfc9e..5e9d87a 100644
--- a/1.0/protocol-examples-retrieveproperty.html
+++ b/1.0/protocol-examples-retrieveproperty.html
@@ -1508,7 +1508,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-retrievething.html b/1.0/protocol-examples-retrievething.html
index e27774d..ead8480 100644
--- a/1.0/protocol-examples-retrievething.html
+++ b/1.0/protocol-examples-retrievething.html
@@ -1537,7 +1537,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-retrievethingdefinition.html b/1.0/protocol-examples-retrievethingdefinition.html
index accda31..dfa786c 100644
--- a/1.0/protocol-examples-retrievethingdefinition.html
+++ b/1.0/protocol-examples-retrievethingdefinition.html
@@ -1508,7 +1508,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-retrievethings.html b/1.0/protocol-examples-retrievethings.html
index 5bb37de..30198c9 100644
--- a/1.0/protocol-examples-retrievethings.html
+++ b/1.0/protocol-examples-retrievethings.html
@@ -1534,7 +1534,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples-search.html b/1.0/protocol-examples-search.html
index 673177e..01aec3f 100644
--- a/1.0/protocol-examples-search.html
+++ b/1.0/protocol-examples-search.html
@@ -1612,7 +1612,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-examples.html b/1.0/protocol-examples.html
index db553af..60e14a6 100644
--- a/1.0/protocol-examples.html
+++ b/1.0/protocol-examples.html
@@ -1594,7 +1594,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-overview.html b/1.0/protocol-overview.html
index a781e68..e5385a2 100644
--- a/1.0/protocol-overview.html
+++ b/1.0/protocol-overview.html
@@ -1510,7 +1510,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-acks.html b/1.0/protocol-specification-acks.html
index ab15b22..d9ac909 100644
--- a/1.0/protocol-specification-acks.html
+++ b/1.0/protocol-specification-acks.html
@@ -1534,7 +1534,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-policies-create-or-modify.html b/1.0/protocol-specification-policies-create-or-modify.html
index 3fda0a2..32f4d31 100644
--- a/1.0/protocol-specification-policies-create-or-modify.html
+++ b/1.0/protocol-specification-policies-create-or-modify.html
@@ -2112,7 +2112,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-policies-delete.html b/1.0/protocol-specification-policies-delete.html
index 1f4a52b..176b862 100644
--- a/1.0/protocol-specification-policies-delete.html
+++ b/1.0/protocol-specification-policies-delete.html
@@ -1782,7 +1782,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-policies-retrieve.html b/1.0/protocol-specification-policies-retrieve.html
index 759054b..c9dd0f0 100644
--- a/1.0/protocol-specification-policies-retrieve.html
+++ b/1.0/protocol-specification-policies-retrieve.html
@@ -2005,7 +2005,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-policies.html b/1.0/protocol-specification-policies.html
index ded7b84..b3dbf41 100644
--- a/1.0/protocol-specification-policies.html
+++ b/1.0/protocol-specification-policies.html
@@ -1592,7 +1592,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-things-create-or-modify.html b/1.0/protocol-specification-things-create-or-modify.html
index a18d7fa..96c59c8 100644
--- a/1.0/protocol-specification-things-create-or-modify.html
+++ b/1.0/protocol-specification-things-create-or-modify.html
@@ -2912,7 +2912,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-things-delete.html b/1.0/protocol-specification-things-delete.html
index ba8f868..a9f71ec 100644
--- a/1.0/protocol-specification-things-delete.html
+++ b/1.0/protocol-specification-things-delete.html
@@ -2399,7 +2399,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-things-messages.html b/1.0/protocol-specification-things-messages.html
index 0bcfa42..d3ec058 100644
--- a/1.0/protocol-specification-things-messages.html
+++ b/1.0/protocol-specification-things-messages.html
@@ -1754,7 +1754,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-things-retrieve.html b/1.0/protocol-specification-things-retrieve.html
index a1a9f7f..2374d00 100644
--- a/1.0/protocol-specification-things-retrieve.html
+++ b/1.0/protocol-specification-things-retrieve.html
@@ -2201,7 +2201,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-things-search.html b/1.0/protocol-specification-things-search.html
index 165109b..97c327b 100644
--- a/1.0/protocol-specification-things-search.html
+++ b/1.0/protocol-specification-things-search.html
@@ -1858,7 +1858,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-things.html b/1.0/protocol-specification-things.html
index f7e2c57..43062cf 100644
--- a/1.0/protocol-specification-things.html
+++ b/1.0/protocol-specification-things.html
@@ -1563,7 +1563,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification-topic.html b/1.0/protocol-specification-topic.html
index b6349aa..546ad1d 100644
--- a/1.0/protocol-specification-topic.html
+++ b/1.0/protocol-specification-topic.html
@@ -1668,7 +1668,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-specification.html b/1.0/protocol-specification.html
index 43a9b60..9340bdf 100644
--- a/1.0/protocol-specification.html
+++ b/1.0/protocol-specification.html
@@ -1650,7 +1650,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/protocol-twinlive.html b/1.0/protocol-twinlive.html
index bcd1bbd..0a89243 100644
--- a/1.0/protocol-twinlive.html
+++ b/1.0/protocol-twinlive.html
@@ -1521,7 +1521,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_010-M1.html b/1.0/release_notes_010-M1.html
index 2c6981a..de88d6b 100644
--- a/1.0/release_notes_010-M1.html
+++ b/1.0/release_notes_010-M1.html
@@ -1500,7 +1500,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_010-M3.html b/1.0/release_notes_010-M3.html
index a2e3760..470de95 100644
--- a/1.0/release_notes_010-M3.html
+++ b/1.0/release_notes_010-M3.html
@@ -1556,7 +1556,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_020-M1.html b/1.0/release_notes_020-M1.html
index a08586e..94649b8 100644
--- a/1.0/release_notes_020-M1.html
+++ b/1.0/release_notes_020-M1.html
@@ -1541,7 +1541,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_030-M1.html b/1.0/release_notes_030-M1.html
index 042cf4e..c1637a3 100644
--- a/1.0/release_notes_030-M1.html
+++ b/1.0/release_notes_030-M1.html
@@ -1552,7 +1552,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_030-M2.html b/1.0/release_notes_030-M2.html
index 48954c6..80b4f6d 100644
--- a/1.0/release_notes_030-M2.html
+++ b/1.0/release_notes_030-M2.html
@@ -1549,7 +1549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_080-M1.html b/1.0/release_notes_080-M1.html
index d6eb42d..08cbd64 100644
--- a/1.0/release_notes_080-M1.html
+++ b/1.0/release_notes_080-M1.html
@@ -1571,7 +1571,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_080-M2.html b/1.0/release_notes_080-M2.html
index a2a4a16..69f8c4d 100644
--- a/1.0/release_notes_080-M2.html
+++ b/1.0/release_notes_080-M2.html
@@ -1555,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_080-M3.html b/1.0/release_notes_080-M3.html
index 77b7918..f9c9e6c 100644
--- a/1.0/release_notes_080-M3.html
+++ b/1.0/release_notes_080-M3.html
@@ -1559,7 +1559,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_080.html b/1.0/release_notes_080.html
index 7f805df..35df8cb 100644
--- a/1.0/release_notes_080.html
+++ b/1.0/release_notes_080.html
@@ -1565,7 +1565,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_090-M1.html b/1.0/release_notes_090-M1.html
index 60b788b..585fe32 100644
--- a/1.0/release_notes_090-M1.html
+++ b/1.0/release_notes_090-M1.html
@@ -1537,7 +1537,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_090-M2.html b/1.0/release_notes_090-M2.html
index d07294e..1df0b80 100644
--- a/1.0/release_notes_090-M2.html
+++ b/1.0/release_notes_090-M2.html
@@ -1538,7 +1538,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_090.html b/1.0/release_notes_090.html
index d9e9524..2cc0f1f 100644
--- a/1.0/release_notes_090.html
+++ b/1.0/release_notes_090.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_100-M1a.html b/1.0/release_notes_100-M1a.html
index d4e265a..d5baed2 100644
--- a/1.0/release_notes_100-M1a.html
+++ b/1.0/release_notes_100-M1a.html
@@ -1556,7 +1556,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_100-M2.html b/1.0/release_notes_100-M2.html
index 57070e4..d060019 100644
--- a/1.0/release_notes_100-M2.html
+++ b/1.0/release_notes_100-M2.html
@@ -1573,7 +1573,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_100.html b/1.0/release_notes_100.html
index e7afd8f..26f6586 100644
--- a/1.0/release_notes_100.html
+++ b/1.0/release_notes_100.html
@@ -1578,7 +1578,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/release_notes_110.html b/1.0/release_notes_110.html
index ed8e22b..c0ee2a5 100644
--- a/1.0/release_notes_110.html
+++ b/1.0/release_notes_110.html
@@ -1619,7 +1619,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/sandbox.html b/1.0/sandbox.html
index 61def3b..45fa3bb 100644
--- a/1.0/sandbox.html
+++ b/1.0/sandbox.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_architecture.html b/1.0/tag_architecture.html
index d1f1b6c..be5f83d 100644
--- a/1.0/tag_architecture.html
+++ b/1.0/tag_architecture.html
@@ -2251,7 +2251,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_blog.html b/1.0/tag_blog.html
index e008c7e..d2ec21d 100644
--- a/1.0/tag_blog.html
+++ b/1.0/tag_blog.html
@@ -2377,7 +2377,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_client_sdk.html b/1.0/tag_client_sdk.html
index 29a5bf9..9f29c78 100644
--- a/1.0/tag_client_sdk.html
+++ b/1.0/tag_client_sdk.html
@@ -2237,7 +2237,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_connectivity.html b/1.0/tag_connectivity.html
index 3af18e5..e27eee1 100644
--- a/1.0/tag_connectivity.html
+++ b/1.0/tag_connectivity.html
@@ -2323,7 +2323,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_getting_started.html b/1.0/tag_getting_started.html
index aa67d88..b8d780c 100644
--- a/1.0/tag_getting_started.html
+++ b/1.0/tag_getting_started.html
@@ -2251,7 +2251,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_http.html b/1.0/tag_http.html
index 51138ee..ffb6c6b 100644
--- a/1.0/tag_http.html
+++ b/1.0/tag_http.html
@@ -2245,7 +2245,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_installation.html b/1.0/tag_installation.html
index 5f9a11b..fec6c03 100644
--- a/1.0/tag_installation.html
+++ b/1.0/tag_installation.html
@@ -2227,7 +2227,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_model.html b/1.0/tag_model.html
index 7157b64..594f768 100644
--- a/1.0/tag_model.html
+++ b/1.0/tag_model.html
@@ -2275,7 +2275,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_news.html b/1.0/tag_news.html
index ace519f..5ee5b24 100644
--- a/1.0/tag_news.html
+++ b/1.0/tag_news.html
@@ -2209,7 +2209,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_protocol.html b/1.0/tag_protocol.html
index 1a5ad28..de92ef8 100644
--- a/1.0/tag_protocol.html
+++ b/1.0/tag_protocol.html
@@ -2365,7 +2365,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_release_notes.html b/1.0/tag_release_notes.html
index bcead73..e97c055 100644
--- a/1.0/tag_release_notes.html
+++ b/1.0/tag_release_notes.html
@@ -2305,7 +2305,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_rql.html b/1.0/tag_rql.html
index e4e8463..4c5b7bc 100644
--- a/1.0/tag_rql.html
+++ b/1.0/tag_rql.html
@@ -2275,7 +2275,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_search.html b/1.0/tag_search.html
index e0590ac..bb5c98e 100644
--- a/1.0/tag_search.html
+++ b/1.0/tag_search.html
@@ -2245,7 +2245,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_signal.html b/1.0/tag_signal.html
index 2dbb78e..a5e519e 100644
--- a/1.0/tag_signal.html
+++ b/1.0/tag_signal.html
@@ -2244,7 +2244,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.0/tag_troubleshooting.html b/1.0/tag_troubleshooting.html
index a74e339..cb85cff 100644
--- a/1.0/tag_troubleshooting.html
+++ b/1.0/tag_troubleshooting.html
@@ -2215,7 +2215,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2017-11-10-welcome-to-ditto.html b/1.1/2017-11-10-welcome-to-ditto.html
index 6bdea6c..1aecbe5 100644
--- a/1.1/2017-11-10-welcome-to-ditto.html
+++ b/1.1/2017-11-10-welcome-to-ditto.html
@@ -264,7 +264,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2017-12-18-milestone-announcement-010-M1.html b/1.1/2017-12-18-milestone-announcement-010-M1.html
index a0ba064..699e286 100644
--- a/1.1/2017-12-18-milestone-announcement-010-M1.html
+++ b/1.1/2017-12-18-milestone-announcement-010-M1.html
@@ -268,7 +268,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-01-12-milestone-announcement-010-M3.html b/1.1/2018-01-12-milestone-announcement-010-M3.html
index e3ccb1b..6a7f69a 100644
--- a/1.1/2018-01-12-milestone-announcement-010-M3.html
+++ b/1.1/2018-01-12-milestone-announcement-010-M3.html
@@ -287,7 +287,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-01-15-example-demonstrating-rest-to-websocket.html b/1.1/2018-01-15-example-demonstrating-rest-to-websocket.html
index 6f252d0..cca6a51 100644
--- a/1.1/2018-01-15-example-demonstrating-rest-to-websocket.html
+++ b/1.1/2018-01-15-example-demonstrating-rest-to-websocket.html
@@ -276,7 +276,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-02-07-milestone-announcement-020-M1.html b/1.1/2018-02-07-milestone-announcement-020-M1.html
index f503854..4107298 100644
--- a/1.1/2018-02-07-milestone-announcement-020-M1.html
+++ b/1.1/2018-02-07-milestone-announcement-020-M1.html
@@ -288,7 +288,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-02-08-feature-definition.html b/1.1/2018-02-08-feature-definition.html
index 8041214..9b79570 100644
--- a/1.1/2018-02-08-feature-definition.html
+++ b/1.1/2018-02-08-feature-definition.html
@@ -318,7 +318,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-04-25-connectivity-service.html b/1.1/2018-04-25-connectivity-service.html
index a6d9e2a..c581953 100644
--- a/1.1/2018-04-25-connectivity-service.html
+++ b/1.1/2018-04-25-connectivity-service.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-04-26-milestone-announcement-030-M1.html b/1.1/2018-04-26-milestone-announcement-030-M1.html
index 35b2a91..8243930 100644
--- a/1.1/2018-04-26-milestone-announcement-030-M1.html
+++ b/1.1/2018-04-26-milestone-announcement-030-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-05-02-connecting-ditto-hono.html b/1.1/2018-05-02-connecting-ditto-hono.html
index 77a5957..876783b 100644
--- a/1.1/2018-05-02-connecting-ditto-hono.html
+++ b/1.1/2018-05-02-connecting-ditto-hono.html
@@ -1006,7 +1006,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-06-15-milestone-announcement-030-M2.html b/1.1/2018-06-15-milestone-announcement-030-M2.html
index a275454..5085a96 100644
--- a/1.1/2018-06-15-milestone-announcement-030-M2.html
+++ b/1.1/2018-06-15-milestone-announcement-030-M2.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-08-14-milestone-announcement-080-M1.html b/1.1/2018-08-14-milestone-announcement-080-M1.html
index 874cefc..f2fd81a 100644
--- a/1.1/2018-08-14-milestone-announcement-080-M1.html
+++ b/1.1/2018-08-14-milestone-announcement-080-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-09-21-selective-push-notifications.html b/1.1/2018-09-21-selective-push-notifications.html
index 3b41930..b6c75fd 100644
--- a/1.1/2018-09-21-selective-push-notifications.html
+++ b/1.1/2018-09-21-selective-push-notifications.html
@@ -484,7 +484,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-09-27-milestone-announcement-080-M2.html b/1.1/2018-09-27-milestone-announcement-080-M2.html
index 3c7edbc..51aab17 100644
--- a/1.1/2018-09-27-milestone-announcement-080-M2.html
+++ b/1.1/2018-09-27-milestone-announcement-080-M2.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-10-16-example-mqtt-bidirectional.html b/1.1/2018-10-16-example-mqtt-bidirectional.html
index 2b9f916..28b4fbb 100644
--- a/1.1/2018-10-16-example-mqtt-bidirectional.html
+++ b/1.1/2018-10-16-example-mqtt-bidirectional.html
@@ -292,7 +292,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-11-14-milestone-announcement-080-M3.html b/1.1/2018-11-14-milestone-announcement-080-M3.html
index c957348..c2bd30f 100644
--- a/1.1/2018-11-14-milestone-announcement-080-M3.html
+++ b/1.1/2018-11-14-milestone-announcement-080-M3.html
@@ -285,7 +285,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-11-28-release-announcement-080.html b/1.1/2018-11-28-release-announcement-080.html
index 194c6f4..4e46593 100644
--- a/1.1/2018-11-28-release-announcement-080.html
+++ b/1.1/2018-11-28-release-announcement-080.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2018-12-05-example-command-and-control.html b/1.1/2018-12-05-example-command-and-control.html
index a38cb32..ca0aefc 100644
--- a/1.1/2018-12-05-example-command-and-control.html
+++ b/1.1/2018-12-05-example-command-and-control.html
@@ -519,7 +519,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2019-03-13-kafka-connectivity.html b/1.1/2019-03-13-kafka-connectivity.html
index b34ecda..e2823b8 100644
--- a/1.1/2019-03-13-kafka-connectivity.html
+++ b/1.1/2019-03-13-kafka-connectivity.html
@@ -266,7 +266,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2019-03-28-milestone-announcement-090-M1.html b/1.1/2019-03-28-milestone-announcement-090-M1.html
index 532233b..c23c3b8 100644
--- a/1.1/2019-03-28-milestone-announcement-090-M1.html
+++ b/1.1/2019-03-28-milestone-announcement-090-M1.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2019-04-29-milestone-announcement-090-M2.html b/1.1/2019-04-29-milestone-announcement-090-M2.html
index 3d51f55..70c7072 100644
--- a/1.1/2019-04-29-milestone-announcement-090-M2.html
+++ b/1.1/2019-04-29-milestone-announcement-090-M2.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2019-07-10-release-announcement-090.html b/1.1/2019-07-10-release-announcement-090.html
index c530b6f..3c83e20 100644
--- a/1.1/2019-07-10-release-announcement-090.html
+++ b/1.1/2019-07-10-release-announcement-090.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2019-08-28-openid-connect.html b/1.1/2019-08-28-openid-connect.html
index bdf4ace..f94356a 100644
--- a/1.1/2019-08-28-openid-connect.html
+++ b/1.1/2019-08-28-openid-connect.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2019-09-17-milestone-announcement-100-M1a.html b/1.1/2019-09-17-milestone-announcement-100-M1a.html
index 4457d74..1547b9d 100644
--- a/1.1/2019-09-17-milestone-announcement-100-M1a.html
+++ b/1.1/2019-09-17-milestone-announcement-100-M1a.html
@@ -283,7 +283,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2019-10-17-http-connectivity.html b/1.1/2019-10-17-http-connectivity.html
index 3bf6818..4475667 100644
--- a/1.1/2019-10-17-http-connectivity.html
+++ b/1.1/2019-10-17-http-connectivity.html
@@ -291,7 +291,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2019-11-04-milestone-announcement-100-M2.html b/1.1/2019-11-04-milestone-announcement-100-M2.html
index 71ac5a0..6082fe2 100644
--- a/1.1/2019-11-04-milestone-announcement-100-M2.html
+++ b/1.1/2019-11-04-milestone-announcement-100-M2.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2019-12-12-release-announcement-100.html b/1.1/2019-12-12-release-announcement-100.html
index 7a87c96..324d105 100644
--- a/1.1/2019-12-12-release-announcement-100.html
+++ b/1.1/2019-12-12-release-announcement-100.html
@@ -331,7 +331,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2020-04-16-connecting-to-ttn-via-mqtt.html b/1.1/2020-04-16-connecting-to-ttn-via-mqtt.html
index c06e5bf..8b4c971 100644
--- a/1.1/2020-04-16-connecting-to-ttn-via-mqtt.html
+++ b/1.1/2020-04-16-connecting-to-ttn-via-mqtt.html
@@ -778,7 +778,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/2020-04-29-release-announcement-110.html b/1.1/2020-04-29-release-announcement-110.html
index a1dfa97..777533f 100644
--- a/1.1/2020-04-29-release-announcement-110.html
+++ b/1.1/2020-04-29-release-announcement-110.html
@@ -312,7 +312,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/404.html b/1.1/404.html
index 2a3aa05..b20cc59 100644
--- a/1.1/404.html
+++ b/1.1/404.html
@@ -1518,7 +1518,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/architecture-overview.html b/1.1/architecture-overview.html
index 1610e6c..b6929aa 100644
--- a/1.1/architecture-overview.html
+++ b/1.1/architecture-overview.html
@@ -1571,7 +1571,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/architecture-services-concierge.html b/1.1/architecture-services-concierge.html
index 1c02b5b..99d5f68 100644
--- a/1.1/architecture-services-concierge.html
+++ b/1.1/architecture-services-concierge.html
@@ -1557,7 +1557,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/architecture-services-connectivity.html b/1.1/architecture-services-connectivity.html
index ed7dcf9..933a22f 100644
--- a/1.1/architecture-services-connectivity.html
+++ b/1.1/architecture-services-connectivity.html
@@ -1571,7 +1571,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/architecture-services-gateway.html b/1.1/architecture-services-gateway.html
index 146f846..030bad4 100644
--- a/1.1/architecture-services-gateway.html
+++ b/1.1/architecture-services-gateway.html
@@ -1549,7 +1549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/architecture-services-policies.html b/1.1/architecture-services-policies.html
index 539f853..5c9601c 100644
--- a/1.1/architecture-services-policies.html
+++ b/1.1/architecture-services-policies.html
@@ -1550,7 +1550,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/architecture-services-things-search.html b/1.1/architecture-services-things-search.html
index 3abf32d..9f730c3 100644
--- a/1.1/architecture-services-things-search.html
+++ b/1.1/architecture-services-things-search.html
@@ -1594,7 +1594,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/architecture-services-things.html b/1.1/architecture-services-things.html
index ce67e78..3280344 100644
--- a/1.1/architecture-services-things.html
+++ b/1.1/architecture-services-things.html
@@ -1550,7 +1550,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-acknowledgements.html b/1.1/basic-acknowledgements.html
index eb8b2dd..48ba18a 100644
--- a/1.1/basic-acknowledgements.html
+++ b/1.1/basic-acknowledgements.html
@@ -1699,7 +1699,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-acl.html b/1.1/basic-acl.html
index c972d67..29fa74f 100644
--- a/1.1/basic-acl.html
+++ b/1.1/basic-acl.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-apis.html b/1.1/basic-apis.html
index 1763f50..d6daa8d 100644
--- a/1.1/basic-apis.html
+++ b/1.1/basic-apis.html
@@ -1646,7 +1646,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-auth.html b/1.1/basic-auth.html
index 0dee4c9..42f5871 100644
--- a/1.1/basic-auth.html
+++ b/1.1/basic-auth.html
@@ -1567,7 +1567,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-changenotifications.html b/1.1/basic-changenotifications.html
index 30dab0a..cdf5505 100644
--- a/1.1/basic-changenotifications.html
+++ b/1.1/basic-changenotifications.html
@@ -1590,7 +1590,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-connections.html b/1.1/basic-connections.html
index 20b0cbc..6cc0a44 100644
--- a/1.1/basic-connections.html
+++ b/1.1/basic-connections.html
@@ -1985,7 +1985,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-enrichment.html b/1.1/basic-enrichment.html
index df2531d..2d7913f 100644
--- a/1.1/basic-enrichment.html
+++ b/1.1/basic-enrichment.html
@@ -1623,7 +1623,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-feature.html b/1.1/basic-feature.html
index be277ba..f448763 100644
--- a/1.1/basic-feature.html
+++ b/1.1/basic-feature.html
@@ -1751,7 +1751,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-messages.html b/1.1/basic-messages.html
index 8608e03..41743f7 100644
--- a/1.1/basic-messages.html
+++ b/1.1/basic-messages.html
@@ -1660,7 +1660,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-namespaces-and-names.html b/1.1/basic-namespaces-and-names.html
index 4bf13de..ce063a7 100644
--- a/1.1/basic-namespaces-and-names.html
+++ b/1.1/basic-namespaces-and-names.html
@@ -1590,7 +1590,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-overview.html b/1.1/basic-overview.html
index f9f42c6..fb2cd0b 100644
--- a/1.1/basic-overview.html
+++ b/1.1/basic-overview.html
@@ -1663,7 +1663,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-placeholders.html b/1.1/basic-placeholders.html
index c66f46b..f641c0b 100644
--- a/1.1/basic-placeholders.html
+++ b/1.1/basic-placeholders.html
@@ -1783,7 +1783,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-policy.html b/1.1/basic-policy.html
index cd81fde..423cbcf 100644
--- a/1.1/basic-policy.html
+++ b/1.1/basic-policy.html
@@ -1929,7 +1929,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-rql.html b/1.1/basic-rql.html
index 5ac7845..1912d63 100644
--- a/1.1/basic-rql.html
+++ b/1.1/basic-rql.html
@@ -1769,7 +1769,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-search.html b/1.1/basic-search.html
index 9c76fd5..9e4ce83 100644
--- a/1.1/basic-search.html
+++ b/1.1/basic-search.html
@@ -1662,7 +1662,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-signals-command.html b/1.1/basic-signals-command.html
index 3716549..79ddda4 100644
--- a/1.1/basic-signals-command.html
+++ b/1.1/basic-signals-command.html
@@ -1548,7 +1548,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-signals-commandresponse.html b/1.1/basic-signals-commandresponse.html
index c8cfc6a..79ffd9c 100644
--- a/1.1/basic-signals-commandresponse.html
+++ b/1.1/basic-signals-commandresponse.html
@@ -1528,7 +1528,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-signals-errorresponse.html b/1.1/basic-signals-errorresponse.html
index dfea5c1..2347efd 100644
--- a/1.1/basic-signals-errorresponse.html
+++ b/1.1/basic-signals-errorresponse.html
@@ -1530,7 +1530,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-signals-event.html b/1.1/basic-signals-event.html
index 335e011..c883ae8 100644
--- a/1.1/basic-signals-event.html
+++ b/1.1/basic-signals-event.html
@@ -1534,7 +1534,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-signals.html b/1.1/basic-signals.html
index 011538e..d744868 100644
--- a/1.1/basic-signals.html
+++ b/1.1/basic-signals.html
@@ -1578,7 +1578,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/basic-thing.html b/1.1/basic-thing.html
index 75ecd42..d78102b 100644
--- a/1.1/basic-thing.html
+++ b/1.1/basic-thing.html
@@ -1614,7 +1614,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/blog.html b/1.1/blog.html
index 12de30c..bbccab5 100644
--- a/1.1/blog.html
+++ b/1.1/blog.html
@@ -393,7 +393,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/blog_archive.html b/1.1/blog_archive.html
index b0cd805..26add46 100644
--- a/1.1/blog_archive.html
+++ b/1.1/blog_archive.html
@@ -446,7 +446,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/client-sdk-java.html b/1.1/client-sdk-java.html
index c6c5ed5..ea2f5c6 100644
--- a/1.1/client-sdk-java.html
+++ b/1.1/client-sdk-java.html
@@ -1775,7 +1775,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/client-sdk-javascript.html b/1.1/client-sdk-javascript.html
index 8de641b..3f3bc50 100644
--- a/1.1/client-sdk-javascript.html
+++ b/1.1/client-sdk-javascript.html
@@ -1584,7 +1584,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/client-sdk-overview.html b/1.1/client-sdk-overview.html
index 4081ee3..27e35af 100644
--- a/1.1/client-sdk-overview.html
+++ b/1.1/client-sdk-overview.html
@@ -1531,7 +1531,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/connectivity-header-mapping.html b/1.1/connectivity-header-mapping.html
index 65fec91..5b12265 100644
--- a/1.1/connectivity-header-mapping.html
+++ b/1.1/connectivity-header-mapping.html
@@ -1541,7 +1541,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/connectivity-manage-connections.html b/1.1/connectivity-manage-connections.html
index 512f3bf..e6914b7 100644
--- a/1.1/connectivity-manage-connections.html
+++ b/1.1/connectivity-manage-connections.html
@@ -1846,7 +1846,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/connectivity-mapping.html b/1.1/connectivity-mapping.html
index d7b2c09..464054c 100644
--- a/1.1/connectivity-mapping.html
+++ b/1.1/connectivity-mapping.html
@@ -2311,7 +2311,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/connectivity-overview.html b/1.1/connectivity-overview.html
index 78968d6..70d9763 100644
--- a/1.1/connectivity-overview.html
+++ b/1.1/connectivity-overview.html
@@ -1542,7 +1542,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/connectivity-protocol-bindings-amqp091.html b/1.1/connectivity-protocol-bindings-amqp091.html
index b5d17bf..d3d6f9c 100644
--- a/1.1/connectivity-protocol-bindings-amqp091.html
+++ b/1.1/connectivity-protocol-bindings-amqp091.html
@@ -1640,7 +1640,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/connectivity-protocol-bindings-amqp10.html b/1.1/connectivity-protocol-bindings-amqp10.html
index e223608..328bcc0 100644
--- a/1.1/connectivity-protocol-bindings-amqp10.html
+++ b/1.1/connectivity-protocol-bindings-amqp10.html
@@ -1686,7 +1686,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/connectivity-protocol-bindings-http.html b/1.1/connectivity-protocol-bindings-http.html
index 9906986..ec11907 100644
--- a/1.1/connectivity-protocol-bindings-http.html
+++ b/1.1/connectivity-protocol-bindings-http.html
@@ -1631,7 +1631,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/connectivity-protocol-bindings-kafka2.html b/1.1/connectivity-protocol-bindings-kafka2.html
index 1d17762..021223c 100644
--- a/1.1/connectivity-protocol-bindings-kafka2.html
+++ b/1.1/connectivity-protocol-bindings-kafka2.html
@@ -1630,7 +1630,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/connectivity-protocol-bindings-mqtt.html b/1.1/connectivity-protocol-bindings-mqtt.html
index d9a7ffe..a6c8928 100644
--- a/1.1/connectivity-protocol-bindings-mqtt.html
+++ b/1.1/connectivity-protocol-bindings-mqtt.html
@@ -1735,7 +1735,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/connectivity-protocol-bindings-mqtt5.html b/1.1/connectivity-protocol-bindings-mqtt5.html
index cb80f93..2a6e813 100644
--- a/1.1/connectivity-protocol-bindings-mqtt5.html
+++ b/1.1/connectivity-protocol-bindings-mqtt5.html
@@ -1703,7 +1703,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/connectivity-tls-certificates.html b/1.1/connectivity-tls-certificates.html
index e7ac00a..55c1911 100644
--- a/1.1/connectivity-tls-certificates.html
+++ b/1.1/connectivity-tls-certificates.html
@@ -1637,7 +1637,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/feedback.html b/1.1/feedback.html
index d3c4767..8f8f4f9 100644
--- a/1.1/feedback.html
+++ b/1.1/feedback.html
@@ -1543,7 +1543,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/glossary.html b/1.1/glossary.html
index 598b825..a4c397b 100644
--- a/1.1/glossary.html
+++ b/1.1/glossary.html
@@ -1531,7 +1531,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/http-api-doc.html b/1.1/http-api-doc.html
index 2a6b4d9..12baeff 100644
--- a/1.1/http-api-doc.html
+++ b/1.1/http-api-doc.html
@@ -201,7 +201,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/httpapi-concepts.html b/1.1/httpapi-concepts.html
index 1a5c572..e1ec4b9 100644
--- a/1.1/httpapi-concepts.html
+++ b/1.1/httpapi-concepts.html
@@ -2117,7 +2117,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/httpapi-messages.html b/1.1/httpapi-messages.html
index 9585e1c..b2fb960 100644
--- a/1.1/httpapi-messages.html
+++ b/1.1/httpapi-messages.html
@@ -1619,7 +1619,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/httpapi-overview.html b/1.1/httpapi-overview.html
index f8eff92..3878920 100644
--- a/1.1/httpapi-overview.html
+++ b/1.1/httpapi-overview.html
@@ -1539,7 +1539,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/httpapi-protocol-bindings-websocket.html b/1.1/httpapi-protocol-bindings-websocket.html
index 7e072df..37629b6 100644
--- a/1.1/httpapi-protocol-bindings-websocket.html
+++ b/1.1/httpapi-protocol-bindings-websocket.html
@@ -1819,7 +1819,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/httpapi-search.html b/1.1/httpapi-search.html
index 9a0e7fd..f471b53 100644
--- a/1.1/httpapi-search.html
+++ b/1.1/httpapi-search.html
@@ -1586,7 +1586,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/httpapi-sse.html b/1.1/httpapi-sse.html
index 6bca257..6e46652 100644
--- a/1.1/httpapi-sse.html
+++ b/1.1/httpapi-sse.html
@@ -1765,7 +1765,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/index.html b/1.1/index.html
index 34241e4..d7d2b98 100644
--- a/1.1/index.html
+++ b/1.1/index.html
@@ -264,7 +264,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/installation-building.html b/1.1/installation-building.html
index 06585d7..9ed3de0 100644
--- a/1.1/installation-building.html
+++ b/1.1/installation-building.html
@@ -1558,7 +1558,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/installation-operating.html b/1.1/installation-operating.html
index 9c49ba0..0891aa3 100644
--- a/1.1/installation-operating.html
+++ b/1.1/installation-operating.html
@@ -2414,7 +2414,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/installation-running.html b/1.1/installation-running.html
index cecd6a3..475fef6 100644
--- a/1.1/installation-running.html
+++ b/1.1/installation-running.html
@@ -1586,7 +1586,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/intro-digitaltwins.html b/1.1/intro-digitaltwins.html
index e88778d..faf2644 100644
--- a/1.1/intro-digitaltwins.html
+++ b/1.1/intro-digitaltwins.html
@@ -1561,7 +1561,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/intro-hello-world.html b/1.1/intro-hello-world.html
index c293888..631e629 100644
--- a/1.1/intro-hello-world.html
+++ b/1.1/intro-hello-world.html
@@ -1650,7 +1650,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/intro-overview.html b/1.1/intro-overview.html
index 0add233..b78a6d0 100644
--- a/1.1/intro-overview.html
+++ b/1.1/intro-overview.html
@@ -1577,7 +1577,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/presentations.html b/1.1/presentations.html
index a7b4674..298c169 100644
--- a/1.1/presentations.html
+++ b/1.1/presentations.html
@@ -1559,7 +1559,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-bindings.html b/1.1/protocol-bindings.html
index 29c1e04..0e98d2f 100644
--- a/1.1/protocol-bindings.html
+++ b/1.1/protocol-bindings.html
@@ -1550,7 +1550,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-createattribute.html b/1.1/protocol-examples-createattribute.html
index c5a8a91..ca87d48 100644
--- a/1.1/protocol-examples-createattribute.html
+++ b/1.1/protocol-examples-createattribute.html
@@ -1553,7 +1553,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-createattributes.html b/1.1/protocol-examples-createattributes.html
index 76c4f35..dd00597 100644
--- a/1.1/protocol-examples-createattributes.html
+++ b/1.1/protocol-examples-createattributes.html
@@ -1558,7 +1558,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-createdefinition.html b/1.1/protocol-examples-createdefinition.html
index ae0ff5b..9e56d13 100644
--- a/1.1/protocol-examples-createdefinition.html
+++ b/1.1/protocol-examples-createdefinition.html
@@ -1551,7 +1551,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-createfeature.html b/1.1/protocol-examples-createfeature.html
index 87ac4dc..d6bef93 100644
--- a/1.1/protocol-examples-createfeature.html
+++ b/1.1/protocol-examples-createfeature.html
@@ -1562,7 +1562,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-createfeatures.html b/1.1/protocol-examples-createfeatures.html
index 828b3fc..e22dfad 100644
--- a/1.1/protocol-examples-createfeatures.html
+++ b/1.1/protocol-examples-createfeatures.html
@@ -1566,7 +1566,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-createproperties.html b/1.1/protocol-examples-createproperties.html
index ced0c1e..4db9189 100644
--- a/1.1/protocol-examples-createproperties.html
+++ b/1.1/protocol-examples-createproperties.html
@@ -1557,7 +1557,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-createproperty.html b/1.1/protocol-examples-createproperty.html
index b5d4d3f..2104fe2 100644
--- a/1.1/protocol-examples-createproperty.html
+++ b/1.1/protocol-examples-createproperty.html
@@ -1547,7 +1547,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-creatething.html b/1.1/protocol-examples-creatething.html
index e1ad11c..518acd7 100644
--- a/1.1/protocol-examples-creatething.html
+++ b/1.1/protocol-examples-creatething.html
@@ -1646,7 +1646,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-createthingdefinition.html b/1.1/protocol-examples-createthingdefinition.html
index 9006635..5c84d88 100644
--- a/1.1/protocol-examples-createthingdefinition.html
+++ b/1.1/protocol-examples-createthingdefinition.html
@@ -1548,7 +1548,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-deleteattribute.html b/1.1/protocol-examples-deleteattribute.html
index 5e1711b..5e07af0 100644
--- a/1.1/protocol-examples-deleteattribute.html
+++ b/1.1/protocol-examples-deleteattribute.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-deleteattributes.html b/1.1/protocol-examples-deleteattributes.html
index 8beb1c5..5480cdb 100644
--- a/1.1/protocol-examples-deleteattributes.html
+++ b/1.1/protocol-examples-deleteattributes.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-deletedefinition.html b/1.1/protocol-examples-deletedefinition.html
index 8e2b8fd..a886da6 100644
--- a/1.1/protocol-examples-deletedefinition.html
+++ b/1.1/protocol-examples-deletedefinition.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-deletefeature.html b/1.1/protocol-examples-deletefeature.html
index 5d627a0..fad9b58 100644
--- a/1.1/protocol-examples-deletefeature.html
+++ b/1.1/protocol-examples-deletefeature.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-deletefeatures.html b/1.1/protocol-examples-deletefeatures.html
index 15a2299..40c7a5e 100644
--- a/1.1/protocol-examples-deletefeatures.html
+++ b/1.1/protocol-examples-deletefeatures.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-deleteproperties.html b/1.1/protocol-examples-deleteproperties.html
index c9d619a..43c616a 100644
--- a/1.1/protocol-examples-deleteproperties.html
+++ b/1.1/protocol-examples-deleteproperties.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-deleteproperty.html b/1.1/protocol-examples-deleteproperty.html
index 21976d0..d532da2 100644
--- a/1.1/protocol-examples-deleteproperty.html
+++ b/1.1/protocol-examples-deleteproperty.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-deletething.html b/1.1/protocol-examples-deletething.html
index 983b0bd..41eac74 100644
--- a/1.1/protocol-examples-deletething.html
+++ b/1.1/protocol-examples-deletething.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-deletethingdefinition.html b/1.1/protocol-examples-deletethingdefinition.html
index d8ab85c..fdf77c3 100644
--- a/1.1/protocol-examples-deletethingdefinition.html
+++ b/1.1/protocol-examples-deletethingdefinition.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-errorresponses.html b/1.1/protocol-examples-errorresponses.html
index c5deddd..9f3a45e 100644
--- a/1.1/protocol-examples-errorresponses.html
+++ b/1.1/protocol-examples-errorresponses.html
@@ -1980,7 +1980,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-modifyattribute.html b/1.1/protocol-examples-modifyattribute.html
index a957dae..3570288 100644
--- a/1.1/protocol-examples-modifyattribute.html
+++ b/1.1/protocol-examples-modifyattribute.html
@@ -1553,7 +1553,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-modifyattributes.html b/1.1/protocol-examples-modifyattributes.html
index f6e95c5..774ba6a 100644
--- a/1.1/protocol-examples-modifyattributes.html
+++ b/1.1/protocol-examples-modifyattributes.html
@@ -1558,7 +1558,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-modifydefinition.html b/1.1/protocol-examples-modifydefinition.html
index 92372e2..3f0b9e2 100644
--- a/1.1/protocol-examples-modifydefinition.html
+++ b/1.1/protocol-examples-modifydefinition.html
@@ -1551,7 +1551,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-modifyfeature.html b/1.1/protocol-examples-modifyfeature.html
index d16e57b..c65bc90 100644
--- a/1.1/protocol-examples-modifyfeature.html
+++ b/1.1/protocol-examples-modifyfeature.html
@@ -1562,7 +1562,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-modifyfeatures.html b/1.1/protocol-examples-modifyfeatures.html
index e68c37d..2d2f3d2 100644
--- a/1.1/protocol-examples-modifyfeatures.html
+++ b/1.1/protocol-examples-modifyfeatures.html
@@ -1566,7 +1566,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-modifypolicyid.html b/1.1/protocol-examples-modifypolicyid.html
index 5c62136..3a9db21 100644
--- a/1.1/protocol-examples-modifypolicyid.html
+++ b/1.1/protocol-examples-modifypolicyid.html
@@ -1569,7 +1569,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-modifyproperties.html b/1.1/protocol-examples-modifyproperties.html
index fa7dab9..e86b41c 100644
--- a/1.1/protocol-examples-modifyproperties.html
+++ b/1.1/protocol-examples-modifyproperties.html
@@ -1557,7 +1557,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-modifyproperty.html b/1.1/protocol-examples-modifyproperty.html
index f0acf53..efb2475 100644
--- a/1.1/protocol-examples-modifyproperty.html
+++ b/1.1/protocol-examples-modifyproperty.html
@@ -1547,7 +1547,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-modifything.html b/1.1/protocol-examples-modifything.html
index 674aebe..e34652f 100644
--- a/1.1/protocol-examples-modifything.html
+++ b/1.1/protocol-examples-modifything.html
@@ -1627,7 +1627,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-modifythingdefinition.html b/1.1/protocol-examples-modifythingdefinition.html
index 71ef831..3cf0d87 100644
--- a/1.1/protocol-examples-modifythingdefinition.html
+++ b/1.1/protocol-examples-modifythingdefinition.html
@@ -1547,7 +1547,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-createpolicy.html b/1.1/protocol-examples-policies-createpolicy.html
index db2ccaa..ec6d88f 100644
--- a/1.1/protocol-examples-policies-createpolicy.html
+++ b/1.1/protocol-examples-policies-createpolicy.html
@@ -1581,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-createpolicyentry.html b/1.1/protocol-examples-policies-createpolicyentry.html
index 7d15f88..6696f3e 100644
--- a/1.1/protocol-examples-policies-createpolicyentry.html
+++ b/1.1/protocol-examples-policies-createpolicyentry.html
@@ -1557,7 +1557,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-createresource.html b/1.1/protocol-examples-policies-createresource.html
index 129cf4a..6f414ed 100644
--- a/1.1/protocol-examples-policies-createresource.html
+++ b/1.1/protocol-examples-policies-createresource.html
@@ -1546,7 +1546,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-createsubject.html b/1.1/protocol-examples-policies-createsubject.html
index a7b09f0..e31446e 100644
--- a/1.1/protocol-examples-policies-createsubject.html
+++ b/1.1/protocol-examples-policies-createsubject.html
@@ -1542,7 +1542,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-deletepolicy.html b/1.1/protocol-examples-policies-deletepolicy.html
index 3dc95c6..205e7cd 100644
--- a/1.1/protocol-examples-policies-deletepolicy.html
+++ b/1.1/protocol-examples-policies-deletepolicy.html
@@ -1539,7 +1539,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-deletepolicyentry.html b/1.1/protocol-examples-policies-deletepolicyentry.html
index b78ec08..31a85a0 100644
--- a/1.1/protocol-examples-policies-deletepolicyentry.html
+++ b/1.1/protocol-examples-policies-deletepolicyentry.html
@@ -1539,7 +1539,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-deleteresource.html b/1.1/protocol-examples-policies-deleteresource.html
index 1cbb6a6..e2e7d63 100644
--- a/1.1/protocol-examples-policies-deleteresource.html
+++ b/1.1/protocol-examples-policies-deleteresource.html
@@ -1539,7 +1539,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-deletesubject.html b/1.1/protocol-examples-policies-deletesubject.html
index 99c1064..e9dac22 100644
--- a/1.1/protocol-examples-policies-deletesubject.html
+++ b/1.1/protocol-examples-policies-deletesubject.html
@@ -1539,7 +1539,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-errorresponses.html b/1.1/protocol-examples-policies-errorresponses.html
index 0ab2925..529bd13 100644
--- a/1.1/protocol-examples-policies-errorresponses.html
+++ b/1.1/protocol-examples-policies-errorresponses.html
@@ -1877,7 +1877,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-modifypolicy.html b/1.1/protocol-examples-policies-modifypolicy.html
index 0b062f4..05c066c 100644
--- a/1.1/protocol-examples-policies-modifypolicy.html
+++ b/1.1/protocol-examples-policies-modifypolicy.html
@@ -1560,7 +1560,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-modifypolicyentries.html b/1.1/protocol-examples-policies-modifypolicyentries.html
index 35f99af..b4ff188 100644
--- a/1.1/protocol-examples-policies-modifypolicyentries.html
+++ b/1.1/protocol-examples-policies-modifypolicyentries.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-modifypolicyentry.html b/1.1/protocol-examples-policies-modifypolicyentry.html
index 46b7a69..5db6174 100644
--- a/1.1/protocol-examples-policies-modifypolicyentry.html
+++ b/1.1/protocol-examples-policies-modifypolicyentry.html
@@ -1557,7 +1557,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-modifyresource.html b/1.1/protocol-examples-policies-modifyresource.html
index 9d7f30c..9bf1d9f 100644
--- a/1.1/protocol-examples-policies-modifyresource.html
+++ b/1.1/protocol-examples-policies-modifyresource.html
@@ -1546,7 +1546,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-modifyresources.html b/1.1/protocol-examples-policies-modifyresources.html
index c79a32e..77a023d 100644
--- a/1.1/protocol-examples-policies-modifyresources.html
+++ b/1.1/protocol-examples-policies-modifyresources.html
@@ -1549,7 +1549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-modifysubject.html b/1.1/protocol-examples-policies-modifysubject.html
index 58e7f60..2e19399 100644
--- a/1.1/protocol-examples-policies-modifysubject.html
+++ b/1.1/protocol-examples-policies-modifysubject.html
@@ -1542,7 +1542,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-modifysubjects.html b/1.1/protocol-examples-policies-modifysubjects.html
index b33af60..165fc26 100644
--- a/1.1/protocol-examples-policies-modifysubjects.html
+++ b/1.1/protocol-examples-policies-modifysubjects.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-retrievepolicy.html b/1.1/protocol-examples-policies-retrievepolicy.html
index 5126aab..0cf2259 100644
--- a/1.1/protocol-examples-policies-retrievepolicy.html
+++ b/1.1/protocol-examples-policies-retrievepolicy.html
@@ -1560,7 +1560,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-retrievepolicyentries.html b/1.1/protocol-examples-policies-retrievepolicyentries.html
index c02e6c8..fdfb8d7 100644
--- a/1.1/protocol-examples-policies-retrievepolicyentries.html
+++ b/1.1/protocol-examples-policies-retrievepolicyentries.html
@@ -1573,7 +1573,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-retrievepolicyentry.html b/1.1/protocol-examples-policies-retrievepolicyentry.html
index 0ed6cdf..f0dae5d 100644
--- a/1.1/protocol-examples-policies-retrievepolicyentry.html
+++ b/1.1/protocol-examples-policies-retrievepolicyentry.html
@@ -1555,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-retrieveresource.html b/1.1/protocol-examples-policies-retrieveresource.html
index 0900566..e42efda 100644
--- a/1.1/protocol-examples-policies-retrieveresource.html
+++ b/1.1/protocol-examples-policies-retrieveresource.html
@@ -1546,7 +1546,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-retrieveresources.html b/1.1/protocol-examples-policies-retrieveresources.html
index bcbcc7a..697c86e 100644
--- a/1.1/protocol-examples-policies-retrieveresources.html
+++ b/1.1/protocol-examples-policies-retrieveresources.html
@@ -1548,7 +1548,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-retrievesubject.html b/1.1/protocol-examples-policies-retrievesubject.html
index 2a85fc1..0160709 100644
--- a/1.1/protocol-examples-policies-retrievesubject.html
+++ b/1.1/protocol-examples-policies-retrievesubject.html
@@ -1542,7 +1542,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-policies-retrievesubjects.html b/1.1/protocol-examples-policies-retrievesubjects.html
index b343e4a..2614fdb 100644
--- a/1.1/protocol-examples-policies-retrievesubjects.html
+++ b/1.1/protocol-examples-policies-retrievesubjects.html
@@ -1544,7 +1544,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-retrieveattribute.html b/1.1/protocol-examples-retrieveattribute.html
index 3ae1cfa..4617407 100644
--- a/1.1/protocol-examples-retrieveattribute.html
+++ b/1.1/protocol-examples-retrieveattribute.html
@@ -1539,7 +1539,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-retrieveattributes.html b/1.1/protocol-examples-retrieveattributes.html
index bd0da71..e9e62e2 100644
--- a/1.1/protocol-examples-retrieveattributes.html
+++ b/1.1/protocol-examples-retrieveattributes.html
@@ -1541,7 +1541,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-retrievedefinition.html b/1.1/protocol-examples-retrievedefinition.html
index 04a47ab..ff9fcb8 100644
--- a/1.1/protocol-examples-retrievedefinition.html
+++ b/1.1/protocol-examples-retrievedefinition.html
@@ -1538,7 +1538,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-retrievefeature.html b/1.1/protocol-examples-retrievefeature.html
index c659875..5faec5d 100644
--- a/1.1/protocol-examples-retrievefeature.html
+++ b/1.1/protocol-examples-retrievefeature.html
@@ -1543,7 +1543,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-retrievefeatures.html b/1.1/protocol-examples-retrievefeatures.html
index c6df2b1..ca368a6 100644
--- a/1.1/protocol-examples-retrievefeatures.html
+++ b/1.1/protocol-examples-retrievefeatures.html
@@ -1545,7 +1545,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-retrieveproperties.html b/1.1/protocol-examples-retrieveproperties.html
index 826a4f4..7e92869 100644
--- a/1.1/protocol-examples-retrieveproperties.html
+++ b/1.1/protocol-examples-retrieveproperties.html
@@ -1541,7 +1541,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-retrieveproperty.html b/1.1/protocol-examples-retrieveproperty.html
index 83c68d9..de71ea4 100644
--- a/1.1/protocol-examples-retrieveproperty.html
+++ b/1.1/protocol-examples-retrieveproperty.html
@@ -1536,7 +1536,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-retrievething.html b/1.1/protocol-examples-retrievething.html
index 6d0293d..99e032f 100644
--- a/1.1/protocol-examples-retrievething.html
+++ b/1.1/protocol-examples-retrievething.html
@@ -1565,7 +1565,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-retrievethingdefinition.html b/1.1/protocol-examples-retrievethingdefinition.html
index bcfaf86..2215d1f 100644
--- a/1.1/protocol-examples-retrievethingdefinition.html
+++ b/1.1/protocol-examples-retrievethingdefinition.html
@@ -1536,7 +1536,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-retrievethings.html b/1.1/protocol-examples-retrievethings.html
index 101714c..2db2904 100644
--- a/1.1/protocol-examples-retrievethings.html
+++ b/1.1/protocol-examples-retrievethings.html
@@ -1562,7 +1562,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples-search.html b/1.1/protocol-examples-search.html
index fe257bb..a6eff80 100644
--- a/1.1/protocol-examples-search.html
+++ b/1.1/protocol-examples-search.html
@@ -1640,7 +1640,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-examples.html b/1.1/protocol-examples.html
index f07b0b5..c84b1eb 100644
--- a/1.1/protocol-examples.html
+++ b/1.1/protocol-examples.html
@@ -1622,7 +1622,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-overview.html b/1.1/protocol-overview.html
index 03360ac..fcfb992 100644
--- a/1.1/protocol-overview.html
+++ b/1.1/protocol-overview.html
@@ -1538,7 +1538,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-acks.html b/1.1/protocol-specification-acks.html
index 36e251b..375dc4d 100644
--- a/1.1/protocol-specification-acks.html
+++ b/1.1/protocol-specification-acks.html
@@ -1562,7 +1562,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-policies-create-or-modify.html b/1.1/protocol-specification-policies-create-or-modify.html
index f4b4d4b..7ea478b 100644
--- a/1.1/protocol-specification-policies-create-or-modify.html
+++ b/1.1/protocol-specification-policies-create-or-modify.html
@@ -2140,7 +2140,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-policies-delete.html b/1.1/protocol-specification-policies-delete.html
index 7efc6cd..f4abfe9 100644
--- a/1.1/protocol-specification-policies-delete.html
+++ b/1.1/protocol-specification-policies-delete.html
@@ -1810,7 +1810,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-policies-retrieve.html b/1.1/protocol-specification-policies-retrieve.html
index d3383b6..2d89adb 100644
--- a/1.1/protocol-specification-policies-retrieve.html
+++ b/1.1/protocol-specification-policies-retrieve.html
@@ -2033,7 +2033,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-policies.html b/1.1/protocol-specification-policies.html
index de215c7..a63435d 100644
--- a/1.1/protocol-specification-policies.html
+++ b/1.1/protocol-specification-policies.html
@@ -1620,7 +1620,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-things-create-or-modify.html b/1.1/protocol-specification-things-create-or-modify.html
index 0ee8fc8..1adb90b 100644
--- a/1.1/protocol-specification-things-create-or-modify.html
+++ b/1.1/protocol-specification-things-create-or-modify.html
@@ -2940,7 +2940,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-things-delete.html b/1.1/protocol-specification-things-delete.html
index 34f7183..5e2f8c4 100644
--- a/1.1/protocol-specification-things-delete.html
+++ b/1.1/protocol-specification-things-delete.html
@@ -2427,7 +2427,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-things-messages.html b/1.1/protocol-specification-things-messages.html
index 4083a90..a55fa9e 100644
--- a/1.1/protocol-specification-things-messages.html
+++ b/1.1/protocol-specification-things-messages.html
@@ -1782,7 +1782,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-things-retrieve.html b/1.1/protocol-specification-things-retrieve.html
index 9c4eed0..b14445f 100644
--- a/1.1/protocol-specification-things-retrieve.html
+++ b/1.1/protocol-specification-things-retrieve.html
@@ -2229,7 +2229,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-things-search.html b/1.1/protocol-specification-things-search.html
index f0606ce..3b14eb4 100644
--- a/1.1/protocol-specification-things-search.html
+++ b/1.1/protocol-specification-things-search.html
@@ -1886,7 +1886,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-things.html b/1.1/protocol-specification-things.html
index 45cc865..dca8ea1 100644
--- a/1.1/protocol-specification-things.html
+++ b/1.1/protocol-specification-things.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification-topic.html b/1.1/protocol-specification-topic.html
index 2965b48..2495a7f 100644
--- a/1.1/protocol-specification-topic.html
+++ b/1.1/protocol-specification-topic.html
@@ -1696,7 +1696,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-specification.html b/1.1/protocol-specification.html
index b530f20..47f9b46 100644
--- a/1.1/protocol-specification.html
+++ b/1.1/protocol-specification.html
@@ -1678,7 +1678,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/protocol-twinlive.html b/1.1/protocol-twinlive.html
index f77c0ee..aa7878b 100644
--- a/1.1/protocol-twinlive.html
+++ b/1.1/protocol-twinlive.html
@@ -1549,7 +1549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_010-M1.html b/1.1/release_notes_010-M1.html
index 22ae204..5ca70c3 100644
--- a/1.1/release_notes_010-M1.html
+++ b/1.1/release_notes_010-M1.html
@@ -1528,7 +1528,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_010-M3.html b/1.1/release_notes_010-M3.html
index f2c9c83..8d64f83 100644
--- a/1.1/release_notes_010-M3.html
+++ b/1.1/release_notes_010-M3.html
@@ -1584,7 +1584,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_020-M1.html b/1.1/release_notes_020-M1.html
index 7a832ba..fe2b770 100644
--- a/1.1/release_notes_020-M1.html
+++ b/1.1/release_notes_020-M1.html
@@ -1569,7 +1569,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_030-M1.html b/1.1/release_notes_030-M1.html
index 459699f..55f359c 100644
--- a/1.1/release_notes_030-M1.html
+++ b/1.1/release_notes_030-M1.html
@@ -1580,7 +1580,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_030-M2.html b/1.1/release_notes_030-M2.html
index f488ba9..33c320a 100644
--- a/1.1/release_notes_030-M2.html
+++ b/1.1/release_notes_030-M2.html
@@ -1577,7 +1577,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_080-M1.html b/1.1/release_notes_080-M1.html
index 4f01c7f..64a623d 100644
--- a/1.1/release_notes_080-M1.html
+++ b/1.1/release_notes_080-M1.html
@@ -1599,7 +1599,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_080-M2.html b/1.1/release_notes_080-M2.html
index 567fe12..5f15416 100644
--- a/1.1/release_notes_080-M2.html
+++ b/1.1/release_notes_080-M2.html
@@ -1583,7 +1583,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_080-M3.html b/1.1/release_notes_080-M3.html
index e86ef9b..4b970b3 100644
--- a/1.1/release_notes_080-M3.html
+++ b/1.1/release_notes_080-M3.html
@@ -1587,7 +1587,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_080.html b/1.1/release_notes_080.html
index 0178593..c11bc65 100644
--- a/1.1/release_notes_080.html
+++ b/1.1/release_notes_080.html
@@ -1593,7 +1593,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_090-M1.html b/1.1/release_notes_090-M1.html
index 0334567..9e22e09 100644
--- a/1.1/release_notes_090-M1.html
+++ b/1.1/release_notes_090-M1.html
@@ -1565,7 +1565,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_090-M2.html b/1.1/release_notes_090-M2.html
index 6f20a60..50c0ee5 100644
--- a/1.1/release_notes_090-M2.html
+++ b/1.1/release_notes_090-M2.html
@@ -1566,7 +1566,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_090.html b/1.1/release_notes_090.html
index d5e93fd..01988aa 100644
--- a/1.1/release_notes_090.html
+++ b/1.1/release_notes_090.html
@@ -1623,7 +1623,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_100-M1a.html b/1.1/release_notes_100-M1a.html
index 5a18d84..81207b4 100644
--- a/1.1/release_notes_100-M1a.html
+++ b/1.1/release_notes_100-M1a.html
@@ -1584,7 +1584,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_100-M2.html b/1.1/release_notes_100-M2.html
index f011f37..39345d0 100644
--- a/1.1/release_notes_100-M2.html
+++ b/1.1/release_notes_100-M2.html
@@ -1601,7 +1601,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_100.html b/1.1/release_notes_100.html
index 815e20c..8836acf 100644
--- a/1.1/release_notes_100.html
+++ b/1.1/release_notes_100.html
@@ -1604,7 +1604,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_110.html b/1.1/release_notes_110.html
index 1193e19..153b7bb 100644
--- a/1.1/release_notes_110.html
+++ b/1.1/release_notes_110.html
@@ -1645,7 +1645,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_111.html b/1.1/release_notes_111.html
index f37f62a..892f8e7 100644
--- a/1.1/release_notes_111.html
+++ b/1.1/release_notes_111.html
@@ -1543,7 +1543,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_112.html b/1.1/release_notes_112.html
index fb38bc2..672bb54 100644
--- a/1.1/release_notes_112.html
+++ b/1.1/release_notes_112.html
@@ -1559,7 +1559,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_113.html b/1.1/release_notes_113.html
index 7f5d67d..5d043c3 100644
--- a/1.1/release_notes_113.html
+++ b/1.1/release_notes_113.html
@@ -1559,7 +1559,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/release_notes_115.html b/1.1/release_notes_115.html
index fb23462..46d0260 100644
--- a/1.1/release_notes_115.html
+++ b/1.1/release_notes_115.html
@@ -1547,7 +1547,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/sandbox.html b/1.1/sandbox.html
index a81b674..6029eb0 100644
--- a/1.1/sandbox.html
+++ b/1.1/sandbox.html
@@ -1573,7 +1573,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_architecture.html b/1.1/tag_architecture.html
index 5e68784..af6a7bb 100644
--- a/1.1/tag_architecture.html
+++ b/1.1/tag_architecture.html
@@ -2295,7 +2295,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_blog.html b/1.1/tag_blog.html
index 986dfd2..0982f12 100644
--- a/1.1/tag_blog.html
+++ b/1.1/tag_blog.html
@@ -2421,7 +2421,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_client_sdk.html b/1.1/tag_client_sdk.html
index 57af2a2..84206c3 100644
--- a/1.1/tag_client_sdk.html
+++ b/1.1/tag_client_sdk.html
@@ -2281,7 +2281,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_connectivity.html b/1.1/tag_connectivity.html
index 8d69094..d04b53c 100644
--- a/1.1/tag_connectivity.html
+++ b/1.1/tag_connectivity.html
@@ -2367,7 +2367,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_getting_started.html b/1.1/tag_getting_started.html
index 64f6c6a..1eb1f51 100644
--- a/1.1/tag_getting_started.html
+++ b/1.1/tag_getting_started.html
@@ -2295,7 +2295,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_http.html b/1.1/tag_http.html
index 8be62fe..8133c4a 100644
--- a/1.1/tag_http.html
+++ b/1.1/tag_http.html
@@ -2289,7 +2289,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_installation.html b/1.1/tag_installation.html
index 92da2b5..1135f75 100644
--- a/1.1/tag_installation.html
+++ b/1.1/tag_installation.html
@@ -2271,7 +2271,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_model.html b/1.1/tag_model.html
index d271254..69908a7 100644
--- a/1.1/tag_model.html
+++ b/1.1/tag_model.html
@@ -2319,7 +2319,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_news.html b/1.1/tag_news.html
index e81240e..e734e66 100644
--- a/1.1/tag_news.html
+++ b/1.1/tag_news.html
@@ -2253,7 +2253,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_protocol.html b/1.1/tag_protocol.html
index 85cfc37..8529591 100644
--- a/1.1/tag_protocol.html
+++ b/1.1/tag_protocol.html
@@ -2409,7 +2409,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_release_notes.html b/1.1/tag_release_notes.html
index 842c978..61d9e82 100644
--- a/1.1/tag_release_notes.html
+++ b/1.1/tag_release_notes.html
@@ -2373,7 +2373,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_rql.html b/1.1/tag_rql.html
index 153842a..9c36f4a 100644
--- a/1.1/tag_rql.html
+++ b/1.1/tag_rql.html
@@ -2319,7 +2319,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_search.html b/1.1/tag_search.html
index 8a59646..dd87ede 100644
--- a/1.1/tag_search.html
+++ b/1.1/tag_search.html
@@ -2289,7 +2289,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_signal.html b/1.1/tag_signal.html
index 9ab1344..bab6efa 100644
--- a/1.1/tag_signal.html
+++ b/1.1/tag_signal.html
@@ -2288,7 +2288,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.1/tag_troubleshooting.html b/1.1/tag_troubleshooting.html
index a8bf4f0..349b73e 100644
--- a/1.1/tag_troubleshooting.html
+++ b/1.1/tag_troubleshooting.html
@@ -2259,7 +2259,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2017-11-10-welcome-to-ditto.html b/1.2/2017-11-10-welcome-to-ditto.html
index 1bd1662..6da4237 100644
--- a/1.2/2017-11-10-welcome-to-ditto.html
+++ b/1.2/2017-11-10-welcome-to-ditto.html
@@ -264,7 +264,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2017-12-18-milestone-announcement-010-M1.html b/1.2/2017-12-18-milestone-announcement-010-M1.html
index 1cfdfce..347f70c 100644
--- a/1.2/2017-12-18-milestone-announcement-010-M1.html
+++ b/1.2/2017-12-18-milestone-announcement-010-M1.html
@@ -268,7 +268,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-01-12-milestone-announcement-010-M3.html b/1.2/2018-01-12-milestone-announcement-010-M3.html
index 019bb03..403e3ea 100644
--- a/1.2/2018-01-12-milestone-announcement-010-M3.html
+++ b/1.2/2018-01-12-milestone-announcement-010-M3.html
@@ -287,7 +287,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-01-15-example-demonstrating-rest-to-websocket.html b/1.2/2018-01-15-example-demonstrating-rest-to-websocket.html
index af8d3d4..79d8868 100644
--- a/1.2/2018-01-15-example-demonstrating-rest-to-websocket.html
+++ b/1.2/2018-01-15-example-demonstrating-rest-to-websocket.html
@@ -276,7 +276,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-02-07-milestone-announcement-020-M1.html b/1.2/2018-02-07-milestone-announcement-020-M1.html
index a265869..4994929 100644
--- a/1.2/2018-02-07-milestone-announcement-020-M1.html
+++ b/1.2/2018-02-07-milestone-announcement-020-M1.html
@@ -288,7 +288,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-02-08-feature-definition.html b/1.2/2018-02-08-feature-definition.html
index 53363e5..1304c83 100644
--- a/1.2/2018-02-08-feature-definition.html
+++ b/1.2/2018-02-08-feature-definition.html
@@ -318,7 +318,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-04-25-connectivity-service.html b/1.2/2018-04-25-connectivity-service.html
index 36823a5..0b4e927 100644
--- a/1.2/2018-04-25-connectivity-service.html
+++ b/1.2/2018-04-25-connectivity-service.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-04-26-milestone-announcement-030-M1.html b/1.2/2018-04-26-milestone-announcement-030-M1.html
index 332adc3..377a1c8 100644
--- a/1.2/2018-04-26-milestone-announcement-030-M1.html
+++ b/1.2/2018-04-26-milestone-announcement-030-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-05-02-connecting-ditto-hono.html b/1.2/2018-05-02-connecting-ditto-hono.html
index df90105..387575a 100644
--- a/1.2/2018-05-02-connecting-ditto-hono.html
+++ b/1.2/2018-05-02-connecting-ditto-hono.html
@@ -1006,7 +1006,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-06-15-milestone-announcement-030-M2.html b/1.2/2018-06-15-milestone-announcement-030-M2.html
index 898b36f..5a97d28 100644
--- a/1.2/2018-06-15-milestone-announcement-030-M2.html
+++ b/1.2/2018-06-15-milestone-announcement-030-M2.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-08-14-milestone-announcement-080-M1.html b/1.2/2018-08-14-milestone-announcement-080-M1.html
index 0df7b42..3ac3090 100644
--- a/1.2/2018-08-14-milestone-announcement-080-M1.html
+++ b/1.2/2018-08-14-milestone-announcement-080-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-09-21-selective-push-notifications.html b/1.2/2018-09-21-selective-push-notifications.html
index cfbde9a..de236ef 100644
--- a/1.2/2018-09-21-selective-push-notifications.html
+++ b/1.2/2018-09-21-selective-push-notifications.html
@@ -484,7 +484,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-09-27-milestone-announcement-080-M2.html b/1.2/2018-09-27-milestone-announcement-080-M2.html
index 66cf0ca..225bb9d 100644
--- a/1.2/2018-09-27-milestone-announcement-080-M2.html
+++ b/1.2/2018-09-27-milestone-announcement-080-M2.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-10-16-example-mqtt-bidirectional.html b/1.2/2018-10-16-example-mqtt-bidirectional.html
index 98b6779..f4c25a9 100644
--- a/1.2/2018-10-16-example-mqtt-bidirectional.html
+++ b/1.2/2018-10-16-example-mqtt-bidirectional.html
@@ -292,7 +292,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-11-14-milestone-announcement-080-M3.html b/1.2/2018-11-14-milestone-announcement-080-M3.html
index 3c9b52e..160ef07 100644
--- a/1.2/2018-11-14-milestone-announcement-080-M3.html
+++ b/1.2/2018-11-14-milestone-announcement-080-M3.html
@@ -285,7 +285,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-11-28-release-announcement-080.html b/1.2/2018-11-28-release-announcement-080.html
index e58bc88..0627abc 100644
--- a/1.2/2018-11-28-release-announcement-080.html
+++ b/1.2/2018-11-28-release-announcement-080.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2018-12-05-example-command-and-control.html b/1.2/2018-12-05-example-command-and-control.html
index 0ddd71b..313d1af 100644
--- a/1.2/2018-12-05-example-command-and-control.html
+++ b/1.2/2018-12-05-example-command-and-control.html
@@ -519,7 +519,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2019-03-13-kafka-connectivity.html b/1.2/2019-03-13-kafka-connectivity.html
index 1aa0b0a..fde4773 100644
--- a/1.2/2019-03-13-kafka-connectivity.html
+++ b/1.2/2019-03-13-kafka-connectivity.html
@@ -266,7 +266,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2019-03-28-milestone-announcement-090-M1.html b/1.2/2019-03-28-milestone-announcement-090-M1.html
index c3a53eb..3f046f8 100644
--- a/1.2/2019-03-28-milestone-announcement-090-M1.html
+++ b/1.2/2019-03-28-milestone-announcement-090-M1.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2019-04-29-milestone-announcement-090-M2.html b/1.2/2019-04-29-milestone-announcement-090-M2.html
index 7493d3f..cabd761 100644
--- a/1.2/2019-04-29-milestone-announcement-090-M2.html
+++ b/1.2/2019-04-29-milestone-announcement-090-M2.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2019-07-10-release-announcement-090.html b/1.2/2019-07-10-release-announcement-090.html
index 9ec4f68..ba3dba6 100644
--- a/1.2/2019-07-10-release-announcement-090.html
+++ b/1.2/2019-07-10-release-announcement-090.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2019-08-28-openid-connect.html b/1.2/2019-08-28-openid-connect.html
index 182fd6a..0c35a3c 100644
--- a/1.2/2019-08-28-openid-connect.html
+++ b/1.2/2019-08-28-openid-connect.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2019-09-17-milestone-announcement-100-M1a.html b/1.2/2019-09-17-milestone-announcement-100-M1a.html
index 45d84de..6b84bef 100644
--- a/1.2/2019-09-17-milestone-announcement-100-M1a.html
+++ b/1.2/2019-09-17-milestone-announcement-100-M1a.html
@@ -283,7 +283,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2019-10-17-http-connectivity.html b/1.2/2019-10-17-http-connectivity.html
index 48c71a1..0a98880 100644
--- a/1.2/2019-10-17-http-connectivity.html
+++ b/1.2/2019-10-17-http-connectivity.html
@@ -291,7 +291,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2019-11-04-milestone-announcement-100-M2.html b/1.2/2019-11-04-milestone-announcement-100-M2.html
index c8da9a4..ce32f30 100644
--- a/1.2/2019-11-04-milestone-announcement-100-M2.html
+++ b/1.2/2019-11-04-milestone-announcement-100-M2.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2019-12-12-release-announcement-100.html b/1.2/2019-12-12-release-announcement-100.html
index 773cc71..7673a94 100644
--- a/1.2/2019-12-12-release-announcement-100.html
+++ b/1.2/2019-12-12-release-announcement-100.html
@@ -331,7 +331,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2020-04-16-connecting-to-ttn-via-mqtt.html b/1.2/2020-04-16-connecting-to-ttn-via-mqtt.html
index 5a6c667..e68cff3 100644
--- a/1.2/2020-04-16-connecting-to-ttn-via-mqtt.html
+++ b/1.2/2020-04-16-connecting-to-ttn-via-mqtt.html
@@ -778,7 +778,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2020-04-29-release-announcement-110.html b/1.2/2020-04-29-release-announcement-110.html
index 66e87d2..0606848 100644
--- a/1.2/2020-04-29-release-announcement-110.html
+++ b/1.2/2020-04-29-release-announcement-110.html
@@ -312,7 +312,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/2020-08-31-release-announcement-120.html b/1.2/2020-08-31-release-announcement-120.html
index fed321d..bac8cdf 100644
--- a/1.2/2020-08-31-release-announcement-120.html
+++ b/1.2/2020-08-31-release-announcement-120.html
@@ -290,7 +290,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/404.html b/1.2/404.html
index 06cf760..ca1ab8f 100644
--- a/1.2/404.html
+++ b/1.2/404.html
@@ -1552,7 +1552,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/architecture-overview.html b/1.2/architecture-overview.html
index 6b84a03..b1e4ad3 100644
--- a/1.2/architecture-overview.html
+++ b/1.2/architecture-overview.html
@@ -1605,7 +1605,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/architecture-services-concierge.html b/1.2/architecture-services-concierge.html
index 5b2b637..38103a3 100644
--- a/1.2/architecture-services-concierge.html
+++ b/1.2/architecture-services-concierge.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/architecture-services-connectivity.html b/1.2/architecture-services-connectivity.html
index b545a22..8f7e40a 100644
--- a/1.2/architecture-services-connectivity.html
+++ b/1.2/architecture-services-connectivity.html
@@ -1605,7 +1605,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/architecture-services-gateway.html b/1.2/architecture-services-gateway.html
index e96b5a4..4ce23c6 100644
--- a/1.2/architecture-services-gateway.html
+++ b/1.2/architecture-services-gateway.html
@@ -1583,7 +1583,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/architecture-services-policies.html b/1.2/architecture-services-policies.html
index 9340dfd..23b7a31 100644
--- a/1.2/architecture-services-policies.html
+++ b/1.2/architecture-services-policies.html
@@ -1584,7 +1584,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/architecture-services-things-search.html b/1.2/architecture-services-things-search.html
index 07bf2ba..df5185c 100644
--- a/1.2/architecture-services-things-search.html
+++ b/1.2/architecture-services-things-search.html
@@ -1628,7 +1628,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/architecture-services-things.html b/1.2/architecture-services-things.html
index d12eaf5..e9ffd07 100644
--- a/1.2/architecture-services-things.html
+++ b/1.2/architecture-services-things.html
@@ -1584,7 +1584,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-acknowledgements.html b/1.2/basic-acknowledgements.html
index e19efeb..e91b6c4 100644
--- a/1.2/basic-acknowledgements.html
+++ b/1.2/basic-acknowledgements.html
@@ -2141,7 +2141,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-acl.html b/1.2/basic-acl.html
index 453591d..8541d42 100644
--- a/1.2/basic-acl.html
+++ b/1.2/basic-acl.html
@@ -1622,7 +1622,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-apis.html b/1.2/basic-apis.html
index 99bed0a..5971ed5 100644
--- a/1.2/basic-apis.html
+++ b/1.2/basic-apis.html
@@ -1680,7 +1680,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-auth.html b/1.2/basic-auth.html
index b13a28b..d69cc77 100644
--- a/1.2/basic-auth.html
+++ b/1.2/basic-auth.html
@@ -1601,7 +1601,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-changenotifications.html b/1.2/basic-changenotifications.html
index a3eef97..a47a189 100644
--- a/1.2/basic-changenotifications.html
+++ b/1.2/basic-changenotifications.html
@@ -1624,7 +1624,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-connections.html b/1.2/basic-connections.html
index 4df47f2..0f086d7 100644
--- a/1.2/basic-connections.html
+++ b/1.2/basic-connections.html
@@ -2119,7 +2119,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-enrichment.html b/1.2/basic-enrichment.html
index 26f168f..6aa5c28 100644
--- a/1.2/basic-enrichment.html
+++ b/1.2/basic-enrichment.html
@@ -1657,7 +1657,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-errors.html b/1.2/basic-errors.html
index 5daca12..0469c43 100644
--- a/1.2/basic-errors.html
+++ b/1.2/basic-errors.html
@@ -1601,7 +1601,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-feature.html b/1.2/basic-feature.html
index 483eeb6..05af3e1 100644
--- a/1.2/basic-feature.html
+++ b/1.2/basic-feature.html
@@ -1785,7 +1785,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-messages.html b/1.2/basic-messages.html
index 4c44af9..de69aae 100644
--- a/1.2/basic-messages.html
+++ b/1.2/basic-messages.html
@@ -1694,7 +1694,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-metadata.html b/1.2/basic-metadata.html
index 55c7525..1bdfb11 100644
--- a/1.2/basic-metadata.html
+++ b/1.2/basic-metadata.html
@@ -1735,7 +1735,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-namespaces-and-names.html b/1.2/basic-namespaces-and-names.html
index 85c2884..4b01d9b 100644
--- a/1.2/basic-namespaces-and-names.html
+++ b/1.2/basic-namespaces-and-names.html
@@ -1628,7 +1628,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-overview.html b/1.2/basic-overview.html
index 0f6e2a5..a5f423a 100644
--- a/1.2/basic-overview.html
+++ b/1.2/basic-overview.html
@@ -1697,7 +1697,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-placeholders.html b/1.2/basic-placeholders.html
index 76fe4de..74d2021 100644
--- a/1.2/basic-placeholders.html
+++ b/1.2/basic-placeholders.html
@@ -1835,7 +1835,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-policy.html b/1.2/basic-policy.html
index ee35ac1..e41434e 100644
--- a/1.2/basic-policy.html
+++ b/1.2/basic-policy.html
@@ -1963,7 +1963,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-rql.html b/1.2/basic-rql.html
index 40164e6..31ef177 100644
--- a/1.2/basic-rql.html
+++ b/1.2/basic-rql.html
@@ -1803,7 +1803,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-search.html b/1.2/basic-search.html
index f8a5569..a990c4b 100644
--- a/1.2/basic-search.html
+++ b/1.2/basic-search.html
@@ -1696,7 +1696,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-signals-command.html b/1.2/basic-signals-command.html
index 877ad05..9890b42 100644
--- a/1.2/basic-signals-command.html
+++ b/1.2/basic-signals-command.html
@@ -1582,7 +1582,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-signals-commandresponse.html b/1.2/basic-signals-commandresponse.html
index d392716..10251b4 100644
--- a/1.2/basic-signals-commandresponse.html
+++ b/1.2/basic-signals-commandresponse.html
@@ -1562,7 +1562,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-signals-errorresponse.html b/1.2/basic-signals-errorresponse.html
index c76b4c8..faf631c 100644
--- a/1.2/basic-signals-errorresponse.html
+++ b/1.2/basic-signals-errorresponse.html
@@ -1566,7 +1566,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-signals-event.html b/1.2/basic-signals-event.html
index 36cf7ce..cd2b1ee 100644
--- a/1.2/basic-signals-event.html
+++ b/1.2/basic-signals-event.html
@@ -1568,7 +1568,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-signals.html b/1.2/basic-signals.html
index f1d7eac..e44e419 100644
--- a/1.2/basic-signals.html
+++ b/1.2/basic-signals.html
@@ -1612,7 +1612,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/basic-thing.html b/1.2/basic-thing.html
index 2c8125d..7a79d27 100644
--- a/1.2/basic-thing.html
+++ b/1.2/basic-thing.html
@@ -1653,7 +1653,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/blog.html b/1.2/blog.html
index 47117b0..cbec77f 100644
--- a/1.2/blog.html
+++ b/1.2/blog.html
@@ -393,7 +393,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/blog_archive.html b/1.2/blog_archive.html
index 069b7f8..b2b505c 100644
--- a/1.2/blog_archive.html
+++ b/1.2/blog_archive.html
@@ -453,7 +453,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/client-sdk-java.html b/1.2/client-sdk-java.html
index 0ad5c58..d46e3f0 100644
--- a/1.2/client-sdk-java.html
+++ b/1.2/client-sdk-java.html
@@ -1809,7 +1809,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/client-sdk-javascript.html b/1.2/client-sdk-javascript.html
index cd57b59..ea23f92 100644
--- a/1.2/client-sdk-javascript.html
+++ b/1.2/client-sdk-javascript.html
@@ -1618,7 +1618,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/client-sdk-overview.html b/1.2/client-sdk-overview.html
index da8b260..629fccd 100644
--- a/1.2/client-sdk-overview.html
+++ b/1.2/client-sdk-overview.html
@@ -1565,7 +1565,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/connectivity-header-mapping.html b/1.2/connectivity-header-mapping.html
index 22a0c37..a55a2b1 100644
--- a/1.2/connectivity-header-mapping.html
+++ b/1.2/connectivity-header-mapping.html
@@ -1575,7 +1575,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/connectivity-manage-connections.html b/1.2/connectivity-manage-connections.html
index 3e6045b..308f044 100644
--- a/1.2/connectivity-manage-connections.html
+++ b/1.2/connectivity-manage-connections.html
@@ -1880,7 +1880,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/connectivity-mapping.html b/1.2/connectivity-mapping.html
index 7d86989..92fcd80 100644
--- a/1.2/connectivity-mapping.html
+++ b/1.2/connectivity-mapping.html
@@ -2345,7 +2345,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/connectivity-overview.html b/1.2/connectivity-overview.html
index d55d1dd..eb4f00a 100644
--- a/1.2/connectivity-overview.html
+++ b/1.2/connectivity-overview.html
@@ -1577,7 +1577,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/connectivity-protocol-bindings-amqp091.html b/1.2/connectivity-protocol-bindings-amqp091.html
index 288cd29..5ef63fd 100644
--- a/1.2/connectivity-protocol-bindings-amqp091.html
+++ b/1.2/connectivity-protocol-bindings-amqp091.html
@@ -1723,7 +1723,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/connectivity-protocol-bindings-amqp10.html b/1.2/connectivity-protocol-bindings-amqp10.html
index 5709d0e..e6803be 100644
--- a/1.2/connectivity-protocol-bindings-amqp10.html
+++ b/1.2/connectivity-protocol-bindings-amqp10.html
@@ -1769,7 +1769,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/connectivity-protocol-bindings-http.html b/1.2/connectivity-protocol-bindings-http.html
index 0594bce..8dad2f0 100644
--- a/1.2/connectivity-protocol-bindings-http.html
+++ b/1.2/connectivity-protocol-bindings-http.html
@@ -1722,7 +1722,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/connectivity-protocol-bindings-kafka2.html b/1.2/connectivity-protocol-bindings-kafka2.html
index 50e7950..ac0c927 100644
--- a/1.2/connectivity-protocol-bindings-kafka2.html
+++ b/1.2/connectivity-protocol-bindings-kafka2.html
@@ -1701,7 +1701,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/connectivity-protocol-bindings-mqtt.html b/1.2/connectivity-protocol-bindings-mqtt.html
index c6df819..6dc3425 100644
--- a/1.2/connectivity-protocol-bindings-mqtt.html
+++ b/1.2/connectivity-protocol-bindings-mqtt.html
@@ -1894,7 +1894,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/connectivity-protocol-bindings-mqtt5.html b/1.2/connectivity-protocol-bindings-mqtt5.html
index 9ba7d79..07a68b8 100644
--- a/1.2/connectivity-protocol-bindings-mqtt5.html
+++ b/1.2/connectivity-protocol-bindings-mqtt5.html
@@ -1902,7 +1902,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/connectivity-tls-certificates.html b/1.2/connectivity-tls-certificates.html
index dcb15e9..0ae99ba 100644
--- a/1.2/connectivity-tls-certificates.html
+++ b/1.2/connectivity-tls-certificates.html
@@ -1673,7 +1673,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/feedback.html b/1.2/feedback.html
index f0433ca..1bbcb2e 100644
--- a/1.2/feedback.html
+++ b/1.2/feedback.html
@@ -1577,7 +1577,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/glossary.html b/1.2/glossary.html
index b3b8db0..640fa91 100644
--- a/1.2/glossary.html
+++ b/1.2/glossary.html
@@ -1565,7 +1565,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/http-api-doc.html b/1.2/http-api-doc.html
index a4a2b6b..fb49a03 100644
--- a/1.2/http-api-doc.html
+++ b/1.2/http-api-doc.html
@@ -201,7 +201,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/httpapi-concepts.html b/1.2/httpapi-concepts.html
index 6c18e07..38e3eb0 100644
--- a/1.2/httpapi-concepts.html
+++ b/1.2/httpapi-concepts.html
@@ -2151,7 +2151,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/httpapi-messages.html b/1.2/httpapi-messages.html
index 491a94a..e731ce2 100644
--- a/1.2/httpapi-messages.html
+++ b/1.2/httpapi-messages.html
@@ -1653,7 +1653,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/httpapi-overview.html b/1.2/httpapi-overview.html
index 6ed5908..682c08a 100644
--- a/1.2/httpapi-overview.html
+++ b/1.2/httpapi-overview.html
@@ -1573,7 +1573,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/httpapi-protocol-bindings-websocket.html b/1.2/httpapi-protocol-bindings-websocket.html
index 74b37cb..285d035 100644
--- a/1.2/httpapi-protocol-bindings-websocket.html
+++ b/1.2/httpapi-protocol-bindings-websocket.html
@@ -1853,7 +1853,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/httpapi-search.html b/1.2/httpapi-search.html
index 2483eb8..88bdd64 100644
--- a/1.2/httpapi-search.html
+++ b/1.2/httpapi-search.html
@@ -1620,7 +1620,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/httpapi-sse.html b/1.2/httpapi-sse.html
index 01e1a29..fcad4d3 100644
--- a/1.2/httpapi-sse.html
+++ b/1.2/httpapi-sse.html
@@ -1805,7 +1805,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/index.html b/1.2/index.html
index 56ec05d..7096e48 100644
--- a/1.2/index.html
+++ b/1.2/index.html
@@ -264,7 +264,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/installation-building.html b/1.2/installation-building.html
index 487f26e..2adf9fe 100644
--- a/1.2/installation-building.html
+++ b/1.2/installation-building.html
@@ -1592,7 +1592,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/installation-operating.html b/1.2/installation-operating.html
index c963be7..379d54f 100644
--- a/1.2/installation-operating.html
+++ b/1.2/installation-operating.html
@@ -2448,7 +2448,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/installation-running.html b/1.2/installation-running.html
index 76c147d..12796c6 100644
--- a/1.2/installation-running.html
+++ b/1.2/installation-running.html
@@ -1620,7 +1620,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/intro-digitaltwins.html b/1.2/intro-digitaltwins.html
index c3c0e0a..f214b04 100644
--- a/1.2/intro-digitaltwins.html
+++ b/1.2/intro-digitaltwins.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/intro-hello-world.html b/1.2/intro-hello-world.html
index 176c76a..f2ebd51 100644
--- a/1.2/intro-hello-world.html
+++ b/1.2/intro-hello-world.html
@@ -1684,7 +1684,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/intro-overview.html b/1.2/intro-overview.html
index 61215a2..3939a5f 100644
--- a/1.2/intro-overview.html
+++ b/1.2/intro-overview.html
@@ -1611,7 +1611,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/presentations.html b/1.2/presentations.html
index 9068762..07bbd56 100644
--- a/1.2/presentations.html
+++ b/1.2/presentations.html
@@ -1599,7 +1599,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-bindings.html b/1.2/protocol-bindings.html
index dd98c32..219e5f2 100644
--- a/1.2/protocol-bindings.html
+++ b/1.2/protocol-bindings.html
@@ -1585,7 +1585,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-createattribute.html b/1.2/protocol-examples-createattribute.html
index 689f7c1..c24e8cf 100644
--- a/1.2/protocol-examples-createattribute.html
+++ b/1.2/protocol-examples-createattribute.html
@@ -1587,7 +1587,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-createattributes.html b/1.2/protocol-examples-createattributes.html
index 440d984..47be659 100644
--- a/1.2/protocol-examples-createattributes.html
+++ b/1.2/protocol-examples-createattributes.html
@@ -1592,7 +1592,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-createdefinition.html b/1.2/protocol-examples-createdefinition.html
index d23f62f..8cce0c2 100644
--- a/1.2/protocol-examples-createdefinition.html
+++ b/1.2/protocol-examples-createdefinition.html
@@ -1585,7 +1585,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-createfeature.html b/1.2/protocol-examples-createfeature.html
index 5b24bf3..29bb792 100644
--- a/1.2/protocol-examples-createfeature.html
+++ b/1.2/protocol-examples-createfeature.html
@@ -1596,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-createfeatures.html b/1.2/protocol-examples-createfeatures.html
index 4eadeec..aaba4ec 100644
--- a/1.2/protocol-examples-createfeatures.html
+++ b/1.2/protocol-examples-createfeatures.html
@@ -1600,7 +1600,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-createproperties.html b/1.2/protocol-examples-createproperties.html
index a7ee287..fc30a85 100644
--- a/1.2/protocol-examples-createproperties.html
+++ b/1.2/protocol-examples-createproperties.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-createproperty.html b/1.2/protocol-examples-createproperty.html
index d79b3aa..00cba40 100644
--- a/1.2/protocol-examples-createproperty.html
+++ b/1.2/protocol-examples-createproperty.html
@@ -1581,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-creatething.html b/1.2/protocol-examples-creatething.html
index 2bb498e..f4e3429 100644
--- a/1.2/protocol-examples-creatething.html
+++ b/1.2/protocol-examples-creatething.html
@@ -1680,7 +1680,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-createthingdefinition.html b/1.2/protocol-examples-createthingdefinition.html
index cd3fc86..45b38c4 100644
--- a/1.2/protocol-examples-createthingdefinition.html
+++ b/1.2/protocol-examples-createthingdefinition.html
@@ -1582,7 +1582,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-deleteattribute.html b/1.2/protocol-examples-deleteattribute.html
index f847312..890d46b 100644
--- a/1.2/protocol-examples-deleteattribute.html
+++ b/1.2/protocol-examples-deleteattribute.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-deleteattributes.html b/1.2/protocol-examples-deleteattributes.html
index afb7909..5c29941 100644
--- a/1.2/protocol-examples-deleteattributes.html
+++ b/1.2/protocol-examples-deleteattributes.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-deletedefinition.html b/1.2/protocol-examples-deletedefinition.html
index e39fafb..e295163 100644
--- a/1.2/protocol-examples-deletedefinition.html
+++ b/1.2/protocol-examples-deletedefinition.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-deletefeature.html b/1.2/protocol-examples-deletefeature.html
index d7863b9..15a03ac 100644
--- a/1.2/protocol-examples-deletefeature.html
+++ b/1.2/protocol-examples-deletefeature.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-deletefeatures.html b/1.2/protocol-examples-deletefeatures.html
index f4c18d7..8fda6a9 100644
--- a/1.2/protocol-examples-deletefeatures.html
+++ b/1.2/protocol-examples-deletefeatures.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-deleteproperties.html b/1.2/protocol-examples-deleteproperties.html
index d265dd7..fbd8c04 100644
--- a/1.2/protocol-examples-deleteproperties.html
+++ b/1.2/protocol-examples-deleteproperties.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-deleteproperty.html b/1.2/protocol-examples-deleteproperty.html
index eafc161..acecafe 100644
--- a/1.2/protocol-examples-deleteproperty.html
+++ b/1.2/protocol-examples-deleteproperty.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-deletething.html b/1.2/protocol-examples-deletething.html
index 4083b06..112a8dd 100644
--- a/1.2/protocol-examples-deletething.html
+++ b/1.2/protocol-examples-deletething.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-deletethingdefinition.html b/1.2/protocol-examples-deletethingdefinition.html
index fab1ab7..fd0a1d0 100644
--- a/1.2/protocol-examples-deletethingdefinition.html
+++ b/1.2/protocol-examples-deletethingdefinition.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-errorresponses.html b/1.2/protocol-examples-errorresponses.html
index d9c930a..c67a8ef 100644
--- a/1.2/protocol-examples-errorresponses.html
+++ b/1.2/protocol-examples-errorresponses.html
@@ -2014,7 +2014,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-modifyattribute.html b/1.2/protocol-examples-modifyattribute.html
index 692acf9..84ab717 100644
--- a/1.2/protocol-examples-modifyattribute.html
+++ b/1.2/protocol-examples-modifyattribute.html
@@ -1587,7 +1587,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-modifyattributes.html b/1.2/protocol-examples-modifyattributes.html
index d8b200b..45ee4ba 100644
--- a/1.2/protocol-examples-modifyattributes.html
+++ b/1.2/protocol-examples-modifyattributes.html
@@ -1592,7 +1592,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-modifydefinition.html b/1.2/protocol-examples-modifydefinition.html
index e018ded..a1bbcca 100644
--- a/1.2/protocol-examples-modifydefinition.html
+++ b/1.2/protocol-examples-modifydefinition.html
@@ -1585,7 +1585,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-modifyfeature.html b/1.2/protocol-examples-modifyfeature.html
index 2a71545..7d74258 100644
--- a/1.2/protocol-examples-modifyfeature.html
+++ b/1.2/protocol-examples-modifyfeature.html
@@ -1596,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-modifyfeatures.html b/1.2/protocol-examples-modifyfeatures.html
index 4aca7cc..5171f58 100644
--- a/1.2/protocol-examples-modifyfeatures.html
+++ b/1.2/protocol-examples-modifyfeatures.html
@@ -1600,7 +1600,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-modifypolicyid.html b/1.2/protocol-examples-modifypolicyid.html
index 3ecf913..88873b7 100644
--- a/1.2/protocol-examples-modifypolicyid.html
+++ b/1.2/protocol-examples-modifypolicyid.html
@@ -1603,7 +1603,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-modifyproperties.html b/1.2/protocol-examples-modifyproperties.html
index 3e11959..062a46c 100644
--- a/1.2/protocol-examples-modifyproperties.html
+++ b/1.2/protocol-examples-modifyproperties.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-modifyproperty.html b/1.2/protocol-examples-modifyproperty.html
index 290606a..38dc26c 100644
--- a/1.2/protocol-examples-modifyproperty.html
+++ b/1.2/protocol-examples-modifyproperty.html
@@ -1581,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-modifything.html b/1.2/protocol-examples-modifything.html
index 02384e4..829416a 100644
--- a/1.2/protocol-examples-modifything.html
+++ b/1.2/protocol-examples-modifything.html
@@ -1661,7 +1661,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-modifythingdefinition.html b/1.2/protocol-examples-modifythingdefinition.html
index 9332eb3..3042708 100644
--- a/1.2/protocol-examples-modifythingdefinition.html
+++ b/1.2/protocol-examples-modifythingdefinition.html
@@ -1581,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-createpolicy.html b/1.2/protocol-examples-policies-createpolicy.html
index e16c5bb..8823294 100644
--- a/1.2/protocol-examples-policies-createpolicy.html
+++ b/1.2/protocol-examples-policies-createpolicy.html
@@ -1615,7 +1615,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-createpolicyentry.html b/1.2/protocol-examples-policies-createpolicyentry.html
index 75c307e..f40b920 100644
--- a/1.2/protocol-examples-policies-createpolicyentry.html
+++ b/1.2/protocol-examples-policies-createpolicyentry.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-createresource.html b/1.2/protocol-examples-policies-createresource.html
index 8f1789d..e456e7e 100644
--- a/1.2/protocol-examples-policies-createresource.html
+++ b/1.2/protocol-examples-policies-createresource.html
@@ -1580,7 +1580,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-createsubject.html b/1.2/protocol-examples-policies-createsubject.html
index 9fab64e..d366d46 100644
--- a/1.2/protocol-examples-policies-createsubject.html
+++ b/1.2/protocol-examples-policies-createsubject.html
@@ -1576,7 +1576,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-deletepolicy.html b/1.2/protocol-examples-policies-deletepolicy.html
index 084d8f5..d548142 100644
--- a/1.2/protocol-examples-policies-deletepolicy.html
+++ b/1.2/protocol-examples-policies-deletepolicy.html
@@ -1573,7 +1573,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-deletepolicyentry.html b/1.2/protocol-examples-policies-deletepolicyentry.html
index 68cefd3..bd2509e 100644
--- a/1.2/protocol-examples-policies-deletepolicyentry.html
+++ b/1.2/protocol-examples-policies-deletepolicyentry.html
@@ -1573,7 +1573,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-deleteresource.html b/1.2/protocol-examples-policies-deleteresource.html
index 458d57d..7ac171e 100644
--- a/1.2/protocol-examples-policies-deleteresource.html
+++ b/1.2/protocol-examples-policies-deleteresource.html
@@ -1573,7 +1573,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-deletesubject.html b/1.2/protocol-examples-policies-deletesubject.html
index 0e5ae44..c24775c 100644
--- a/1.2/protocol-examples-policies-deletesubject.html
+++ b/1.2/protocol-examples-policies-deletesubject.html
@@ -1573,7 +1573,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-errorresponses.html b/1.2/protocol-examples-policies-errorresponses.html
index a81018f..e642772 100644
--- a/1.2/protocol-examples-policies-errorresponses.html
+++ b/1.2/protocol-examples-policies-errorresponses.html
@@ -1911,7 +1911,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-modifypolicy.html b/1.2/protocol-examples-policies-modifypolicy.html
index 9d046fb..afc82a7 100644
--- a/1.2/protocol-examples-policies-modifypolicy.html
+++ b/1.2/protocol-examples-policies-modifypolicy.html
@@ -1594,7 +1594,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-modifypolicyentries.html b/1.2/protocol-examples-policies-modifypolicyentries.html
index 0a0eac3..8c6c0ea 100644
--- a/1.2/protocol-examples-policies-modifypolicyentries.html
+++ b/1.2/protocol-examples-policies-modifypolicyentries.html
@@ -1613,7 +1613,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-modifypolicyentry.html b/1.2/protocol-examples-policies-modifypolicyentry.html
index d2b25c1..b215a7b 100644
--- a/1.2/protocol-examples-policies-modifypolicyentry.html
+++ b/1.2/protocol-examples-policies-modifypolicyentry.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-modifyresource.html b/1.2/protocol-examples-policies-modifyresource.html
index 2abd28d..fd819fa 100644
--- a/1.2/protocol-examples-policies-modifyresource.html
+++ b/1.2/protocol-examples-policies-modifyresource.html
@@ -1580,7 +1580,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-modifyresources.html b/1.2/protocol-examples-policies-modifyresources.html
index 711c8e6..2835e86 100644
--- a/1.2/protocol-examples-policies-modifyresources.html
+++ b/1.2/protocol-examples-policies-modifyresources.html
@@ -1583,7 +1583,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-modifysubject.html b/1.2/protocol-examples-policies-modifysubject.html
index 9e29ccb..b14e181 100644
--- a/1.2/protocol-examples-policies-modifysubject.html
+++ b/1.2/protocol-examples-policies-modifysubject.html
@@ -1576,7 +1576,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-modifysubjects.html b/1.2/protocol-examples-policies-modifysubjects.html
index cd66cba..3545371 100644
--- a/1.2/protocol-examples-policies-modifysubjects.html
+++ b/1.2/protocol-examples-policies-modifysubjects.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-retrievepolicy.html b/1.2/protocol-examples-policies-retrievepolicy.html
index d7f13ec..a06a861 100644
--- a/1.2/protocol-examples-policies-retrievepolicy.html
+++ b/1.2/protocol-examples-policies-retrievepolicy.html
@@ -1594,7 +1594,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-retrievepolicyentries.html b/1.2/protocol-examples-policies-retrievepolicyentries.html
index 4855fb4..4f61c53 100644
--- a/1.2/protocol-examples-policies-retrievepolicyentries.html
+++ b/1.2/protocol-examples-policies-retrievepolicyentries.html
@@ -1607,7 +1607,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-retrievepolicyentry.html b/1.2/protocol-examples-policies-retrievepolicyentry.html
index 0811561..c72aa1f 100644
--- a/1.2/protocol-examples-policies-retrievepolicyentry.html
+++ b/1.2/protocol-examples-policies-retrievepolicyentry.html
@@ -1589,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-retrieveresource.html b/1.2/protocol-examples-policies-retrieveresource.html
index 38aa361..9a17852 100644
--- a/1.2/protocol-examples-policies-retrieveresource.html
+++ b/1.2/protocol-examples-policies-retrieveresource.html
@@ -1580,7 +1580,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-retrieveresources.html b/1.2/protocol-examples-policies-retrieveresources.html
index 27b3218..56a01ce 100644
--- a/1.2/protocol-examples-policies-retrieveresources.html
+++ b/1.2/protocol-examples-policies-retrieveresources.html
@@ -1582,7 +1582,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-retrievesubject.html b/1.2/protocol-examples-policies-retrievesubject.html
index fb5f8a1..0784b4f 100644
--- a/1.2/protocol-examples-policies-retrievesubject.html
+++ b/1.2/protocol-examples-policies-retrievesubject.html
@@ -1576,7 +1576,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-policies-retrievesubjects.html b/1.2/protocol-examples-policies-retrievesubjects.html
index 83c8e08..edf8f33 100644
--- a/1.2/protocol-examples-policies-retrievesubjects.html
+++ b/1.2/protocol-examples-policies-retrievesubjects.html
@@ -1578,7 +1578,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-retrieveattribute.html b/1.2/protocol-examples-retrieveattribute.html
index 48258fc..5c80dd9 100644
--- a/1.2/protocol-examples-retrieveattribute.html
+++ b/1.2/protocol-examples-retrieveattribute.html
@@ -1573,7 +1573,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-retrieveattributes.html b/1.2/protocol-examples-retrieveattributes.html
index c73dfec..28384db 100644
--- a/1.2/protocol-examples-retrieveattributes.html
+++ b/1.2/protocol-examples-retrieveattributes.html
@@ -1575,7 +1575,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-retrievedefinition.html b/1.2/protocol-examples-retrievedefinition.html
index 35a36c2..372581d 100644
--- a/1.2/protocol-examples-retrievedefinition.html
+++ b/1.2/protocol-examples-retrievedefinition.html
@@ -1572,7 +1572,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-retrievefeature.html b/1.2/protocol-examples-retrievefeature.html
index 2c01675..945cd7e 100644
--- a/1.2/protocol-examples-retrievefeature.html
+++ b/1.2/protocol-examples-retrievefeature.html
@@ -1577,7 +1577,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-retrievefeatures.html b/1.2/protocol-examples-retrievefeatures.html
index a992de6..a745c62 100644
--- a/1.2/protocol-examples-retrievefeatures.html
+++ b/1.2/protocol-examples-retrievefeatures.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-retrieveproperties.html b/1.2/protocol-examples-retrieveproperties.html
index 239e3e0..526185a 100644
--- a/1.2/protocol-examples-retrieveproperties.html
+++ b/1.2/protocol-examples-retrieveproperties.html
@@ -1575,7 +1575,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-retrieveproperty.html b/1.2/protocol-examples-retrieveproperty.html
index 7c077e7..a0670f3 100644
--- a/1.2/protocol-examples-retrieveproperty.html
+++ b/1.2/protocol-examples-retrieveproperty.html
@@ -1570,7 +1570,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-retrievething.html b/1.2/protocol-examples-retrievething.html
index 274aa59..2f86ce6 100644
--- a/1.2/protocol-examples-retrievething.html
+++ b/1.2/protocol-examples-retrievething.html
@@ -1599,7 +1599,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-retrievethingdefinition.html b/1.2/protocol-examples-retrievethingdefinition.html
index f042680..57bcdf9 100644
--- a/1.2/protocol-examples-retrievethingdefinition.html
+++ b/1.2/protocol-examples-retrievethingdefinition.html
@@ -1570,7 +1570,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-retrievethings.html b/1.2/protocol-examples-retrievethings.html
index ace6cfe..2c66153 100644
--- a/1.2/protocol-examples-retrievethings.html
+++ b/1.2/protocol-examples-retrievethings.html
@@ -1596,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples-search.html b/1.2/protocol-examples-search.html
index 2ac1d31..2e7b2cd 100644
--- a/1.2/protocol-examples-search.html
+++ b/1.2/protocol-examples-search.html
@@ -1674,7 +1674,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-examples.html b/1.2/protocol-examples.html
index d559f65..58a3078 100644
--- a/1.2/protocol-examples.html
+++ b/1.2/protocol-examples.html
@@ -1656,7 +1656,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-overview.html b/1.2/protocol-overview.html
index 35161d1..0bb39bc 100644
--- a/1.2/protocol-overview.html
+++ b/1.2/protocol-overview.html
@@ -1572,7 +1572,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-acks.html b/1.2/protocol-specification-acks.html
index 6de17f8..93208b8 100644
--- a/1.2/protocol-specification-acks.html
+++ b/1.2/protocol-specification-acks.html
@@ -1596,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-errors.html b/1.2/protocol-specification-errors.html
index 9b7dd78..99f6e66 100644
--- a/1.2/protocol-specification-errors.html
+++ b/1.2/protocol-specification-errors.html
@@ -1565,7 +1565,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-policies-create-or-modify.html b/1.2/protocol-specification-policies-create-or-modify.html
index 0049f87..62fc947 100644
--- a/1.2/protocol-specification-policies-create-or-modify.html
+++ b/1.2/protocol-specification-policies-create-or-modify.html
@@ -2174,7 +2174,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-policies-delete.html b/1.2/protocol-specification-policies-delete.html
index ec0951b..453a990 100644
--- a/1.2/protocol-specification-policies-delete.html
+++ b/1.2/protocol-specification-policies-delete.html
@@ -1844,7 +1844,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-policies-retrieve.html b/1.2/protocol-specification-policies-retrieve.html
index d1e3f7b..feea683 100644
--- a/1.2/protocol-specification-policies-retrieve.html
+++ b/1.2/protocol-specification-policies-retrieve.html
@@ -2067,7 +2067,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-policies.html b/1.2/protocol-specification-policies.html
index 8fc5099..e3ec40b 100644
--- a/1.2/protocol-specification-policies.html
+++ b/1.2/protocol-specification-policies.html
@@ -1654,7 +1654,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-things-create-or-modify.html b/1.2/protocol-specification-things-create-or-modify.html
index 421a182..6fe977b 100644
--- a/1.2/protocol-specification-things-create-or-modify.html
+++ b/1.2/protocol-specification-things-create-or-modify.html
@@ -2974,7 +2974,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-things-delete.html b/1.2/protocol-specification-things-delete.html
index 2c0f2a3..d36ac02 100644
--- a/1.2/protocol-specification-things-delete.html
+++ b/1.2/protocol-specification-things-delete.html
@@ -2461,7 +2461,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-things-messages.html b/1.2/protocol-specification-things-messages.html
index 32574d6..2936842 100644
--- a/1.2/protocol-specification-things-messages.html
+++ b/1.2/protocol-specification-things-messages.html
@@ -1816,7 +1816,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-things-retrieve.html b/1.2/protocol-specification-things-retrieve.html
index 5ef5d56..704c559 100644
--- a/1.2/protocol-specification-things-retrieve.html
+++ b/1.2/protocol-specification-things-retrieve.html
@@ -2352,7 +2352,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-things-search.html b/1.2/protocol-specification-things-search.html
index 24464c0..607e0c2 100644
--- a/1.2/protocol-specification-things-search.html
+++ b/1.2/protocol-specification-things-search.html
@@ -1920,7 +1920,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-things.html b/1.2/protocol-specification-things.html
index e734f03..036216d 100644
--- a/1.2/protocol-specification-things.html
+++ b/1.2/protocol-specification-things.html
@@ -1625,7 +1625,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification-topic.html b/1.2/protocol-specification-topic.html
index 3827b31..9cd09a4 100644
--- a/1.2/protocol-specification-topic.html
+++ b/1.2/protocol-specification-topic.html
@@ -1730,7 +1730,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-specification.html b/1.2/protocol-specification.html
index 3496a3e..915ff44 100644
--- a/1.2/protocol-specification.html
+++ b/1.2/protocol-specification.html
@@ -1720,7 +1720,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/protocol-twinlive.html b/1.2/protocol-twinlive.html
index 494b9a7..1222750 100644
--- a/1.2/protocol-twinlive.html
+++ b/1.2/protocol-twinlive.html
@@ -1583,7 +1583,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_010-M1.html b/1.2/release_notes_010-M1.html
index 038015f..4d42235 100644
--- a/1.2/release_notes_010-M1.html
+++ b/1.2/release_notes_010-M1.html
@@ -1562,7 +1562,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_010-M3.html b/1.2/release_notes_010-M3.html
index 6c12a97..33bd9ca 100644
--- a/1.2/release_notes_010-M3.html
+++ b/1.2/release_notes_010-M3.html
@@ -1618,7 +1618,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_020-M1.html b/1.2/release_notes_020-M1.html
index 2ecae6c..bf37091 100644
--- a/1.2/release_notes_020-M1.html
+++ b/1.2/release_notes_020-M1.html
@@ -1603,7 +1603,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_030-M1.html b/1.2/release_notes_030-M1.html
index bb1e8b0..6d134f6 100644
--- a/1.2/release_notes_030-M1.html
+++ b/1.2/release_notes_030-M1.html
@@ -1614,7 +1614,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_030-M2.html b/1.2/release_notes_030-M2.html
index 63805ad..d4035eb 100644
--- a/1.2/release_notes_030-M2.html
+++ b/1.2/release_notes_030-M2.html
@@ -1611,7 +1611,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_080-M1.html b/1.2/release_notes_080-M1.html
index bd94b44..3fafc68 100644
--- a/1.2/release_notes_080-M1.html
+++ b/1.2/release_notes_080-M1.html
@@ -1633,7 +1633,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_080-M2.html b/1.2/release_notes_080-M2.html
index e754c96..43beb10 100644
--- a/1.2/release_notes_080-M2.html
+++ b/1.2/release_notes_080-M2.html
@@ -1617,7 +1617,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_080-M3.html b/1.2/release_notes_080-M3.html
index 2b6519c..34a10be 100644
--- a/1.2/release_notes_080-M3.html
+++ b/1.2/release_notes_080-M3.html
@@ -1621,7 +1621,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_080.html b/1.2/release_notes_080.html
index 76922c6..9f0833b 100644
--- a/1.2/release_notes_080.html
+++ b/1.2/release_notes_080.html
@@ -1627,7 +1627,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_090-M1.html b/1.2/release_notes_090-M1.html
index 7a43340..942d53f 100644
--- a/1.2/release_notes_090-M1.html
+++ b/1.2/release_notes_090-M1.html
@@ -1599,7 +1599,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_090-M2.html b/1.2/release_notes_090-M2.html
index 87ca770..1f32101 100644
--- a/1.2/release_notes_090-M2.html
+++ b/1.2/release_notes_090-M2.html
@@ -1600,7 +1600,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_090.html b/1.2/release_notes_090.html
index e6506b0..32fe836 100644
--- a/1.2/release_notes_090.html
+++ b/1.2/release_notes_090.html
@@ -1657,7 +1657,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_100-M1a.html b/1.2/release_notes_100-M1a.html
index adfa2b7..8e7629b 100644
--- a/1.2/release_notes_100-M1a.html
+++ b/1.2/release_notes_100-M1a.html
@@ -1618,7 +1618,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_100-M2.html b/1.2/release_notes_100-M2.html
index ab854ab..4329b3b 100644
--- a/1.2/release_notes_100-M2.html
+++ b/1.2/release_notes_100-M2.html
@@ -1635,7 +1635,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_100.html b/1.2/release_notes_100.html
index 950edb0..90f6381 100644
--- a/1.2/release_notes_100.html
+++ b/1.2/release_notes_100.html
@@ -1638,7 +1638,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_110.html b/1.2/release_notes_110.html
index 76e7aa8..9cf14a2 100644
--- a/1.2/release_notes_110.html
+++ b/1.2/release_notes_110.html
@@ -1679,7 +1679,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_111.html b/1.2/release_notes_111.html
index d3d91d7..2288bfb 100644
--- a/1.2/release_notes_111.html
+++ b/1.2/release_notes_111.html
@@ -1577,7 +1577,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_112.html b/1.2/release_notes_112.html
index 3466da6..92cbe37 100644
--- a/1.2/release_notes_112.html
+++ b/1.2/release_notes_112.html
@@ -1593,7 +1593,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_113.html b/1.2/release_notes_113.html
index 9efc655..3228a48 100644
--- a/1.2/release_notes_113.html
+++ b/1.2/release_notes_113.html
@@ -1593,7 +1593,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_115.html b/1.2/release_notes_115.html
index 26a8be6..5089b9e 100644
--- a/1.2/release_notes_115.html
+++ b/1.2/release_notes_115.html
@@ -1581,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_120.html b/1.2/release_notes_120.html
index 3184440..3f19b6f 100644
--- a/1.2/release_notes_120.html
+++ b/1.2/release_notes_120.html
@@ -1653,7 +1653,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/release_notes_121.html b/1.2/release_notes_121.html
index fa14553..571f7ea 100644
--- a/1.2/release_notes_121.html
+++ b/1.2/release_notes_121.html
@@ -1580,7 +1580,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/sandbox.html b/1.2/sandbox.html
index a9434ff..baf7e68 100644
--- a/1.2/sandbox.html
+++ b/1.2/sandbox.html
@@ -1616,7 +1616,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_architecture.html b/1.2/tag_architecture.html
index b66cd8e..ce9d1de 100644
--- a/1.2/tag_architecture.html
+++ b/1.2/tag_architecture.html
@@ -2353,7 +2353,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_blog.html b/1.2/tag_blog.html
index 9db3af2..9015621 100644
--- a/1.2/tag_blog.html
+++ b/1.2/tag_blog.html
@@ -2485,7 +2485,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_client_sdk.html b/1.2/tag_client_sdk.html
index 14f9ea2..195f6bf 100644
--- a/1.2/tag_client_sdk.html
+++ b/1.2/tag_client_sdk.html
@@ -2339,7 +2339,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_connectivity.html b/1.2/tag_connectivity.html
index 8107738..a5f8f6b 100644
--- a/1.2/tag_connectivity.html
+++ b/1.2/tag_connectivity.html
@@ -2425,7 +2425,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_getting_started.html b/1.2/tag_getting_started.html
index 40e9b0d..1fc5eef 100644
--- a/1.2/tag_getting_started.html
+++ b/1.2/tag_getting_started.html
@@ -2353,7 +2353,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_http.html b/1.2/tag_http.html
index 5bb7c5b..aef33ec 100644
--- a/1.2/tag_http.html
+++ b/1.2/tag_http.html
@@ -2347,7 +2347,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_installation.html b/1.2/tag_installation.html
index 5b29323..71e7516 100644
--- a/1.2/tag_installation.html
+++ b/1.2/tag_installation.html
@@ -2329,7 +2329,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_model.html b/1.2/tag_model.html
index 4817e7b..04a082d 100644
--- a/1.2/tag_model.html
+++ b/1.2/tag_model.html
@@ -2389,7 +2389,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_news.html b/1.2/tag_news.html
index 38a1312..b0c825e 100644
--- a/1.2/tag_news.html
+++ b/1.2/tag_news.html
@@ -2311,7 +2311,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_protocol.html b/1.2/tag_protocol.html
index dc705fb..099042f 100644
--- a/1.2/tag_protocol.html
+++ b/1.2/tag_protocol.html
@@ -2481,7 +2481,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_release_notes.html b/1.2/tag_release_notes.html
index f39c499..3d20d32 100644
--- a/1.2/tag_release_notes.html
+++ b/1.2/tag_release_notes.html
@@ -2443,7 +2443,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_rql.html b/1.2/tag_rql.html
index f72e3ee..0e699b2 100644
--- a/1.2/tag_rql.html
+++ b/1.2/tag_rql.html
@@ -2377,7 +2377,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_search.html b/1.2/tag_search.html
index eb67900..1fb1adf 100644
--- a/1.2/tag_search.html
+++ b/1.2/tag_search.html
@@ -2347,7 +2347,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_signal.html b/1.2/tag_signal.html
index ba55392..3726cf3 100644
--- a/1.2/tag_signal.html
+++ b/1.2/tag_signal.html
@@ -2346,7 +2346,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.2/tag_troubleshooting.html b/1.2/tag_troubleshooting.html
index d7d26f5..630ff3f 100644
--- a/1.2/tag_troubleshooting.html
+++ b/1.2/tag_troubleshooting.html
@@ -2317,7 +2317,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2017-11-10-welcome-to-ditto.html b/1.3/2017-11-10-welcome-to-ditto.html
index 1bd1662..6da4237 100644
--- a/1.3/2017-11-10-welcome-to-ditto.html
+++ b/1.3/2017-11-10-welcome-to-ditto.html
@@ -264,7 +264,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2017-12-18-milestone-announcement-010-M1.html b/1.3/2017-12-18-milestone-announcement-010-M1.html
index 1cfdfce..347f70c 100644
--- a/1.3/2017-12-18-milestone-announcement-010-M1.html
+++ b/1.3/2017-12-18-milestone-announcement-010-M1.html
@@ -268,7 +268,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-01-12-milestone-announcement-010-M3.html b/1.3/2018-01-12-milestone-announcement-010-M3.html
index 019bb03..403e3ea 100644
--- a/1.3/2018-01-12-milestone-announcement-010-M3.html
+++ b/1.3/2018-01-12-milestone-announcement-010-M3.html
@@ -287,7 +287,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-01-15-example-demonstrating-rest-to-websocket.html b/1.3/2018-01-15-example-demonstrating-rest-to-websocket.html
index af8d3d4..79d8868 100644
--- a/1.3/2018-01-15-example-demonstrating-rest-to-websocket.html
+++ b/1.3/2018-01-15-example-demonstrating-rest-to-websocket.html
@@ -276,7 +276,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-02-07-milestone-announcement-020-M1.html b/1.3/2018-02-07-milestone-announcement-020-M1.html
index a265869..4994929 100644
--- a/1.3/2018-02-07-milestone-announcement-020-M1.html
+++ b/1.3/2018-02-07-milestone-announcement-020-M1.html
@@ -288,7 +288,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-02-08-feature-definition.html b/1.3/2018-02-08-feature-definition.html
index 53363e5..1304c83 100644
--- a/1.3/2018-02-08-feature-definition.html
+++ b/1.3/2018-02-08-feature-definition.html
@@ -318,7 +318,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-04-25-connectivity-service.html b/1.3/2018-04-25-connectivity-service.html
index 36823a5..0b4e927 100644
--- a/1.3/2018-04-25-connectivity-service.html
+++ b/1.3/2018-04-25-connectivity-service.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-04-26-milestone-announcement-030-M1.html b/1.3/2018-04-26-milestone-announcement-030-M1.html
index 332adc3..377a1c8 100644
--- a/1.3/2018-04-26-milestone-announcement-030-M1.html
+++ b/1.3/2018-04-26-milestone-announcement-030-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-05-02-connecting-ditto-hono.html b/1.3/2018-05-02-connecting-ditto-hono.html
index df90105..387575a 100644
--- a/1.3/2018-05-02-connecting-ditto-hono.html
+++ b/1.3/2018-05-02-connecting-ditto-hono.html
@@ -1006,7 +1006,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-06-15-milestone-announcement-030-M2.html b/1.3/2018-06-15-milestone-announcement-030-M2.html
index 898b36f..5a97d28 100644
--- a/1.3/2018-06-15-milestone-announcement-030-M2.html
+++ b/1.3/2018-06-15-milestone-announcement-030-M2.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-08-14-milestone-announcement-080-M1.html b/1.3/2018-08-14-milestone-announcement-080-M1.html
index 0df7b42..3ac3090 100644
--- a/1.3/2018-08-14-milestone-announcement-080-M1.html
+++ b/1.3/2018-08-14-milestone-announcement-080-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-09-21-selective-push-notifications.html b/1.3/2018-09-21-selective-push-notifications.html
index cfbde9a..de236ef 100644
--- a/1.3/2018-09-21-selective-push-notifications.html
+++ b/1.3/2018-09-21-selective-push-notifications.html
@@ -484,7 +484,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-09-27-milestone-announcement-080-M2.html b/1.3/2018-09-27-milestone-announcement-080-M2.html
index 66cf0ca..225bb9d 100644
--- a/1.3/2018-09-27-milestone-announcement-080-M2.html
+++ b/1.3/2018-09-27-milestone-announcement-080-M2.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-10-16-example-mqtt-bidirectional.html b/1.3/2018-10-16-example-mqtt-bidirectional.html
index 98b6779..f4c25a9 100644
--- a/1.3/2018-10-16-example-mqtt-bidirectional.html
+++ b/1.3/2018-10-16-example-mqtt-bidirectional.html
@@ -292,7 +292,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-11-14-milestone-announcement-080-M3.html b/1.3/2018-11-14-milestone-announcement-080-M3.html
index 3c9b52e..160ef07 100644
--- a/1.3/2018-11-14-milestone-announcement-080-M3.html
+++ b/1.3/2018-11-14-milestone-announcement-080-M3.html
@@ -285,7 +285,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-11-28-release-announcement-080.html b/1.3/2018-11-28-release-announcement-080.html
index e58bc88..0627abc 100644
--- a/1.3/2018-11-28-release-announcement-080.html
+++ b/1.3/2018-11-28-release-announcement-080.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2018-12-05-example-command-and-control.html b/1.3/2018-12-05-example-command-and-control.html
index 0ddd71b..313d1af 100644
--- a/1.3/2018-12-05-example-command-and-control.html
+++ b/1.3/2018-12-05-example-command-and-control.html
@@ -519,7 +519,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2019-03-13-kafka-connectivity.html b/1.3/2019-03-13-kafka-connectivity.html
index 1aa0b0a..fde4773 100644
--- a/1.3/2019-03-13-kafka-connectivity.html
+++ b/1.3/2019-03-13-kafka-connectivity.html
@@ -266,7 +266,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2019-03-28-milestone-announcement-090-M1.html b/1.3/2019-03-28-milestone-announcement-090-M1.html
index c3a53eb..3f046f8 100644
--- a/1.3/2019-03-28-milestone-announcement-090-M1.html
+++ b/1.3/2019-03-28-milestone-announcement-090-M1.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2019-04-29-milestone-announcement-090-M2.html b/1.3/2019-04-29-milestone-announcement-090-M2.html
index 7493d3f..cabd761 100644
--- a/1.3/2019-04-29-milestone-announcement-090-M2.html
+++ b/1.3/2019-04-29-milestone-announcement-090-M2.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2019-07-10-release-announcement-090.html b/1.3/2019-07-10-release-announcement-090.html
index 9ec4f68..ba3dba6 100644
--- a/1.3/2019-07-10-release-announcement-090.html
+++ b/1.3/2019-07-10-release-announcement-090.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2019-08-28-openid-connect.html b/1.3/2019-08-28-openid-connect.html
index 182fd6a..0c35a3c 100644
--- a/1.3/2019-08-28-openid-connect.html
+++ b/1.3/2019-08-28-openid-connect.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2019-09-17-milestone-announcement-100-M1a.html b/1.3/2019-09-17-milestone-announcement-100-M1a.html
index 45d84de..6b84bef 100644
--- a/1.3/2019-09-17-milestone-announcement-100-M1a.html
+++ b/1.3/2019-09-17-milestone-announcement-100-M1a.html
@@ -283,7 +283,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2019-10-17-http-connectivity.html b/1.3/2019-10-17-http-connectivity.html
index 48c71a1..0a98880 100644
--- a/1.3/2019-10-17-http-connectivity.html
+++ b/1.3/2019-10-17-http-connectivity.html
@@ -291,7 +291,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2019-11-04-milestone-announcement-100-M2.html b/1.3/2019-11-04-milestone-announcement-100-M2.html
index c8da9a4..ce32f30 100644
--- a/1.3/2019-11-04-milestone-announcement-100-M2.html
+++ b/1.3/2019-11-04-milestone-announcement-100-M2.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2019-12-12-release-announcement-100.html b/1.3/2019-12-12-release-announcement-100.html
index 773cc71..7673a94 100644
--- a/1.3/2019-12-12-release-announcement-100.html
+++ b/1.3/2019-12-12-release-announcement-100.html
@@ -331,7 +331,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2020-04-16-connecting-to-ttn-via-mqtt.html b/1.3/2020-04-16-connecting-to-ttn-via-mqtt.html
index 5a6c667..e68cff3 100644
--- a/1.3/2020-04-16-connecting-to-ttn-via-mqtt.html
+++ b/1.3/2020-04-16-connecting-to-ttn-via-mqtt.html
@@ -778,7 +778,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2020-04-29-release-announcement-110.html b/1.3/2020-04-29-release-announcement-110.html
index 66e87d2..0606848 100644
--- a/1.3/2020-04-29-release-announcement-110.html
+++ b/1.3/2020-04-29-release-announcement-110.html
@@ -312,7 +312,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2020-08-31-release-announcement-120.html b/1.3/2020-08-31-release-announcement-120.html
index fed321d..bac8cdf 100644
--- a/1.3/2020-08-31-release-announcement-120.html
+++ b/1.3/2020-08-31-release-announcement-120.html
@@ -290,7 +290,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/2020-09-30-release-announcement-130.html b/1.3/2020-09-30-release-announcement-130.html
index 1aebde7..ee7fafd 100644
--- a/1.3/2020-09-30-release-announcement-130.html
+++ b/1.3/2020-09-30-release-announcement-130.html
@@ -290,7 +290,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/404.html b/1.3/404.html
index 0188a76..8c482ce 100644
--- a/1.3/404.html
+++ b/1.3/404.html
@@ -1561,7 +1561,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/architecture-overview.html b/1.3/architecture-overview.html
index 5e951da..8f99c74 100644
--- a/1.3/architecture-overview.html
+++ b/1.3/architecture-overview.html
@@ -1614,7 +1614,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/architecture-services-concierge.html b/1.3/architecture-services-concierge.html
index a26d41e..c222169 100644
--- a/1.3/architecture-services-concierge.html
+++ b/1.3/architecture-services-concierge.html
@@ -1600,7 +1600,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/architecture-services-connectivity.html b/1.3/architecture-services-connectivity.html
index 245caff..3e1bbc5 100644
--- a/1.3/architecture-services-connectivity.html
+++ b/1.3/architecture-services-connectivity.html
@@ -1614,7 +1614,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/architecture-services-gateway.html b/1.3/architecture-services-gateway.html
index 7bb57e3..bb2f722 100644
--- a/1.3/architecture-services-gateway.html
+++ b/1.3/architecture-services-gateway.html
@@ -1592,7 +1592,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/architecture-services-policies.html b/1.3/architecture-services-policies.html
index 42cb157..1885578 100644
--- a/1.3/architecture-services-policies.html
+++ b/1.3/architecture-services-policies.html
@@ -1593,7 +1593,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/architecture-services-things-search.html b/1.3/architecture-services-things-search.html
index 0eefd00..5d3ef70 100644
--- a/1.3/architecture-services-things-search.html
+++ b/1.3/architecture-services-things-search.html
@@ -1637,7 +1637,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/architecture-services-things.html b/1.3/architecture-services-things.html
index 7835e54..e4bb4f0 100644
--- a/1.3/architecture-services-things.html
+++ b/1.3/architecture-services-things.html
@@ -1593,7 +1593,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-acknowledgements.html b/1.3/basic-acknowledgements.html
index 05bdb90..31f3838 100644
--- a/1.3/basic-acknowledgements.html
+++ b/1.3/basic-acknowledgements.html
@@ -2149,7 +2149,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-acl.html b/1.3/basic-acl.html
index b39d1fd..0879b3f 100644
--- a/1.3/basic-acl.html
+++ b/1.3/basic-acl.html
@@ -1631,7 +1631,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-apis.html b/1.3/basic-apis.html
index 83350a2..e3f4f9a 100644
--- a/1.3/basic-apis.html
+++ b/1.3/basic-apis.html
@@ -1689,7 +1689,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-auth.html b/1.3/basic-auth.html
index e45b46f..f1929d2 100644
--- a/1.3/basic-auth.html
+++ b/1.3/basic-auth.html
@@ -1610,7 +1610,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-changenotifications.html b/1.3/basic-changenotifications.html
index 4842928..fcc3aa2 100644
--- a/1.3/basic-changenotifications.html
+++ b/1.3/basic-changenotifications.html
@@ -1633,7 +1633,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-connections.html b/1.3/basic-connections.html
index cf6b612..8eb4d51 100644
--- a/1.3/basic-connections.html
+++ b/1.3/basic-connections.html
@@ -2128,7 +2128,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-enrichment.html b/1.3/basic-enrichment.html
index 98509f0..0bc5af5 100644
--- a/1.3/basic-enrichment.html
+++ b/1.3/basic-enrichment.html
@@ -1666,7 +1666,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-errors.html b/1.3/basic-errors.html
index 3714717..2020707 100644
--- a/1.3/basic-errors.html
+++ b/1.3/basic-errors.html
@@ -1610,7 +1610,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-feature.html b/1.3/basic-feature.html
index 391d429..3dc241f 100644
--- a/1.3/basic-feature.html
+++ b/1.3/basic-feature.html
@@ -1794,7 +1794,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-messages.html b/1.3/basic-messages.html
index 068e7cd..7fa5141 100644
--- a/1.3/basic-messages.html
+++ b/1.3/basic-messages.html
@@ -1702,7 +1702,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-metadata.html b/1.3/basic-metadata.html
index e576094..eae47d1 100644
--- a/1.3/basic-metadata.html
+++ b/1.3/basic-metadata.html
@@ -1744,7 +1744,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-namespaces-and-names.html b/1.3/basic-namespaces-and-names.html
index d402ae4..f8b385c 100644
--- a/1.3/basic-namespaces-and-names.html
+++ b/1.3/basic-namespaces-and-names.html
@@ -1637,7 +1637,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-overview.html b/1.3/basic-overview.html
index 92996b3..56025d2 100644
--- a/1.3/basic-overview.html
+++ b/1.3/basic-overview.html
@@ -1706,7 +1706,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-placeholders.html b/1.3/basic-placeholders.html
index a504cf0..d272174 100644
--- a/1.3/basic-placeholders.html
+++ b/1.3/basic-placeholders.html
@@ -1844,7 +1844,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-policy.html b/1.3/basic-policy.html
index 4e0ad55..eb34350 100644
--- a/1.3/basic-policy.html
+++ b/1.3/basic-policy.html
@@ -1972,7 +1972,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-rql.html b/1.3/basic-rql.html
index 0a62a7e..39c24ef 100644
--- a/1.3/basic-rql.html
+++ b/1.3/basic-rql.html
@@ -1812,7 +1812,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-search.html b/1.3/basic-search.html
index adbd56e..2b2d56d 100644
--- a/1.3/basic-search.html
+++ b/1.3/basic-search.html
@@ -1705,7 +1705,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-signals-command.html b/1.3/basic-signals-command.html
index 5d767ef..d429b89 100644
--- a/1.3/basic-signals-command.html
+++ b/1.3/basic-signals-command.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-signals-commandresponse.html b/1.3/basic-signals-commandresponse.html
index 0ebac9b..f3fe141 100644
--- a/1.3/basic-signals-commandresponse.html
+++ b/1.3/basic-signals-commandresponse.html
@@ -1571,7 +1571,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-signals-errorresponse.html b/1.3/basic-signals-errorresponse.html
index b98d0cc..1b32061 100644
--- a/1.3/basic-signals-errorresponse.html
+++ b/1.3/basic-signals-errorresponse.html
@@ -1575,7 +1575,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-signals-event.html b/1.3/basic-signals-event.html
index fce8fde..23f1c2d 100644
--- a/1.3/basic-signals-event.html
+++ b/1.3/basic-signals-event.html
@@ -1577,7 +1577,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-signals.html b/1.3/basic-signals.html
index b6c2038..92859fd 100644
--- a/1.3/basic-signals.html
+++ b/1.3/basic-signals.html
@@ -1621,7 +1621,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/basic-thing.html b/1.3/basic-thing.html
index 9f69ee6..510b2f5 100644
--- a/1.3/basic-thing.html
+++ b/1.3/basic-thing.html
@@ -1662,7 +1662,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/blog.html b/1.3/blog.html
index 9cf930a..c7965ed 100644
--- a/1.3/blog.html
+++ b/1.3/blog.html
@@ -393,7 +393,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/blog_archive.html b/1.3/blog_archive.html
index 81ed323..7dc5ed4 100644
--- a/1.3/blog_archive.html
+++ b/1.3/blog_archive.html
@@ -460,7 +460,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/client-sdk-java.html b/1.3/client-sdk-java.html
index f7e53c2..d800414 100644
--- a/1.3/client-sdk-java.html
+++ b/1.3/client-sdk-java.html
@@ -1818,7 +1818,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/client-sdk-javascript.html b/1.3/client-sdk-javascript.html
index c763367..60119c1 100644
--- a/1.3/client-sdk-javascript.html
+++ b/1.3/client-sdk-javascript.html
@@ -1627,7 +1627,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/client-sdk-overview.html b/1.3/client-sdk-overview.html
index bd58eca..d2f5d47 100644
--- a/1.3/client-sdk-overview.html
+++ b/1.3/client-sdk-overview.html
@@ -1574,7 +1574,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/connectivity-header-mapping.html b/1.3/connectivity-header-mapping.html
index 72c8da5..fd936ff 100644
--- a/1.3/connectivity-header-mapping.html
+++ b/1.3/connectivity-header-mapping.html
@@ -1584,7 +1584,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/connectivity-manage-connections.html b/1.3/connectivity-manage-connections.html
index 80a8153..95212c9 100644
--- a/1.3/connectivity-manage-connections.html
+++ b/1.3/connectivity-manage-connections.html
@@ -1889,7 +1889,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/connectivity-mapping.html b/1.3/connectivity-mapping.html
index 94a23fc..5e5c5e4 100644
--- a/1.3/connectivity-mapping.html
+++ b/1.3/connectivity-mapping.html
@@ -2495,7 +2495,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/connectivity-overview.html b/1.3/connectivity-overview.html
index 3892163..8ececcb 100644
--- a/1.3/connectivity-overview.html
+++ b/1.3/connectivity-overview.html
@@ -1586,7 +1586,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/connectivity-protocol-bindings-amqp091.html b/1.3/connectivity-protocol-bindings-amqp091.html
index d50d921..3bd62a7 100644
--- a/1.3/connectivity-protocol-bindings-amqp091.html
+++ b/1.3/connectivity-protocol-bindings-amqp091.html
@@ -1732,7 +1732,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/connectivity-protocol-bindings-amqp10.html b/1.3/connectivity-protocol-bindings-amqp10.html
index 079b7be..0893b93 100644
--- a/1.3/connectivity-protocol-bindings-amqp10.html
+++ b/1.3/connectivity-protocol-bindings-amqp10.html
@@ -1778,7 +1778,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/connectivity-protocol-bindings-http.html b/1.3/connectivity-protocol-bindings-http.html
index a16c3e1..c722f25 100644
--- a/1.3/connectivity-protocol-bindings-http.html
+++ b/1.3/connectivity-protocol-bindings-http.html
@@ -1785,7 +1785,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/connectivity-protocol-bindings-kafka2.html b/1.3/connectivity-protocol-bindings-kafka2.html
index e0d9739..6c04e3a 100644
--- a/1.3/connectivity-protocol-bindings-kafka2.html
+++ b/1.3/connectivity-protocol-bindings-kafka2.html
@@ -1710,7 +1710,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/connectivity-protocol-bindings-mqtt.html b/1.3/connectivity-protocol-bindings-mqtt.html
index 9ea3b79..e877971 100644
--- a/1.3/connectivity-protocol-bindings-mqtt.html
+++ b/1.3/connectivity-protocol-bindings-mqtt.html
@@ -1903,7 +1903,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/connectivity-protocol-bindings-mqtt5.html b/1.3/connectivity-protocol-bindings-mqtt5.html
index 61083ef..998ab38 100644
--- a/1.3/connectivity-protocol-bindings-mqtt5.html
+++ b/1.3/connectivity-protocol-bindings-mqtt5.html
@@ -1911,7 +1911,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/connectivity-tls-certificates.html b/1.3/connectivity-tls-certificates.html
index 54d621f..b0bb7bd 100644
--- a/1.3/connectivity-tls-certificates.html
+++ b/1.3/connectivity-tls-certificates.html
@@ -1682,7 +1682,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/feedback.html b/1.3/feedback.html
index 0409ab7..0484f80 100644
--- a/1.3/feedback.html
+++ b/1.3/feedback.html
@@ -1586,7 +1586,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/glossary.html b/1.3/glossary.html
index 7521a7d..b5f43fc 100644
--- a/1.3/glossary.html
+++ b/1.3/glossary.html
@@ -1574,7 +1574,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/http-api-doc.html b/1.3/http-api-doc.html
index a4a2b6b..fb49a03 100644
--- a/1.3/http-api-doc.html
+++ b/1.3/http-api-doc.html
@@ -201,7 +201,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/httpapi-concepts.html b/1.3/httpapi-concepts.html
index 0bd4eb6..cd4cc04 100644
--- a/1.3/httpapi-concepts.html
+++ b/1.3/httpapi-concepts.html
@@ -2160,7 +2160,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/httpapi-messages.html b/1.3/httpapi-messages.html
index 3a8339b..e136b7d 100644
--- a/1.3/httpapi-messages.html
+++ b/1.3/httpapi-messages.html
@@ -1662,7 +1662,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/httpapi-overview.html b/1.3/httpapi-overview.html
index e847cef..1110d60 100644
--- a/1.3/httpapi-overview.html
+++ b/1.3/httpapi-overview.html
@@ -1582,7 +1582,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/httpapi-protocol-bindings-websocket.html b/1.3/httpapi-protocol-bindings-websocket.html
index f92433e..3eaffd6 100644
--- a/1.3/httpapi-protocol-bindings-websocket.html
+++ b/1.3/httpapi-protocol-bindings-websocket.html
@@ -1862,7 +1862,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/httpapi-search.html b/1.3/httpapi-search.html
index 2ab3dce..6f89c17 100644
--- a/1.3/httpapi-search.html
+++ b/1.3/httpapi-search.html
@@ -1629,7 +1629,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/httpapi-sse.html b/1.3/httpapi-sse.html
index 6c00774..23894b7 100644
--- a/1.3/httpapi-sse.html
+++ b/1.3/httpapi-sse.html
@@ -1814,7 +1814,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/index.html b/1.3/index.html
index 9df159d..4d1d607 100644
--- a/1.3/index.html
+++ b/1.3/index.html
@@ -265,7 +265,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/installation-building.html b/1.3/installation-building.html
index 49c53a4..144b562 100644
--- a/1.3/installation-building.html
+++ b/1.3/installation-building.html
@@ -1601,7 +1601,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/installation-operating.html b/1.3/installation-operating.html
index 77b8a50..39241ed 100644
--- a/1.3/installation-operating.html
+++ b/1.3/installation-operating.html
@@ -2457,7 +2457,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/installation-running.html b/1.3/installation-running.html
index cb2f322..62bc51b 100644
--- a/1.3/installation-running.html
+++ b/1.3/installation-running.html
@@ -1629,7 +1629,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/intro-digitaltwins.html b/1.3/intro-digitaltwins.html
index 501b46f..7b2e5ae 100644
--- a/1.3/intro-digitaltwins.html
+++ b/1.3/intro-digitaltwins.html
@@ -1604,7 +1604,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/intro-hello-world.html b/1.3/intro-hello-world.html
index 8b2a6ea..f0e168e 100644
--- a/1.3/intro-hello-world.html
+++ b/1.3/intro-hello-world.html
@@ -1693,7 +1693,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/intro-overview.html b/1.3/intro-overview.html
index 98f0d37..b174b24 100644
--- a/1.3/intro-overview.html
+++ b/1.3/intro-overview.html
@@ -1620,7 +1620,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/presentations.html b/1.3/presentations.html
index 8216c72..a3b1da8 100644
--- a/1.3/presentations.html
+++ b/1.3/presentations.html
@@ -1608,7 +1608,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-bindings.html b/1.3/protocol-bindings.html
index 0440282..565aad3 100644
--- a/1.3/protocol-bindings.html
+++ b/1.3/protocol-bindings.html
@@ -1594,7 +1594,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-createattribute.html b/1.3/protocol-examples-createattribute.html
index 67d1c8e..0b87aef 100644
--- a/1.3/protocol-examples-createattribute.html
+++ b/1.3/protocol-examples-createattribute.html
@@ -1596,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-createattributes.html b/1.3/protocol-examples-createattributes.html
index a11d8f7..8009f79 100644
--- a/1.3/protocol-examples-createattributes.html
+++ b/1.3/protocol-examples-createattributes.html
@@ -1601,7 +1601,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-createdefinition.html b/1.3/protocol-examples-createdefinition.html
index 22b494e..c727021 100644
--- a/1.3/protocol-examples-createdefinition.html
+++ b/1.3/protocol-examples-createdefinition.html
@@ -1594,7 +1594,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-createfeature.html b/1.3/protocol-examples-createfeature.html
index 52f3e49..88c4421 100644
--- a/1.3/protocol-examples-createfeature.html
+++ b/1.3/protocol-examples-createfeature.html
@@ -1605,7 +1605,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-createfeatures.html b/1.3/protocol-examples-createfeatures.html
index 0f010b4..02d5726 100644
--- a/1.3/protocol-examples-createfeatures.html
+++ b/1.3/protocol-examples-createfeatures.html
@@ -1609,7 +1609,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-createproperties.html b/1.3/protocol-examples-createproperties.html
index 91c75e8..1d81d52 100644
--- a/1.3/protocol-examples-createproperties.html
+++ b/1.3/protocol-examples-createproperties.html
@@ -1600,7 +1600,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-createproperty.html b/1.3/protocol-examples-createproperty.html
index 0e7b8e1..2d07c3e 100644
--- a/1.3/protocol-examples-createproperty.html
+++ b/1.3/protocol-examples-createproperty.html
@@ -1590,7 +1590,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-creatething.html b/1.3/protocol-examples-creatething.html
index 3a075e6..5fd02e7 100644
--- a/1.3/protocol-examples-creatething.html
+++ b/1.3/protocol-examples-creatething.html
@@ -1689,7 +1689,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-createthingdefinition.html b/1.3/protocol-examples-createthingdefinition.html
index 5d5695b..b17d36b 100644
--- a/1.3/protocol-examples-createthingdefinition.html
+++ b/1.3/protocol-examples-createthingdefinition.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-deleteattribute.html b/1.3/protocol-examples-deleteattribute.html
index d48f654..11bc694 100644
--- a/1.3/protocol-examples-deleteattribute.html
+++ b/1.3/protocol-examples-deleteattribute.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-deleteattributes.html b/1.3/protocol-examples-deleteattributes.html
index c49dcdd..5441972 100644
--- a/1.3/protocol-examples-deleteattributes.html
+++ b/1.3/protocol-examples-deleteattributes.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-deletedefinition.html b/1.3/protocol-examples-deletedefinition.html
index d860592..0d507c8 100644
--- a/1.3/protocol-examples-deletedefinition.html
+++ b/1.3/protocol-examples-deletedefinition.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-deletefeature.html b/1.3/protocol-examples-deletefeature.html
index a837d9e..9cda820 100644
--- a/1.3/protocol-examples-deletefeature.html
+++ b/1.3/protocol-examples-deletefeature.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-deletefeatures.html b/1.3/protocol-examples-deletefeatures.html
index 988a277..cddbe0e 100644
--- a/1.3/protocol-examples-deletefeatures.html
+++ b/1.3/protocol-examples-deletefeatures.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-deleteproperties.html b/1.3/protocol-examples-deleteproperties.html
index 6581286..05f81c2 100644
--- a/1.3/protocol-examples-deleteproperties.html
+++ b/1.3/protocol-examples-deleteproperties.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-deleteproperty.html b/1.3/protocol-examples-deleteproperty.html
index 185a68f..6b2ab92 100644
--- a/1.3/protocol-examples-deleteproperty.html
+++ b/1.3/protocol-examples-deleteproperty.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-deletething.html b/1.3/protocol-examples-deletething.html
index 55eb6b7..60ab532 100644
--- a/1.3/protocol-examples-deletething.html
+++ b/1.3/protocol-examples-deletething.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-deletethingdefinition.html b/1.3/protocol-examples-deletethingdefinition.html
index 7722342..bcf5b80 100644
--- a/1.3/protocol-examples-deletethingdefinition.html
+++ b/1.3/protocol-examples-deletethingdefinition.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-errorresponses.html b/1.3/protocol-examples-errorresponses.html
index 5e8a5e1..8b97284 100644
--- a/1.3/protocol-examples-errorresponses.html
+++ b/1.3/protocol-examples-errorresponses.html
@@ -2023,7 +2023,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-modifyattribute.html b/1.3/protocol-examples-modifyattribute.html
index 939864e..92ce7af 100644
--- a/1.3/protocol-examples-modifyattribute.html
+++ b/1.3/protocol-examples-modifyattribute.html
@@ -1596,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-modifyattributes.html b/1.3/protocol-examples-modifyattributes.html
index ba30762..43398fa 100644
--- a/1.3/protocol-examples-modifyattributes.html
+++ b/1.3/protocol-examples-modifyattributes.html
@@ -1601,7 +1601,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-modifydefinition.html b/1.3/protocol-examples-modifydefinition.html
index 75a1d9b..280f939 100644
--- a/1.3/protocol-examples-modifydefinition.html
+++ b/1.3/protocol-examples-modifydefinition.html
@@ -1594,7 +1594,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-modifyfeature.html b/1.3/protocol-examples-modifyfeature.html
index 2eed5bf..0eda7bb 100644
--- a/1.3/protocol-examples-modifyfeature.html
+++ b/1.3/protocol-examples-modifyfeature.html
@@ -1605,7 +1605,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-modifyfeatures.html b/1.3/protocol-examples-modifyfeatures.html
index e04659f..da90e1a 100644
--- a/1.3/protocol-examples-modifyfeatures.html
+++ b/1.3/protocol-examples-modifyfeatures.html
@@ -1609,7 +1609,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-modifypolicyid.html b/1.3/protocol-examples-modifypolicyid.html
index 1c6a7e2..0d2078c 100644
--- a/1.3/protocol-examples-modifypolicyid.html
+++ b/1.3/protocol-examples-modifypolicyid.html
@@ -1612,7 +1612,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-modifyproperties.html b/1.3/protocol-examples-modifyproperties.html
index bc77e69..8236218 100644
--- a/1.3/protocol-examples-modifyproperties.html
+++ b/1.3/protocol-examples-modifyproperties.html
@@ -1600,7 +1600,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-modifyproperty.html b/1.3/protocol-examples-modifyproperty.html
index d04a3ad..1201647 100644
--- a/1.3/protocol-examples-modifyproperty.html
+++ b/1.3/protocol-examples-modifyproperty.html
@@ -1590,7 +1590,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-modifything.html b/1.3/protocol-examples-modifything.html
index 800115e..2a270b7 100644
--- a/1.3/protocol-examples-modifything.html
+++ b/1.3/protocol-examples-modifything.html
@@ -1670,7 +1670,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-modifythingdefinition.html b/1.3/protocol-examples-modifythingdefinition.html
index cb3a7be..0c859db 100644
--- a/1.3/protocol-examples-modifythingdefinition.html
+++ b/1.3/protocol-examples-modifythingdefinition.html
@@ -1590,7 +1590,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-createpolicy.html b/1.3/protocol-examples-policies-createpolicy.html
index 5761522..a606b15 100644
--- a/1.3/protocol-examples-policies-createpolicy.html
+++ b/1.3/protocol-examples-policies-createpolicy.html
@@ -1624,7 +1624,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-createpolicyentry.html b/1.3/protocol-examples-policies-createpolicyentry.html
index 9357c10..db12209 100644
--- a/1.3/protocol-examples-policies-createpolicyentry.html
+++ b/1.3/protocol-examples-policies-createpolicyentry.html
@@ -1600,7 +1600,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-createresource.html b/1.3/protocol-examples-policies-createresource.html
index fe742b5..fe27112 100644
--- a/1.3/protocol-examples-policies-createresource.html
+++ b/1.3/protocol-examples-policies-createresource.html
@@ -1589,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-createsubject.html b/1.3/protocol-examples-policies-createsubject.html
index 93448ae..e66a4c6 100644
--- a/1.3/protocol-examples-policies-createsubject.html
+++ b/1.3/protocol-examples-policies-createsubject.html
@@ -1585,7 +1585,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-deletepolicy.html b/1.3/protocol-examples-policies-deletepolicy.html
index 660b20b..4c4eef2 100644
--- a/1.3/protocol-examples-policies-deletepolicy.html
+++ b/1.3/protocol-examples-policies-deletepolicy.html
@@ -1582,7 +1582,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-deletepolicyentry.html b/1.3/protocol-examples-policies-deletepolicyentry.html
index 94f0ef3..6ac8cce 100644
--- a/1.3/protocol-examples-policies-deletepolicyentry.html
+++ b/1.3/protocol-examples-policies-deletepolicyentry.html
@@ -1582,7 +1582,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-deleteresource.html b/1.3/protocol-examples-policies-deleteresource.html
index 22fdebb..20b6cd5 100644
--- a/1.3/protocol-examples-policies-deleteresource.html
+++ b/1.3/protocol-examples-policies-deleteresource.html
@@ -1582,7 +1582,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-deletesubject.html b/1.3/protocol-examples-policies-deletesubject.html
index 84e942a..ff6c1ec 100644
--- a/1.3/protocol-examples-policies-deletesubject.html
+++ b/1.3/protocol-examples-policies-deletesubject.html
@@ -1582,7 +1582,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-errorresponses.html b/1.3/protocol-examples-policies-errorresponses.html
index baa1c65..1962530 100644
--- a/1.3/protocol-examples-policies-errorresponses.html
+++ b/1.3/protocol-examples-policies-errorresponses.html
@@ -1920,7 +1920,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-modifypolicy.html b/1.3/protocol-examples-policies-modifypolicy.html
index a38e87b..a971836 100644
--- a/1.3/protocol-examples-policies-modifypolicy.html
+++ b/1.3/protocol-examples-policies-modifypolicy.html
@@ -1603,7 +1603,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-modifypolicyentries.html b/1.3/protocol-examples-policies-modifypolicyentries.html
index f428880..53e3e17 100644
--- a/1.3/protocol-examples-policies-modifypolicyentries.html
+++ b/1.3/protocol-examples-policies-modifypolicyentries.html
@@ -1622,7 +1622,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-modifypolicyentry.html b/1.3/protocol-examples-policies-modifypolicyentry.html
index 02248f6..5a6fd7c 100644
--- a/1.3/protocol-examples-policies-modifypolicyentry.html
+++ b/1.3/protocol-examples-policies-modifypolicyentry.html
@@ -1600,7 +1600,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-modifyresource.html b/1.3/protocol-examples-policies-modifyresource.html
index bac5c62..83b23b3 100644
--- a/1.3/protocol-examples-policies-modifyresource.html
+++ b/1.3/protocol-examples-policies-modifyresource.html
@@ -1589,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-modifyresources.html b/1.3/protocol-examples-policies-modifyresources.html
index ba14f57..6aae765 100644
--- a/1.3/protocol-examples-policies-modifyresources.html
+++ b/1.3/protocol-examples-policies-modifyresources.html
@@ -1592,7 +1592,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-modifysubject.html b/1.3/protocol-examples-policies-modifysubject.html
index b2c5c41..c45e9b6 100644
--- a/1.3/protocol-examples-policies-modifysubject.html
+++ b/1.3/protocol-examples-policies-modifysubject.html
@@ -1585,7 +1585,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-modifysubjects.html b/1.3/protocol-examples-policies-modifysubjects.html
index 60a481c..b7e5850 100644
--- a/1.3/protocol-examples-policies-modifysubjects.html
+++ b/1.3/protocol-examples-policies-modifysubjects.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-retrievepolicy.html b/1.3/protocol-examples-policies-retrievepolicy.html
index c905576..0a3bf38 100644
--- a/1.3/protocol-examples-policies-retrievepolicy.html
+++ b/1.3/protocol-examples-policies-retrievepolicy.html
@@ -1603,7 +1603,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-retrievepolicyentries.html b/1.3/protocol-examples-policies-retrievepolicyentries.html
index 84f49c7..e9fc826 100644
--- a/1.3/protocol-examples-policies-retrievepolicyentries.html
+++ b/1.3/protocol-examples-policies-retrievepolicyentries.html
@@ -1616,7 +1616,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-retrievepolicyentry.html b/1.3/protocol-examples-policies-retrievepolicyentry.html
index cf79d2c..07208e1 100644
--- a/1.3/protocol-examples-policies-retrievepolicyentry.html
+++ b/1.3/protocol-examples-policies-retrievepolicyentry.html
@@ -1598,7 +1598,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-retrieveresource.html b/1.3/protocol-examples-policies-retrieveresource.html
index 631d615..a8231fa 100644
--- a/1.3/protocol-examples-policies-retrieveresource.html
+++ b/1.3/protocol-examples-policies-retrieveresource.html
@@ -1589,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-retrieveresources.html b/1.3/protocol-examples-policies-retrieveresources.html
index efe3264..c3c7ed2 100644
--- a/1.3/protocol-examples-policies-retrieveresources.html
+++ b/1.3/protocol-examples-policies-retrieveresources.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-retrievesubject.html b/1.3/protocol-examples-policies-retrievesubject.html
index f8754c7..aeda0dc 100644
--- a/1.3/protocol-examples-policies-retrievesubject.html
+++ b/1.3/protocol-examples-policies-retrievesubject.html
@@ -1585,7 +1585,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-policies-retrievesubjects.html b/1.3/protocol-examples-policies-retrievesubjects.html
index 1454deb..3119dff 100644
--- a/1.3/protocol-examples-policies-retrievesubjects.html
+++ b/1.3/protocol-examples-policies-retrievesubjects.html
@@ -1587,7 +1587,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-retrieveattribute.html b/1.3/protocol-examples-retrieveattribute.html
index 19cb844..219b3d4 100644
--- a/1.3/protocol-examples-retrieveattribute.html
+++ b/1.3/protocol-examples-retrieveattribute.html
@@ -1582,7 +1582,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-retrieveattributes.html b/1.3/protocol-examples-retrieveattributes.html
index 07cadb4..2c3d0c2 100644
--- a/1.3/protocol-examples-retrieveattributes.html
+++ b/1.3/protocol-examples-retrieveattributes.html
@@ -1584,7 +1584,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-retrievedefinition.html b/1.3/protocol-examples-retrievedefinition.html
index 583db94..2eb16c4 100644
--- a/1.3/protocol-examples-retrievedefinition.html
+++ b/1.3/protocol-examples-retrievedefinition.html
@@ -1581,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-retrievefeature.html b/1.3/protocol-examples-retrievefeature.html
index 67c8da7..97fec1a 100644
--- a/1.3/protocol-examples-retrievefeature.html
+++ b/1.3/protocol-examples-retrievefeature.html
@@ -1586,7 +1586,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-retrievefeatures.html b/1.3/protocol-examples-retrievefeatures.html
index b027c63..23ac219 100644
--- a/1.3/protocol-examples-retrievefeatures.html
+++ b/1.3/protocol-examples-retrievefeatures.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-retrieveproperties.html b/1.3/protocol-examples-retrieveproperties.html
index 622c985..3534a58 100644
--- a/1.3/protocol-examples-retrieveproperties.html
+++ b/1.3/protocol-examples-retrieveproperties.html
@@ -1584,7 +1584,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-retrieveproperty.html b/1.3/protocol-examples-retrieveproperty.html
index 1f7af92..5897e5d 100644
--- a/1.3/protocol-examples-retrieveproperty.html
+++ b/1.3/protocol-examples-retrieveproperty.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-retrievething.html b/1.3/protocol-examples-retrievething.html
index ab8d4e0..fc0b86e 100644
--- a/1.3/protocol-examples-retrievething.html
+++ b/1.3/protocol-examples-retrievething.html
@@ -1608,7 +1608,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-retrievethingdefinition.html b/1.3/protocol-examples-retrievethingdefinition.html
index b02f66f..11aa93f 100644
--- a/1.3/protocol-examples-retrievethingdefinition.html
+++ b/1.3/protocol-examples-retrievethingdefinition.html
@@ -1579,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-retrievethings.html b/1.3/protocol-examples-retrievethings.html
index 90c49c3..c62c2ce 100644
--- a/1.3/protocol-examples-retrievethings.html
+++ b/1.3/protocol-examples-retrievethings.html
@@ -1605,7 +1605,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples-search.html b/1.3/protocol-examples-search.html
index 55cc8b7..47301bf 100644
--- a/1.3/protocol-examples-search.html
+++ b/1.3/protocol-examples-search.html
@@ -1683,7 +1683,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-examples.html b/1.3/protocol-examples.html
index 4524caf..4a7c623 100644
--- a/1.3/protocol-examples.html
+++ b/1.3/protocol-examples.html
@@ -1665,7 +1665,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-overview.html b/1.3/protocol-overview.html
index 319e202..e59d270 100644
--- a/1.3/protocol-overview.html
+++ b/1.3/protocol-overview.html
@@ -1581,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-acks.html b/1.3/protocol-specification-acks.html
index 295e0b1..203e5ce 100644
--- a/1.3/protocol-specification-acks.html
+++ b/1.3/protocol-specification-acks.html
@@ -1605,7 +1605,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-errors.html b/1.3/protocol-specification-errors.html
index 439d928..e5d8574 100644
--- a/1.3/protocol-specification-errors.html
+++ b/1.3/protocol-specification-errors.html
@@ -1574,7 +1574,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-policies-create-or-modify.html b/1.3/protocol-specification-policies-create-or-modify.html
index 7da8f58..5bfbe5c 100644
--- a/1.3/protocol-specification-policies-create-or-modify.html
+++ b/1.3/protocol-specification-policies-create-or-modify.html
@@ -2183,7 +2183,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-policies-delete.html b/1.3/protocol-specification-policies-delete.html
index 3a07cf7..efcaa50 100644
--- a/1.3/protocol-specification-policies-delete.html
+++ b/1.3/protocol-specification-policies-delete.html
@@ -1853,7 +1853,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-policies-retrieve.html b/1.3/protocol-specification-policies-retrieve.html
index f4b3c87..335349e 100644
--- a/1.3/protocol-specification-policies-retrieve.html
+++ b/1.3/protocol-specification-policies-retrieve.html
@@ -2076,7 +2076,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-policies.html b/1.3/protocol-specification-policies.html
index 030657f..045ef96 100644
--- a/1.3/protocol-specification-policies.html
+++ b/1.3/protocol-specification-policies.html
@@ -1663,7 +1663,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-things-create-or-modify.html b/1.3/protocol-specification-things-create-or-modify.html
index de0f578..04d6e94 100644
--- a/1.3/protocol-specification-things-create-or-modify.html
+++ b/1.3/protocol-specification-things-create-or-modify.html
@@ -2983,7 +2983,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-things-delete.html b/1.3/protocol-specification-things-delete.html
index f09108f..da0d215 100644
--- a/1.3/protocol-specification-things-delete.html
+++ b/1.3/protocol-specification-things-delete.html
@@ -2470,7 +2470,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-things-messages.html b/1.3/protocol-specification-things-messages.html
index 45c0826..7a5d1e6 100644
--- a/1.3/protocol-specification-things-messages.html
+++ b/1.3/protocol-specification-things-messages.html
@@ -1825,7 +1825,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-things-retrieve.html b/1.3/protocol-specification-things-retrieve.html
index 567b45c..b0dd16d 100644
--- a/1.3/protocol-specification-things-retrieve.html
+++ b/1.3/protocol-specification-things-retrieve.html
@@ -2361,7 +2361,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-things-search.html b/1.3/protocol-specification-things-search.html
index 5dce269..0880ef7 100644
--- a/1.3/protocol-specification-things-search.html
+++ b/1.3/protocol-specification-things-search.html
@@ -1929,7 +1929,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-things.html b/1.3/protocol-specification-things.html
index 89be269..44ff02d 100644
--- a/1.3/protocol-specification-things.html
+++ b/1.3/protocol-specification-things.html
@@ -1634,7 +1634,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification-topic.html b/1.3/protocol-specification-topic.html
index a278e72..5af75a5 100644
--- a/1.3/protocol-specification-topic.html
+++ b/1.3/protocol-specification-topic.html
@@ -1739,7 +1739,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-specification.html b/1.3/protocol-specification.html
index e26b554..4b50cfd 100644
--- a/1.3/protocol-specification.html
+++ b/1.3/protocol-specification.html
@@ -1729,7 +1729,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/protocol-twinlive.html b/1.3/protocol-twinlive.html
index b5a691a..6e73ac7 100644
--- a/1.3/protocol-twinlive.html
+++ b/1.3/protocol-twinlive.html
@@ -1592,7 +1592,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_010-M1.html b/1.3/release_notes_010-M1.html
index 342b666..a1e645b 100644
--- a/1.3/release_notes_010-M1.html
+++ b/1.3/release_notes_010-M1.html
@@ -1571,7 +1571,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_010-M3.html b/1.3/release_notes_010-M3.html
index 46e843f..d79d3db 100644
--- a/1.3/release_notes_010-M3.html
+++ b/1.3/release_notes_010-M3.html
@@ -1627,7 +1627,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_020-M1.html b/1.3/release_notes_020-M1.html
index 9ba2fa6..72827f0 100644
--- a/1.3/release_notes_020-M1.html
+++ b/1.3/release_notes_020-M1.html
@@ -1612,7 +1612,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_030-M1.html b/1.3/release_notes_030-M1.html
index 99fb1b5..cab4451 100644
--- a/1.3/release_notes_030-M1.html
+++ b/1.3/release_notes_030-M1.html
@@ -1623,7 +1623,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_030-M2.html b/1.3/release_notes_030-M2.html
index b6a5f59..587e60c 100644
--- a/1.3/release_notes_030-M2.html
+++ b/1.3/release_notes_030-M2.html
@@ -1620,7 +1620,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_080-M1.html b/1.3/release_notes_080-M1.html
index 0f57949..ae254af 100644
--- a/1.3/release_notes_080-M1.html
+++ b/1.3/release_notes_080-M1.html
@@ -1642,7 +1642,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_080-M2.html b/1.3/release_notes_080-M2.html
index 78cca5f..ad8dda4 100644
--- a/1.3/release_notes_080-M2.html
+++ b/1.3/release_notes_080-M2.html
@@ -1626,7 +1626,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_080-M3.html b/1.3/release_notes_080-M3.html
index 7b201f3..d6d9186 100644
--- a/1.3/release_notes_080-M3.html
+++ b/1.3/release_notes_080-M3.html
@@ -1630,7 +1630,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_080.html b/1.3/release_notes_080.html
index 708c897..cf810f8 100644
--- a/1.3/release_notes_080.html
+++ b/1.3/release_notes_080.html
@@ -1636,7 +1636,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_090-M1.html b/1.3/release_notes_090-M1.html
index c47c1fc..95bde75 100644
--- a/1.3/release_notes_090-M1.html
+++ b/1.3/release_notes_090-M1.html
@@ -1608,7 +1608,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_090-M2.html b/1.3/release_notes_090-M2.html
index 9444766..c1baf50 100644
--- a/1.3/release_notes_090-M2.html
+++ b/1.3/release_notes_090-M2.html
@@ -1609,7 +1609,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_090.html b/1.3/release_notes_090.html
index 77c0128..4848593 100644
--- a/1.3/release_notes_090.html
+++ b/1.3/release_notes_090.html
@@ -1666,7 +1666,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_100-M1a.html b/1.3/release_notes_100-M1a.html
index e24afe9..f78e921 100644
--- a/1.3/release_notes_100-M1a.html
+++ b/1.3/release_notes_100-M1a.html
@@ -1627,7 +1627,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_100-M2.html b/1.3/release_notes_100-M2.html
index da98f98..52b960e 100644
--- a/1.3/release_notes_100-M2.html
+++ b/1.3/release_notes_100-M2.html
@@ -1644,7 +1644,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_100.html b/1.3/release_notes_100.html
index 5292c1b..b62cbfb 100644
--- a/1.3/release_notes_100.html
+++ b/1.3/release_notes_100.html
@@ -1647,7 +1647,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_110.html b/1.3/release_notes_110.html
index 81e9af8..e137d91 100644
--- a/1.3/release_notes_110.html
+++ b/1.3/release_notes_110.html
@@ -1688,7 +1688,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_111.html b/1.3/release_notes_111.html
index 4ba1de7..d196b21 100644
--- a/1.3/release_notes_111.html
+++ b/1.3/release_notes_111.html
@@ -1586,7 +1586,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_112.html b/1.3/release_notes_112.html
index b57a569..48aa46b 100644
--- a/1.3/release_notes_112.html
+++ b/1.3/release_notes_112.html
@@ -1602,7 +1602,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_113.html b/1.3/release_notes_113.html
index cadb31e..27d40e1 100644
--- a/1.3/release_notes_113.html
+++ b/1.3/release_notes_113.html
@@ -1602,7 +1602,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_115.html b/1.3/release_notes_115.html
index aa76021..2fac8bc 100644
--- a/1.3/release_notes_115.html
+++ b/1.3/release_notes_115.html
@@ -1590,7 +1590,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_120.html b/1.3/release_notes_120.html
index 50d320c..dee3ea8 100644
--- a/1.3/release_notes_120.html
+++ b/1.3/release_notes_120.html
@@ -1662,7 +1662,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_121.html b/1.3/release_notes_121.html
index 2e13a52..7875108 100644
--- a/1.3/release_notes_121.html
+++ b/1.3/release_notes_121.html
@@ -1589,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/release_notes_130.html b/1.3/release_notes_130.html
index 9027f6f..d5255bb 100644
--- a/1.3/release_notes_130.html
+++ b/1.3/release_notes_130.html
@@ -1679,7 +1679,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/sandbox.html b/1.3/sandbox.html
index 08258ce..9b0d490 100644
--- a/1.3/sandbox.html
+++ b/1.3/sandbox.html
@@ -1625,7 +1625,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_architecture.html b/1.3/tag_architecture.html
index b6c2e22..f4f9891 100644
--- a/1.3/tag_architecture.html
+++ b/1.3/tag_architecture.html
@@ -2370,7 +2370,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_blog.html b/1.3/tag_blog.html
index 9c0d007..3c58273 100644
--- a/1.3/tag_blog.html
+++ b/1.3/tag_blog.html
@@ -2508,7 +2508,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_client_sdk.html b/1.3/tag_client_sdk.html
index 7555a7a..0747b0c 100644
--- a/1.3/tag_client_sdk.html
+++ b/1.3/tag_client_sdk.html
@@ -2356,7 +2356,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_connectivity.html b/1.3/tag_connectivity.html
index 63efbdd..65bb0b2 100644
--- a/1.3/tag_connectivity.html
+++ b/1.3/tag_connectivity.html
@@ -2442,7 +2442,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_getting_started.html b/1.3/tag_getting_started.html
index f404d2d..4ac7a4d 100644
--- a/1.3/tag_getting_started.html
+++ b/1.3/tag_getting_started.html
@@ -2370,7 +2370,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_http.html b/1.3/tag_http.html
index b01c8b7..2c79443 100644
--- a/1.3/tag_http.html
+++ b/1.3/tag_http.html
@@ -2364,7 +2364,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_installation.html b/1.3/tag_installation.html
index 21739cd..9b6adeb 100644
--- a/1.3/tag_installation.html
+++ b/1.3/tag_installation.html
@@ -2346,7 +2346,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_model.html b/1.3/tag_model.html
index ad0494e..cf32e38 100644
--- a/1.3/tag_model.html
+++ b/1.3/tag_model.html
@@ -2406,7 +2406,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_news.html b/1.3/tag_news.html
index 781a9b7..0eccd48 100644
--- a/1.3/tag_news.html
+++ b/1.3/tag_news.html
@@ -2328,7 +2328,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_protocol.html b/1.3/tag_protocol.html
index 639a782..4898270 100644
--- a/1.3/tag_protocol.html
+++ b/1.3/tag_protocol.html
@@ -2498,7 +2498,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_release_notes.html b/1.3/tag_release_notes.html
index e3f8f39..da6c890 100644
--- a/1.3/tag_release_notes.html
+++ b/1.3/tag_release_notes.html
@@ -2466,7 +2466,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_rql.html b/1.3/tag_rql.html
index d91c3f1..61e03f7 100644
--- a/1.3/tag_rql.html
+++ b/1.3/tag_rql.html
@@ -2394,7 +2394,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_search.html b/1.3/tag_search.html
index 98d878d..b86b022 100644
--- a/1.3/tag_search.html
+++ b/1.3/tag_search.html
@@ -2364,7 +2364,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_signal.html b/1.3/tag_signal.html
index 936976a..9927210 100644
--- a/1.3/tag_signal.html
+++ b/1.3/tag_signal.html
@@ -2363,7 +2363,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.3/tag_troubleshooting.html b/1.3/tag_troubleshooting.html
index 36a562c..c8998f3 100644
--- a/1.3/tag_troubleshooting.html
+++ b/1.3/tag_troubleshooting.html
@@ -2334,7 +2334,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2017-11-10-welcome-to-ditto.html b/1.4/2017-11-10-welcome-to-ditto.html
index b91c0fc..b90662b 100644
--- a/1.4/2017-11-10-welcome-to-ditto.html
+++ b/1.4/2017-11-10-welcome-to-ditto.html
@@ -264,7 +264,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2017-12-18-milestone-announcement-010-M1.html b/1.4/2017-12-18-milestone-announcement-010-M1.html
index a4736e4..58feb51 100644
--- a/1.4/2017-12-18-milestone-announcement-010-M1.html
+++ b/1.4/2017-12-18-milestone-announcement-010-M1.html
@@ -268,7 +268,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-01-12-milestone-announcement-010-M3.html b/1.4/2018-01-12-milestone-announcement-010-M3.html
index c7c396b..484e8fa 100644
--- a/1.4/2018-01-12-milestone-announcement-010-M3.html
+++ b/1.4/2018-01-12-milestone-announcement-010-M3.html
@@ -287,7 +287,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-01-15-example-demonstrating-rest-to-websocket.html b/1.4/2018-01-15-example-demonstrating-rest-to-websocket.html
index c99df2a..e57a617 100644
--- a/1.4/2018-01-15-example-demonstrating-rest-to-websocket.html
+++ b/1.4/2018-01-15-example-demonstrating-rest-to-websocket.html
@@ -276,7 +276,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-02-07-milestone-announcement-020-M1.html b/1.4/2018-02-07-milestone-announcement-020-M1.html
index 1fbfb04..960601d 100644
--- a/1.4/2018-02-07-milestone-announcement-020-M1.html
+++ b/1.4/2018-02-07-milestone-announcement-020-M1.html
@@ -288,7 +288,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-02-08-feature-definition.html b/1.4/2018-02-08-feature-definition.html
index dc7b849..8389ce8 100644
--- a/1.4/2018-02-08-feature-definition.html
+++ b/1.4/2018-02-08-feature-definition.html
@@ -318,7 +318,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-04-25-connectivity-service.html b/1.4/2018-04-25-connectivity-service.html
index 912a7b8..905e2ed 100644
--- a/1.4/2018-04-25-connectivity-service.html
+++ b/1.4/2018-04-25-connectivity-service.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-04-26-milestone-announcement-030-M1.html b/1.4/2018-04-26-milestone-announcement-030-M1.html
index 8ac25ab..0bbc87f 100644
--- a/1.4/2018-04-26-milestone-announcement-030-M1.html
+++ b/1.4/2018-04-26-milestone-announcement-030-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-05-02-connecting-ditto-hono.html b/1.4/2018-05-02-connecting-ditto-hono.html
index 40c874d..7bbc01c 100644
--- a/1.4/2018-05-02-connecting-ditto-hono.html
+++ b/1.4/2018-05-02-connecting-ditto-hono.html
@@ -1006,7 +1006,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-06-15-milestone-announcement-030-M2.html b/1.4/2018-06-15-milestone-announcement-030-M2.html
index a03c413..b32c102 100644
--- a/1.4/2018-06-15-milestone-announcement-030-M2.html
+++ b/1.4/2018-06-15-milestone-announcement-030-M2.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-08-14-milestone-announcement-080-M1.html b/1.4/2018-08-14-milestone-announcement-080-M1.html
index f4eea0b..0f9849a 100644
--- a/1.4/2018-08-14-milestone-announcement-080-M1.html
+++ b/1.4/2018-08-14-milestone-announcement-080-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-09-21-selective-push-notifications.html b/1.4/2018-09-21-selective-push-notifications.html
index a612990..3379a30 100644
--- a/1.4/2018-09-21-selective-push-notifications.html
+++ b/1.4/2018-09-21-selective-push-notifications.html
@@ -484,7 +484,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-09-27-milestone-announcement-080-M2.html b/1.4/2018-09-27-milestone-announcement-080-M2.html
index eaf8aa8..97aa5aa 100644
--- a/1.4/2018-09-27-milestone-announcement-080-M2.html
+++ b/1.4/2018-09-27-milestone-announcement-080-M2.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-10-16-example-mqtt-bidirectional.html b/1.4/2018-10-16-example-mqtt-bidirectional.html
index 811c058..9bd4deb 100644
--- a/1.4/2018-10-16-example-mqtt-bidirectional.html
+++ b/1.4/2018-10-16-example-mqtt-bidirectional.html
@@ -292,7 +292,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-11-14-milestone-announcement-080-M3.html b/1.4/2018-11-14-milestone-announcement-080-M3.html
index d360b82..33f5325 100644
--- a/1.4/2018-11-14-milestone-announcement-080-M3.html
+++ b/1.4/2018-11-14-milestone-announcement-080-M3.html
@@ -285,7 +285,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-11-28-release-announcement-080.html b/1.4/2018-11-28-release-announcement-080.html
index 1aa9cc7..257f8d6 100644
--- a/1.4/2018-11-28-release-announcement-080.html
+++ b/1.4/2018-11-28-release-announcement-080.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2018-12-05-example-command-and-control.html b/1.4/2018-12-05-example-command-and-control.html
index fdfcd1d..d036c3d 100644
--- a/1.4/2018-12-05-example-command-and-control.html
+++ b/1.4/2018-12-05-example-command-and-control.html
@@ -519,7 +519,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2019-03-13-kafka-connectivity.html b/1.4/2019-03-13-kafka-connectivity.html
index 58c00c8..71ab23a 100644
--- a/1.4/2019-03-13-kafka-connectivity.html
+++ b/1.4/2019-03-13-kafka-connectivity.html
@@ -266,7 +266,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2019-03-28-milestone-announcement-090-M1.html b/1.4/2019-03-28-milestone-announcement-090-M1.html
index f45ae24..2bf6a14 100644
--- a/1.4/2019-03-28-milestone-announcement-090-M1.html
+++ b/1.4/2019-03-28-milestone-announcement-090-M1.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2019-04-29-milestone-announcement-090-M2.html b/1.4/2019-04-29-milestone-announcement-090-M2.html
index e2dfffc..b002977 100644
--- a/1.4/2019-04-29-milestone-announcement-090-M2.html
+++ b/1.4/2019-04-29-milestone-announcement-090-M2.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2019-07-10-release-announcement-090.html b/1.4/2019-07-10-release-announcement-090.html
index c31b354..43b42fb 100644
--- a/1.4/2019-07-10-release-announcement-090.html
+++ b/1.4/2019-07-10-release-announcement-090.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2019-08-28-openid-connect.html b/1.4/2019-08-28-openid-connect.html
index ffaa934..7b8b43f 100644
--- a/1.4/2019-08-28-openid-connect.html
+++ b/1.4/2019-08-28-openid-connect.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2019-09-17-milestone-announcement-100-M1a.html b/1.4/2019-09-17-milestone-announcement-100-M1a.html
index a907f1d..03d2f81 100644
--- a/1.4/2019-09-17-milestone-announcement-100-M1a.html
+++ b/1.4/2019-09-17-milestone-announcement-100-M1a.html
@@ -283,7 +283,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2019-10-17-http-connectivity.html b/1.4/2019-10-17-http-connectivity.html
index 1f9bfac..d0e93f5 100644
--- a/1.4/2019-10-17-http-connectivity.html
+++ b/1.4/2019-10-17-http-connectivity.html
@@ -291,7 +291,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2019-11-04-milestone-announcement-100-M2.html b/1.4/2019-11-04-milestone-announcement-100-M2.html
index 17db761..610d1c6 100644
--- a/1.4/2019-11-04-milestone-announcement-100-M2.html
+++ b/1.4/2019-11-04-milestone-announcement-100-M2.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2019-12-12-release-announcement-100.html b/1.4/2019-12-12-release-announcement-100.html
index 419380f..f8cbb7e 100644
--- a/1.4/2019-12-12-release-announcement-100.html
+++ b/1.4/2019-12-12-release-announcement-100.html
@@ -331,7 +331,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2020-04-16-connecting-to-ttn-via-mqtt.html b/1.4/2020-04-16-connecting-to-ttn-via-mqtt.html
index 91d7069..5d740e2 100644
--- a/1.4/2020-04-16-connecting-to-ttn-via-mqtt.html
+++ b/1.4/2020-04-16-connecting-to-ttn-via-mqtt.html
@@ -778,7 +778,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2020-04-29-release-announcement-110.html b/1.4/2020-04-29-release-announcement-110.html
index 370eef3..12c6585 100644
--- a/1.4/2020-04-29-release-announcement-110.html
+++ b/1.4/2020-04-29-release-announcement-110.html
@@ -312,7 +312,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2020-08-31-release-announcement-120.html b/1.4/2020-08-31-release-announcement-120.html
index cc5b111..2668587 100644
--- a/1.4/2020-08-31-release-announcement-120.html
+++ b/1.4/2020-08-31-release-announcement-120.html
@@ -290,7 +290,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2020-09-30-release-announcement-130.html b/1.4/2020-09-30-release-announcement-130.html
index b2d20fd..fd8261f 100644
--- a/1.4/2020-09-30-release-announcement-130.html
+++ b/1.4/2020-09-30-release-announcement-130.html
@@ -290,7 +290,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2020-10-08-asynchronous-client-creation.html b/1.4/2020-10-08-asynchronous-client-creation.html
index 853312d..2139507 100644
--- a/1.4/2020-10-08-asynchronous-client-creation.html
+++ b/1.4/2020-10-08-asynchronous-client-creation.html
@@ -324,7 +324,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2020-10-23-end-2-end-acknowledgment.html b/1.4/2020-10-23-end-2-end-acknowledgment.html
index 22bbe09..fbe9d6f 100644
--- a/1.4/2020-10-23-end-2-end-acknowledgment.html
+++ b/1.4/2020-10-23-end-2-end-acknowledgment.html
@@ -563,7 +563,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/2020-10-28-release-announcement-140.html b/1.4/2020-10-28-release-announcement-140.html
index fd81830..2fbcc3e 100644
--- a/1.4/2020-10-28-release-announcement-140.html
+++ b/1.4/2020-10-28-release-announcement-140.html
@@ -288,7 +288,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/404.html b/1.4/404.html
index 8d29bdf..4851857 100644
--- a/1.4/404.html
+++ b/1.4/404.html
@@ -1568,7 +1568,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/architecture-overview.html b/1.4/architecture-overview.html
index 7683a83..50696e3 100644
--- a/1.4/architecture-overview.html
+++ b/1.4/architecture-overview.html
@@ -1621,7 +1621,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/architecture-services-concierge.html b/1.4/architecture-services-concierge.html
index 2fa151f..3fb9c4b 100644
--- a/1.4/architecture-services-concierge.html
+++ b/1.4/architecture-services-concierge.html
@@ -1607,7 +1607,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/architecture-services-connectivity.html b/1.4/architecture-services-connectivity.html
index 26165a6..38dbe6a 100644
--- a/1.4/architecture-services-connectivity.html
+++ b/1.4/architecture-services-connectivity.html
@@ -1621,7 +1621,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/architecture-services-gateway.html b/1.4/architecture-services-gateway.html
index 7fcce45..c33454f 100644
--- a/1.4/architecture-services-gateway.html
+++ b/1.4/architecture-services-gateway.html
@@ -1599,7 +1599,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/architecture-services-policies.html b/1.4/architecture-services-policies.html
index 394ae1d..77763b0 100644
--- a/1.4/architecture-services-policies.html
+++ b/1.4/architecture-services-policies.html
@@ -1600,7 +1600,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/architecture-services-things-search.html b/1.4/architecture-services-things-search.html
index e4cc052..12f8e84 100644
--- a/1.4/architecture-services-things-search.html
+++ b/1.4/architecture-services-things-search.html
@@ -1644,7 +1644,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/architecture-services-things.html b/1.4/architecture-services-things.html
index 6c19ac2..939866f 100644
--- a/1.4/architecture-services-things.html
+++ b/1.4/architecture-services-things.html
@@ -1600,7 +1600,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-acknowledgements.html b/1.4/basic-acknowledgements.html
index 88b4f32..4039fb2 100644
--- a/1.4/basic-acknowledgements.html
+++ b/1.4/basic-acknowledgements.html
@@ -2223,7 +2223,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-acl.html b/1.4/basic-acl.html
index 7d58187..7fe7b5f 100644
--- a/1.4/basic-acl.html
+++ b/1.4/basic-acl.html
@@ -1638,7 +1638,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-apis.html b/1.4/basic-apis.html
index bd2c527..d0585f0 100644
--- a/1.4/basic-apis.html
+++ b/1.4/basic-apis.html
@@ -1696,7 +1696,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-auth.html b/1.4/basic-auth.html
index 86fe7df..898db1a 100644
--- a/1.4/basic-auth.html
+++ b/1.4/basic-auth.html
@@ -1642,7 +1642,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-changenotifications.html b/1.4/basic-changenotifications.html
index d6623c3..2078bec 100644
--- a/1.4/basic-changenotifications.html
+++ b/1.4/basic-changenotifications.html
@@ -1640,7 +1640,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-connections.html b/1.4/basic-connections.html
index a98c645..bfa626f 100644
--- a/1.4/basic-connections.html
+++ b/1.4/basic-connections.html
@@ -2158,7 +2158,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-enrichment.html b/1.4/basic-enrichment.html
index 033f1ab..4e146e2 100644
--- a/1.4/basic-enrichment.html
+++ b/1.4/basic-enrichment.html
@@ -1671,7 +1671,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-errors.html b/1.4/basic-errors.html
index 9aecf69..cb65f94 100644
--- a/1.4/basic-errors.html
+++ b/1.4/basic-errors.html
@@ -1617,7 +1617,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-feature.html b/1.4/basic-feature.html
index be9ed9e..d6f5fc1 100644
--- a/1.4/basic-feature.html
+++ b/1.4/basic-feature.html
@@ -1801,7 +1801,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-messages.html b/1.4/basic-messages.html
index 251eb12..92cbcdd 100644
--- a/1.4/basic-messages.html
+++ b/1.4/basic-messages.html
@@ -1709,7 +1709,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-metadata.html b/1.4/basic-metadata.html
index 528c509..171edb3 100644
--- a/1.4/basic-metadata.html
+++ b/1.4/basic-metadata.html
@@ -1751,7 +1751,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-namespaces-and-names.html b/1.4/basic-namespaces-and-names.html
index 38ca1b7..7a79c90 100644
--- a/1.4/basic-namespaces-and-names.html
+++ b/1.4/basic-namespaces-and-names.html
@@ -1644,7 +1644,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-overview.html b/1.4/basic-overview.html
index 7ed07ae..0638eb8 100644
--- a/1.4/basic-overview.html
+++ b/1.4/basic-overview.html
@@ -1713,7 +1713,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-placeholders.html b/1.4/basic-placeholders.html
index 021971f..97c85ea 100644
--- a/1.4/basic-placeholders.html
+++ b/1.4/basic-placeholders.html
@@ -1855,7 +1855,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-policy.html b/1.4/basic-policy.html
index 0c500c8..2c01d1f 100644
--- a/1.4/basic-policy.html
+++ b/1.4/basic-policy.html
@@ -1979,7 +1979,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-rql.html b/1.4/basic-rql.html
index c354a59..a329716 100644
--- a/1.4/basic-rql.html
+++ b/1.4/basic-rql.html
@@ -1819,7 +1819,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-search.html b/1.4/basic-search.html
index 26712b5..1c78a50 100644
--- a/1.4/basic-search.html
+++ b/1.4/basic-search.html
@@ -1712,7 +1712,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-signals-command.html b/1.4/basic-signals-command.html
index 42792b5..abc09a3 100644
--- a/1.4/basic-signals-command.html
+++ b/1.4/basic-signals-command.html
@@ -1598,7 +1598,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-signals-commandresponse.html b/1.4/basic-signals-commandresponse.html
index cf583a8..e7f5ab4 100644
--- a/1.4/basic-signals-commandresponse.html
+++ b/1.4/basic-signals-commandresponse.html
@@ -1578,7 +1578,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-signals-errorresponse.html b/1.4/basic-signals-errorresponse.html
index 776a8b6..5cc6614 100644
--- a/1.4/basic-signals-errorresponse.html
+++ b/1.4/basic-signals-errorresponse.html
@@ -1582,7 +1582,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-signals-event.html b/1.4/basic-signals-event.html
index 7552594..ad6499c 100644
--- a/1.4/basic-signals-event.html
+++ b/1.4/basic-signals-event.html
@@ -1584,7 +1584,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-signals.html b/1.4/basic-signals.html
index 6bfcb28..5b61a69 100644
--- a/1.4/basic-signals.html
+++ b/1.4/basic-signals.html
@@ -1628,7 +1628,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/basic-thing.html b/1.4/basic-thing.html
index 9a12f64..e7dcb4d 100644
--- a/1.4/basic-thing.html
+++ b/1.4/basic-thing.html
@@ -1669,7 +1669,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/blog.html b/1.4/blog.html
index 5bccd88..c05ce53 100644
--- a/1.4/blog.html
+++ b/1.4/blog.html
@@ -393,7 +393,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/blog_archive.html b/1.4/blog_archive.html
index 830aeb7..d001ca8 100644
--- a/1.4/blog_archive.html
+++ b/1.4/blog_archive.html
@@ -481,7 +481,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/client-sdk-java.html b/1.4/client-sdk-java.html
index 9eadd5e..b8091c9 100644
--- a/1.4/client-sdk-java.html
+++ b/1.4/client-sdk-java.html
@@ -1823,7 +1823,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/client-sdk-javascript.html b/1.4/client-sdk-javascript.html
index cb13944..6cf8a35 100644
--- a/1.4/client-sdk-javascript.html
+++ b/1.4/client-sdk-javascript.html
@@ -1634,7 +1634,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/client-sdk-overview.html b/1.4/client-sdk-overview.html
index d0cd4f0..d350cc8 100644
--- a/1.4/client-sdk-overview.html
+++ b/1.4/client-sdk-overview.html
@@ -1581,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/connectivity-header-mapping.html b/1.4/connectivity-header-mapping.html
index aa21270..bba2a41 100644
--- a/1.4/connectivity-header-mapping.html
+++ b/1.4/connectivity-header-mapping.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/connectivity-manage-connections.html b/1.4/connectivity-manage-connections.html
index 67eb27f..cdbac8c 100644
--- a/1.4/connectivity-manage-connections.html
+++ b/1.4/connectivity-manage-connections.html
@@ -1896,7 +1896,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/connectivity-mapping.html b/1.4/connectivity-mapping.html
index 1f0b15e..bde5752 100644
--- a/1.4/connectivity-mapping.html
+++ b/1.4/connectivity-mapping.html
@@ -2502,7 +2502,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/connectivity-overview.html b/1.4/connectivity-overview.html
index ec1a439..8ef9d84 100644
--- a/1.4/connectivity-overview.html
+++ b/1.4/connectivity-overview.html
@@ -1593,7 +1593,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/connectivity-protocol-bindings-amqp091.html b/1.4/connectivity-protocol-bindings-amqp091.html
index af3140f..6e72a19 100644
--- a/1.4/connectivity-protocol-bindings-amqp091.html
+++ b/1.4/connectivity-protocol-bindings-amqp091.html
@@ -1739,7 +1739,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/connectivity-protocol-bindings-amqp10.html b/1.4/connectivity-protocol-bindings-amqp10.html
index c7588d9..edbac78 100644
--- a/1.4/connectivity-protocol-bindings-amqp10.html
+++ b/1.4/connectivity-protocol-bindings-amqp10.html
@@ -1785,7 +1785,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/connectivity-protocol-bindings-http.html b/1.4/connectivity-protocol-bindings-http.html
index eb061bf..f9559f5 100644
--- a/1.4/connectivity-protocol-bindings-http.html
+++ b/1.4/connectivity-protocol-bindings-http.html
@@ -1792,7 +1792,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/connectivity-protocol-bindings-kafka2.html b/1.4/connectivity-protocol-bindings-kafka2.html
index 0748ee0..876a4da 100644
--- a/1.4/connectivity-protocol-bindings-kafka2.html
+++ b/1.4/connectivity-protocol-bindings-kafka2.html
@@ -1717,7 +1717,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/connectivity-protocol-bindings-mqtt.html b/1.4/connectivity-protocol-bindings-mqtt.html
index 51d8e5f..dd0eb18 100644
--- a/1.4/connectivity-protocol-bindings-mqtt.html
+++ b/1.4/connectivity-protocol-bindings-mqtt.html
@@ -1910,7 +1910,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/connectivity-protocol-bindings-mqtt5.html b/1.4/connectivity-protocol-bindings-mqtt5.html
index deeac98..e1deca5 100644
--- a/1.4/connectivity-protocol-bindings-mqtt5.html
+++ b/1.4/connectivity-protocol-bindings-mqtt5.html
@@ -1918,7 +1918,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/connectivity-tls-certificates.html b/1.4/connectivity-tls-certificates.html
index f4fbec2..b9d8a9b 100644
--- a/1.4/connectivity-tls-certificates.html
+++ b/1.4/connectivity-tls-certificates.html
@@ -1689,7 +1689,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/feedback.html b/1.4/feedback.html
index 0c3de7a..6279bc6 100644
--- a/1.4/feedback.html
+++ b/1.4/feedback.html
@@ -1593,7 +1593,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/glossary.html b/1.4/glossary.html
index e73a5b0..cfda5f8 100644
--- a/1.4/glossary.html
+++ b/1.4/glossary.html
@@ -1581,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/http-api-doc.html b/1.4/http-api-doc.html
index a4a2b6b..fb49a03 100644
--- a/1.4/http-api-doc.html
+++ b/1.4/http-api-doc.html
@@ -201,7 +201,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/httpapi-concepts.html b/1.4/httpapi-concepts.html
index f3c3588..6db76fa 100644
--- a/1.4/httpapi-concepts.html
+++ b/1.4/httpapi-concepts.html
@@ -2167,7 +2167,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/httpapi-messages.html b/1.4/httpapi-messages.html
index f7a82a0..3964194 100644
--- a/1.4/httpapi-messages.html
+++ b/1.4/httpapi-messages.html
@@ -1669,7 +1669,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/httpapi-overview.html b/1.4/httpapi-overview.html
index c6f0d3b..7a4e340 100644
--- a/1.4/httpapi-overview.html
+++ b/1.4/httpapi-overview.html
@@ -1589,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/httpapi-protocol-bindings-websocket.html b/1.4/httpapi-protocol-bindings-websocket.html
index 9991335..024daaa 100644
--- a/1.4/httpapi-protocol-bindings-websocket.html
+++ b/1.4/httpapi-protocol-bindings-websocket.html
@@ -1875,7 +1875,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/httpapi-search.html b/1.4/httpapi-search.html
index ce1e9d6..58b1d19 100644
--- a/1.4/httpapi-search.html
+++ b/1.4/httpapi-search.html
@@ -1636,7 +1636,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/httpapi-sse.html b/1.4/httpapi-sse.html
index ef6606e..d4c45a9 100644
--- a/1.4/httpapi-sse.html
+++ b/1.4/httpapi-sse.html
@@ -1823,7 +1823,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/index.html b/1.4/index.html
index 9df159d..4d1d607 100644
--- a/1.4/index.html
+++ b/1.4/index.html
@@ -265,7 +265,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/installation-building.html b/1.4/installation-building.html
index af9ba72..3e7e986 100644
--- a/1.4/installation-building.html
+++ b/1.4/installation-building.html
@@ -1608,7 +1608,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/installation-operating.html b/1.4/installation-operating.html
index 0515b41..3f482aa 100644
--- a/1.4/installation-operating.html
+++ b/1.4/installation-operating.html
@@ -2464,7 +2464,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/installation-running.html b/1.4/installation-running.html
index 5d7d7d2..ac9d94c 100644
--- a/1.4/installation-running.html
+++ b/1.4/installation-running.html
@@ -1636,7 +1636,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/intro-digitaltwins.html b/1.4/intro-digitaltwins.html
index 515573c..b171f7a 100644
--- a/1.4/intro-digitaltwins.html
+++ b/1.4/intro-digitaltwins.html
@@ -1611,7 +1611,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/intro-hello-world.html b/1.4/intro-hello-world.html
index e5a3b58..cbd25ba 100644
--- a/1.4/intro-hello-world.html
+++ b/1.4/intro-hello-world.html
@@ -1700,7 +1700,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/intro-overview.html b/1.4/intro-overview.html
index 75cffb4..990a862 100644
--- a/1.4/intro-overview.html
+++ b/1.4/intro-overview.html
@@ -1627,7 +1627,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/presentations.html b/1.4/presentations.html
index 791dc5c..2c31ea5 100644
--- a/1.4/presentations.html
+++ b/1.4/presentations.html
@@ -1621,7 +1621,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-bindings.html b/1.4/protocol-bindings.html
index c4a310c..d13de36 100644
--- a/1.4/protocol-bindings.html
+++ b/1.4/protocol-bindings.html
@@ -1601,7 +1601,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-createattribute.html b/1.4/protocol-examples-createattribute.html
index 2f24fad..f80f230 100644
--- a/1.4/protocol-examples-createattribute.html
+++ b/1.4/protocol-examples-createattribute.html
@@ -1603,7 +1603,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-createattributes.html b/1.4/protocol-examples-createattributes.html
index f7eb5db..7c9f77b 100644
--- a/1.4/protocol-examples-createattributes.html
+++ b/1.4/protocol-examples-createattributes.html
@@ -1608,7 +1608,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-createdefinition.html b/1.4/protocol-examples-createdefinition.html
index 016e9a5..3bd0f26 100644
--- a/1.4/protocol-examples-createdefinition.html
+++ b/1.4/protocol-examples-createdefinition.html
@@ -1601,7 +1601,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-createfeature.html b/1.4/protocol-examples-createfeature.html
index e974d20..cd9e0b2 100644
--- a/1.4/protocol-examples-createfeature.html
+++ b/1.4/protocol-examples-createfeature.html
@@ -1612,7 +1612,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-createfeatures.html b/1.4/protocol-examples-createfeatures.html
index 9b6e4b0..5b1a1d8 100644
--- a/1.4/protocol-examples-createfeatures.html
+++ b/1.4/protocol-examples-createfeatures.html
@@ -1616,7 +1616,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-createproperties.html b/1.4/protocol-examples-createproperties.html
index ef44ec5..4d9fe47 100644
--- a/1.4/protocol-examples-createproperties.html
+++ b/1.4/protocol-examples-createproperties.html
@@ -1607,7 +1607,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-createproperty.html b/1.4/protocol-examples-createproperty.html
index 2fae8f3..200c765 100644
--- a/1.4/protocol-examples-createproperty.html
+++ b/1.4/protocol-examples-createproperty.html
@@ -1597,7 +1597,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-creatething.html b/1.4/protocol-examples-creatething.html
index 7add398..8c3027a 100644
--- a/1.4/protocol-examples-creatething.html
+++ b/1.4/protocol-examples-creatething.html
@@ -1696,7 +1696,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-createthingdefinition.html b/1.4/protocol-examples-createthingdefinition.html
index 6652326..a63f023 100644
--- a/1.4/protocol-examples-createthingdefinition.html
+++ b/1.4/protocol-examples-createthingdefinition.html
@@ -1598,7 +1598,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-deleteattribute.html b/1.4/protocol-examples-deleteattribute.html
index 2647aec..9ee3548 100644
--- a/1.4/protocol-examples-deleteattribute.html
+++ b/1.4/protocol-examples-deleteattribute.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-deleteattributes.html b/1.4/protocol-examples-deleteattributes.html
index 0873a22..b1053db 100644
--- a/1.4/protocol-examples-deleteattributes.html
+++ b/1.4/protocol-examples-deleteattributes.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-deletedefinition.html b/1.4/protocol-examples-deletedefinition.html
index 432ea13..92dc961 100644
--- a/1.4/protocol-examples-deletedefinition.html
+++ b/1.4/protocol-examples-deletedefinition.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-deletefeature.html b/1.4/protocol-examples-deletefeature.html
index 141c1ec..7f09ff3 100644
--- a/1.4/protocol-examples-deletefeature.html
+++ b/1.4/protocol-examples-deletefeature.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-deletefeatures.html b/1.4/protocol-examples-deletefeatures.html
index 5d0861c..c37b6b4 100644
--- a/1.4/protocol-examples-deletefeatures.html
+++ b/1.4/protocol-examples-deletefeatures.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-deleteproperties.html b/1.4/protocol-examples-deleteproperties.html
index d4d2d01..481d517 100644
--- a/1.4/protocol-examples-deleteproperties.html
+++ b/1.4/protocol-examples-deleteproperties.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-deleteproperty.html b/1.4/protocol-examples-deleteproperty.html
index 15aa683..546726a 100644
--- a/1.4/protocol-examples-deleteproperty.html
+++ b/1.4/protocol-examples-deleteproperty.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-deletething.html b/1.4/protocol-examples-deletething.html
index c1a304e..f7c10fa 100644
--- a/1.4/protocol-examples-deletething.html
+++ b/1.4/protocol-examples-deletething.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-deletethingdefinition.html b/1.4/protocol-examples-deletethingdefinition.html
index 67dfa0c..137a915 100644
--- a/1.4/protocol-examples-deletethingdefinition.html
+++ b/1.4/protocol-examples-deletethingdefinition.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-errorresponses.html b/1.4/protocol-examples-errorresponses.html
index 9cf7ee4..7b0b096 100644
--- a/1.4/protocol-examples-errorresponses.html
+++ b/1.4/protocol-examples-errorresponses.html
@@ -2030,7 +2030,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-modifyattribute.html b/1.4/protocol-examples-modifyattribute.html
index f659d33..b484eec 100644
--- a/1.4/protocol-examples-modifyattribute.html
+++ b/1.4/protocol-examples-modifyattribute.html
@@ -1603,7 +1603,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-modifyattributes.html b/1.4/protocol-examples-modifyattributes.html
index 17218c3..62796a4 100644
--- a/1.4/protocol-examples-modifyattributes.html
+++ b/1.4/protocol-examples-modifyattributes.html
@@ -1608,7 +1608,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-modifydefinition.html b/1.4/protocol-examples-modifydefinition.html
index 8a151b8..f8c5873 100644
--- a/1.4/protocol-examples-modifydefinition.html
+++ b/1.4/protocol-examples-modifydefinition.html
@@ -1601,7 +1601,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-modifyfeature.html b/1.4/protocol-examples-modifyfeature.html
index 7002eb5..03790bd 100644
--- a/1.4/protocol-examples-modifyfeature.html
+++ b/1.4/protocol-examples-modifyfeature.html
@@ -1612,7 +1612,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-modifyfeatures.html b/1.4/protocol-examples-modifyfeatures.html
index c550c0b..9d74f47 100644
--- a/1.4/protocol-examples-modifyfeatures.html
+++ b/1.4/protocol-examples-modifyfeatures.html
@@ -1616,7 +1616,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-modifypolicyid.html b/1.4/protocol-examples-modifypolicyid.html
index 1f8a9a7..66afa27 100644
--- a/1.4/protocol-examples-modifypolicyid.html
+++ b/1.4/protocol-examples-modifypolicyid.html
@@ -1619,7 +1619,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-modifyproperties.html b/1.4/protocol-examples-modifyproperties.html
index 5dc63a3..562cdbc 100644
--- a/1.4/protocol-examples-modifyproperties.html
+++ b/1.4/protocol-examples-modifyproperties.html
@@ -1607,7 +1607,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-modifyproperty.html b/1.4/protocol-examples-modifyproperty.html
index 4c0c1af..959a9a9 100644
--- a/1.4/protocol-examples-modifyproperty.html
+++ b/1.4/protocol-examples-modifyproperty.html
@@ -1597,7 +1597,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-modifything.html b/1.4/protocol-examples-modifything.html
index 36fe0fc..fd60c62 100644
--- a/1.4/protocol-examples-modifything.html
+++ b/1.4/protocol-examples-modifything.html
@@ -1677,7 +1677,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-modifythingdefinition.html b/1.4/protocol-examples-modifythingdefinition.html
index a449667..eb03e03 100644
--- a/1.4/protocol-examples-modifythingdefinition.html
+++ b/1.4/protocol-examples-modifythingdefinition.html
@@ -1597,7 +1597,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-createpolicy.html b/1.4/protocol-examples-policies-createpolicy.html
index 417b3e2..7340833 100644
--- a/1.4/protocol-examples-policies-createpolicy.html
+++ b/1.4/protocol-examples-policies-createpolicy.html
@@ -1631,7 +1631,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-createpolicyentry.html b/1.4/protocol-examples-policies-createpolicyentry.html
index 9a2953d..a0ac9d5 100644
--- a/1.4/protocol-examples-policies-createpolicyentry.html
+++ b/1.4/protocol-examples-policies-createpolicyentry.html
@@ -1607,7 +1607,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-createresource.html b/1.4/protocol-examples-policies-createresource.html
index 3ff2966..52e1ea6 100644
--- a/1.4/protocol-examples-policies-createresource.html
+++ b/1.4/protocol-examples-policies-createresource.html
@@ -1596,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-createsubject.html b/1.4/protocol-examples-policies-createsubject.html
index d0b6c28..fe92076 100644
--- a/1.4/protocol-examples-policies-createsubject.html
+++ b/1.4/protocol-examples-policies-createsubject.html
@@ -1592,7 +1592,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-deletepolicy.html b/1.4/protocol-examples-policies-deletepolicy.html
index 0ed585a..f274074 100644
--- a/1.4/protocol-examples-policies-deletepolicy.html
+++ b/1.4/protocol-examples-policies-deletepolicy.html
@@ -1589,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-deletepolicyentry.html b/1.4/protocol-examples-policies-deletepolicyentry.html
index cea960d..05be961 100644
--- a/1.4/protocol-examples-policies-deletepolicyentry.html
+++ b/1.4/protocol-examples-policies-deletepolicyentry.html
@@ -1589,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-deleteresource.html b/1.4/protocol-examples-policies-deleteresource.html
index 86d2a6e..fa58c8c 100644
--- a/1.4/protocol-examples-policies-deleteresource.html
+++ b/1.4/protocol-examples-policies-deleteresource.html
@@ -1589,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-deletesubject.html b/1.4/protocol-examples-policies-deletesubject.html
index a352f9f..2b291c7 100644
--- a/1.4/protocol-examples-policies-deletesubject.html
+++ b/1.4/protocol-examples-policies-deletesubject.html
@@ -1589,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-errorresponses.html b/1.4/protocol-examples-policies-errorresponses.html
index e7db5ea..b64a25e 100644
--- a/1.4/protocol-examples-policies-errorresponses.html
+++ b/1.4/protocol-examples-policies-errorresponses.html
@@ -1927,7 +1927,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-modifypolicy.html b/1.4/protocol-examples-policies-modifypolicy.html
index f849d49..417b99a 100644
--- a/1.4/protocol-examples-policies-modifypolicy.html
+++ b/1.4/protocol-examples-policies-modifypolicy.html
@@ -1610,7 +1610,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-modifypolicyentries.html b/1.4/protocol-examples-policies-modifypolicyentries.html
index fbc619e..e76fad5 100644
--- a/1.4/protocol-examples-policies-modifypolicyentries.html
+++ b/1.4/protocol-examples-policies-modifypolicyentries.html
@@ -1629,7 +1629,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-modifypolicyentry.html b/1.4/protocol-examples-policies-modifypolicyentry.html
index d568736..c810672 100644
--- a/1.4/protocol-examples-policies-modifypolicyentry.html
+++ b/1.4/protocol-examples-policies-modifypolicyentry.html
@@ -1607,7 +1607,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-modifyresource.html b/1.4/protocol-examples-policies-modifyresource.html
index 1cb1866..83c6134 100644
--- a/1.4/protocol-examples-policies-modifyresource.html
+++ b/1.4/protocol-examples-policies-modifyresource.html
@@ -1596,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-modifyresources.html b/1.4/protocol-examples-policies-modifyresources.html
index 1b27aeb..d5bfdb5 100644
--- a/1.4/protocol-examples-policies-modifyresources.html
+++ b/1.4/protocol-examples-policies-modifyresources.html
@@ -1599,7 +1599,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-modifysubject.html b/1.4/protocol-examples-policies-modifysubject.html
index 45fefa6..983f963 100644
--- a/1.4/protocol-examples-policies-modifysubject.html
+++ b/1.4/protocol-examples-policies-modifysubject.html
@@ -1592,7 +1592,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-modifysubjects.html b/1.4/protocol-examples-policies-modifysubjects.html
index 67de695..f4b590e 100644
--- a/1.4/protocol-examples-policies-modifysubjects.html
+++ b/1.4/protocol-examples-policies-modifysubjects.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-retrievepolicy.html b/1.4/protocol-examples-policies-retrievepolicy.html
index e0053f1..22df9c6 100644
--- a/1.4/protocol-examples-policies-retrievepolicy.html
+++ b/1.4/protocol-examples-policies-retrievepolicy.html
@@ -1610,7 +1610,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-retrievepolicyentries.html b/1.4/protocol-examples-policies-retrievepolicyentries.html
index e9b915c..dbc3ce5 100644
--- a/1.4/protocol-examples-policies-retrievepolicyentries.html
+++ b/1.4/protocol-examples-policies-retrievepolicyentries.html
@@ -1623,7 +1623,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-retrievepolicyentry.html b/1.4/protocol-examples-policies-retrievepolicyentry.html
index 03c9445..14daa37 100644
--- a/1.4/protocol-examples-policies-retrievepolicyentry.html
+++ b/1.4/protocol-examples-policies-retrievepolicyentry.html
@@ -1605,7 +1605,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-retrieveresource.html b/1.4/protocol-examples-policies-retrieveresource.html
index 8670891..b26ddf0 100644
--- a/1.4/protocol-examples-policies-retrieveresource.html
+++ b/1.4/protocol-examples-policies-retrieveresource.html
@@ -1596,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-retrieveresources.html b/1.4/protocol-examples-policies-retrieveresources.html
index 99d33d6..91f3022 100644
--- a/1.4/protocol-examples-policies-retrieveresources.html
+++ b/1.4/protocol-examples-policies-retrieveresources.html
@@ -1598,7 +1598,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-retrievesubject.html b/1.4/protocol-examples-policies-retrievesubject.html
index c864e81..13f84db 100644
--- a/1.4/protocol-examples-policies-retrievesubject.html
+++ b/1.4/protocol-examples-policies-retrievesubject.html
@@ -1592,7 +1592,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-policies-retrievesubjects.html b/1.4/protocol-examples-policies-retrievesubjects.html
index b25e276..bbc9657 100644
--- a/1.4/protocol-examples-policies-retrievesubjects.html
+++ b/1.4/protocol-examples-policies-retrievesubjects.html
@@ -1594,7 +1594,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-retrieveattribute.html b/1.4/protocol-examples-retrieveattribute.html
index c0ce48b..d0b63f9 100644
--- a/1.4/protocol-examples-retrieveattribute.html
+++ b/1.4/protocol-examples-retrieveattribute.html
@@ -1589,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-retrieveattributes.html b/1.4/protocol-examples-retrieveattributes.html
index c121c13..626b5cc 100644
--- a/1.4/protocol-examples-retrieveattributes.html
+++ b/1.4/protocol-examples-retrieveattributes.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-retrievedefinition.html b/1.4/protocol-examples-retrievedefinition.html
index 3741e60..ecea697 100644
--- a/1.4/protocol-examples-retrievedefinition.html
+++ b/1.4/protocol-examples-retrievedefinition.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-retrievefeature.html b/1.4/protocol-examples-retrievefeature.html
index 6044e11..bbf2e3c 100644
--- a/1.4/protocol-examples-retrievefeature.html
+++ b/1.4/protocol-examples-retrievefeature.html
@@ -1593,7 +1593,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-retrievefeatures.html b/1.4/protocol-examples-retrievefeatures.html
index b68cc07..f26705b 100644
--- a/1.4/protocol-examples-retrievefeatures.html
+++ b/1.4/protocol-examples-retrievefeatures.html
@@ -1595,7 +1595,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-retrieveproperties.html b/1.4/protocol-examples-retrieveproperties.html
index b88f110..13460ce 100644
--- a/1.4/protocol-examples-retrieveproperties.html
+++ b/1.4/protocol-examples-retrieveproperties.html
@@ -1591,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-retrieveproperty.html b/1.4/protocol-examples-retrieveproperty.html
index 490812c..f4c07e3 100644
--- a/1.4/protocol-examples-retrieveproperty.html
+++ b/1.4/protocol-examples-retrieveproperty.html
@@ -1586,7 +1586,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-retrievething.html b/1.4/protocol-examples-retrievething.html
index 552d049..759b110 100644
--- a/1.4/protocol-examples-retrievething.html
+++ b/1.4/protocol-examples-retrievething.html
@@ -1615,7 +1615,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-retrievethingdefinition.html b/1.4/protocol-examples-retrievethingdefinition.html
index e4a234a..fe5fd12 100644
--- a/1.4/protocol-examples-retrievethingdefinition.html
+++ b/1.4/protocol-examples-retrievethingdefinition.html
@@ -1586,7 +1586,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-retrievethings.html b/1.4/protocol-examples-retrievethings.html
index e19a439..c5b9087 100644
--- a/1.4/protocol-examples-retrievethings.html
+++ b/1.4/protocol-examples-retrievethings.html
@@ -1612,7 +1612,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples-search.html b/1.4/protocol-examples-search.html
index 0ebd626..b0c474d 100644
--- a/1.4/protocol-examples-search.html
+++ b/1.4/protocol-examples-search.html
@@ -1690,7 +1690,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-examples.html b/1.4/protocol-examples.html
index 9e26612..ca74223 100644
--- a/1.4/protocol-examples.html
+++ b/1.4/protocol-examples.html
@@ -1672,7 +1672,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-overview.html b/1.4/protocol-overview.html
index 755a29d..71b6128 100644
--- a/1.4/protocol-overview.html
+++ b/1.4/protocol-overview.html
@@ -1588,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-acks.html b/1.4/protocol-specification-acks.html
index 3776701..0691a08 100644
--- a/1.4/protocol-specification-acks.html
+++ b/1.4/protocol-specification-acks.html
@@ -1612,7 +1612,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-errors.html b/1.4/protocol-specification-errors.html
index 5f54557..8e91a93 100644
--- a/1.4/protocol-specification-errors.html
+++ b/1.4/protocol-specification-errors.html
@@ -1581,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-policies-create-or-modify.html b/1.4/protocol-specification-policies-create-or-modify.html
index e692df6..9f6b1e3 100644
--- a/1.4/protocol-specification-policies-create-or-modify.html
+++ b/1.4/protocol-specification-policies-create-or-modify.html
@@ -2190,7 +2190,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-policies-delete.html b/1.4/protocol-specification-policies-delete.html
index 5144d69..c0c3314 100644
--- a/1.4/protocol-specification-policies-delete.html
+++ b/1.4/protocol-specification-policies-delete.html
@@ -1860,7 +1860,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-policies-retrieve.html b/1.4/protocol-specification-policies-retrieve.html
index 4f42f52..db95ea6 100644
--- a/1.4/protocol-specification-policies-retrieve.html
+++ b/1.4/protocol-specification-policies-retrieve.html
@@ -2083,7 +2083,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-policies.html b/1.4/protocol-specification-policies.html
index f2dc467..ffae2d3 100644
--- a/1.4/protocol-specification-policies.html
+++ b/1.4/protocol-specification-policies.html
@@ -1670,7 +1670,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-things-create-or-modify.html b/1.4/protocol-specification-things-create-or-modify.html
index ed563a3..6fe4ab6 100644
--- a/1.4/protocol-specification-things-create-or-modify.html
+++ b/1.4/protocol-specification-things-create-or-modify.html
@@ -2990,7 +2990,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-things-delete.html b/1.4/protocol-specification-things-delete.html
index c93f9ad..e00966e 100644
--- a/1.4/protocol-specification-things-delete.html
+++ b/1.4/protocol-specification-things-delete.html
@@ -2477,7 +2477,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-things-messages.html b/1.4/protocol-specification-things-messages.html
index 1283ca1..43f9448 100644
--- a/1.4/protocol-specification-things-messages.html
+++ b/1.4/protocol-specification-things-messages.html
@@ -1832,7 +1832,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-things-retrieve.html b/1.4/protocol-specification-things-retrieve.html
index 885b4f5..a9b2256 100644
--- a/1.4/protocol-specification-things-retrieve.html
+++ b/1.4/protocol-specification-things-retrieve.html
@@ -2368,7 +2368,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-things-search.html b/1.4/protocol-specification-things-search.html
index 3a2ed3f..16e14e1 100644
--- a/1.4/protocol-specification-things-search.html
+++ b/1.4/protocol-specification-things-search.html
@@ -1936,7 +1936,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-things.html b/1.4/protocol-specification-things.html
index 62a183a..9d52fbe 100644
--- a/1.4/protocol-specification-things.html
+++ b/1.4/protocol-specification-things.html
@@ -1641,7 +1641,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification-topic.html b/1.4/protocol-specification-topic.html
index 3d9952c..e75de8a 100644
--- a/1.4/protocol-specification-topic.html
+++ b/1.4/protocol-specification-topic.html
@@ -1746,7 +1746,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-specification.html b/1.4/protocol-specification.html
index 3c95a1a..c8ea82c 100644
--- a/1.4/protocol-specification.html
+++ b/1.4/protocol-specification.html
@@ -1736,7 +1736,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/protocol-twinlive.html b/1.4/protocol-twinlive.html
index 0698344..fd2a1d2 100644
--- a/1.4/protocol-twinlive.html
+++ b/1.4/protocol-twinlive.html
@@ -1599,7 +1599,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_010-M1.html b/1.4/release_notes_010-M1.html
index 46fe646..6d8d153 100644
--- a/1.4/release_notes_010-M1.html
+++ b/1.4/release_notes_010-M1.html
@@ -1578,7 +1578,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_010-M3.html b/1.4/release_notes_010-M3.html
index 23d5494..cfe6f12 100644
--- a/1.4/release_notes_010-M3.html
+++ b/1.4/release_notes_010-M3.html
@@ -1634,7 +1634,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_020-M1.html b/1.4/release_notes_020-M1.html
index 8d8ace1..3b3cedb 100644
--- a/1.4/release_notes_020-M1.html
+++ b/1.4/release_notes_020-M1.html
@@ -1619,7 +1619,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_030-M1.html b/1.4/release_notes_030-M1.html
index b03474f..4c90f93 100644
--- a/1.4/release_notes_030-M1.html
+++ b/1.4/release_notes_030-M1.html
@@ -1630,7 +1630,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_030-M2.html b/1.4/release_notes_030-M2.html
index 4a01349..c647668 100644
--- a/1.4/release_notes_030-M2.html
+++ b/1.4/release_notes_030-M2.html
@@ -1627,7 +1627,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_080-M1.html b/1.4/release_notes_080-M1.html
index 2edb52c..a759b1d 100644
--- a/1.4/release_notes_080-M1.html
+++ b/1.4/release_notes_080-M1.html
@@ -1649,7 +1649,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_080-M2.html b/1.4/release_notes_080-M2.html
index dc44b09..2a1571b 100644
--- a/1.4/release_notes_080-M2.html
+++ b/1.4/release_notes_080-M2.html
@@ -1633,7 +1633,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_080-M3.html b/1.4/release_notes_080-M3.html
index cc615c1..6def8da 100644
--- a/1.4/release_notes_080-M3.html
+++ b/1.4/release_notes_080-M3.html
@@ -1637,7 +1637,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_080.html b/1.4/release_notes_080.html
index e59b348..28f9f0f 100644
--- a/1.4/release_notes_080.html
+++ b/1.4/release_notes_080.html
@@ -1643,7 +1643,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_090-M1.html b/1.4/release_notes_090-M1.html
index e3b6ac5..a366123 100644
--- a/1.4/release_notes_090-M1.html
+++ b/1.4/release_notes_090-M1.html
@@ -1615,7 +1615,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_090-M2.html b/1.4/release_notes_090-M2.html
index b3530b0..1669d6a 100644
--- a/1.4/release_notes_090-M2.html
+++ b/1.4/release_notes_090-M2.html
@@ -1616,7 +1616,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_090.html b/1.4/release_notes_090.html
index 96efbb5..4b29a11 100644
--- a/1.4/release_notes_090.html
+++ b/1.4/release_notes_090.html
@@ -1673,7 +1673,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_100-M1a.html b/1.4/release_notes_100-M1a.html
index 39b9b59..300a84e 100644
--- a/1.4/release_notes_100-M1a.html
+++ b/1.4/release_notes_100-M1a.html
@@ -1634,7 +1634,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_100-M2.html b/1.4/release_notes_100-M2.html
index 1f97cc3..6ecd0fb 100644
--- a/1.4/release_notes_100-M2.html
+++ b/1.4/release_notes_100-M2.html
@@ -1651,7 +1651,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_100.html b/1.4/release_notes_100.html
index 50b8aa4..ab337d1 100644
--- a/1.4/release_notes_100.html
+++ b/1.4/release_notes_100.html
@@ -1654,7 +1654,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_110.html b/1.4/release_notes_110.html
index f50c235..c7c2f76 100644
--- a/1.4/release_notes_110.html
+++ b/1.4/release_notes_110.html
@@ -1695,7 +1695,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_111.html b/1.4/release_notes_111.html
index 0d6ad46..21ea3bf 100644
--- a/1.4/release_notes_111.html
+++ b/1.4/release_notes_111.html
@@ -1593,7 +1593,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_112.html b/1.4/release_notes_112.html
index 375fc7b..cd7839e 100644
--- a/1.4/release_notes_112.html
+++ b/1.4/release_notes_112.html
@@ -1609,7 +1609,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_113.html b/1.4/release_notes_113.html
index 8c741e1..05129a7 100644
--- a/1.4/release_notes_113.html
+++ b/1.4/release_notes_113.html
@@ -1609,7 +1609,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_115.html b/1.4/release_notes_115.html
index 3f05c12..c7dbd5d 100644
--- a/1.4/release_notes_115.html
+++ b/1.4/release_notes_115.html
@@ -1597,7 +1597,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_120.html b/1.4/release_notes_120.html
index 5b7adb5..94413b3 100644
--- a/1.4/release_notes_120.html
+++ b/1.4/release_notes_120.html
@@ -1669,7 +1669,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_121.html b/1.4/release_notes_121.html
index a84d0b8..a495332 100644
--- a/1.4/release_notes_121.html
+++ b/1.4/release_notes_121.html
@@ -1596,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_130.html b/1.4/release_notes_130.html
index 8894862..d024f00 100644
--- a/1.4/release_notes_130.html
+++ b/1.4/release_notes_130.html
@@ -1686,7 +1686,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/release_notes_140.html b/1.4/release_notes_140.html
index 63057dd..e50961a 100644
--- a/1.4/release_notes_140.html
+++ b/1.4/release_notes_140.html
@@ -1663,7 +1663,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/sandbox.html b/1.4/sandbox.html
index 999d3bc..23fb413 100644
--- a/1.4/sandbox.html
+++ b/1.4/sandbox.html
@@ -1632,7 +1632,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_architecture.html b/1.4/tag_architecture.html
index d5bcc63..af81ae9 100644
--- a/1.4/tag_architecture.html
+++ b/1.4/tag_architecture.html
@@ -2393,7 +2393,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_blog.html b/1.4/tag_blog.html
index a34084a..5bc4e39 100644
--- a/1.4/tag_blog.html
+++ b/1.4/tag_blog.html
@@ -2549,7 +2549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_client_sdk.html b/1.4/tag_client_sdk.html
index 995f72a..e7a688e 100644
--- a/1.4/tag_client_sdk.html
+++ b/1.4/tag_client_sdk.html
@@ -2379,7 +2379,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_connectivity.html b/1.4/tag_connectivity.html
index fb02649..6b6df8c 100644
--- a/1.4/tag_connectivity.html
+++ b/1.4/tag_connectivity.html
@@ -2465,7 +2465,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_getting_started.html b/1.4/tag_getting_started.html
index f3bed85..e5a4d54 100644
--- a/1.4/tag_getting_started.html
+++ b/1.4/tag_getting_started.html
@@ -2393,7 +2393,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_http.html b/1.4/tag_http.html
index 8c2ed49..ac72bd9 100644
--- a/1.4/tag_http.html
+++ b/1.4/tag_http.html
@@ -2387,7 +2387,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_installation.html b/1.4/tag_installation.html
index 94da727..9aa9be9 100644
--- a/1.4/tag_installation.html
+++ b/1.4/tag_installation.html
@@ -2369,7 +2369,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_model.html b/1.4/tag_model.html
index 76e1698..dc4269c 100644
--- a/1.4/tag_model.html
+++ b/1.4/tag_model.html
@@ -2429,7 +2429,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_news.html b/1.4/tag_news.html
index 132b471..558dee8 100644
--- a/1.4/tag_news.html
+++ b/1.4/tag_news.html
@@ -2351,7 +2351,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_protocol.html b/1.4/tag_protocol.html
index cb9c2d2..608171b 100644
--- a/1.4/tag_protocol.html
+++ b/1.4/tag_protocol.html
@@ -2521,7 +2521,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_release_notes.html b/1.4/tag_release_notes.html
index d8f0f71..a791127 100644
--- a/1.4/tag_release_notes.html
+++ b/1.4/tag_release_notes.html
@@ -2495,7 +2495,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_rql.html b/1.4/tag_rql.html
index 7ff40ab..325c6f7 100644
--- a/1.4/tag_rql.html
+++ b/1.4/tag_rql.html
@@ -2417,7 +2417,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_search.html b/1.4/tag_search.html
index 57dfdc0..134f773 100644
--- a/1.4/tag_search.html
+++ b/1.4/tag_search.html
@@ -2387,7 +2387,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_signal.html b/1.4/tag_signal.html
index 4171b42..ee4f5ab 100644
--- a/1.4/tag_signal.html
+++ b/1.4/tag_signal.html
@@ -2386,7 +2386,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/1.4/tag_troubleshooting.html b/1.4/tag_troubleshooting.html
index 127e560..b0ef344 100644
--- a/1.4/tag_troubleshooting.html
+++ b/1.4/tag_troubleshooting.html
@@ -2357,7 +2357,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2017-11-10-welcome-to-ditto.html b/2017-11-10-welcome-to-ditto.html
index b91c0fc..b90662b 100644
--- a/2017-11-10-welcome-to-ditto.html
+++ b/2017-11-10-welcome-to-ditto.html
@@ -264,7 +264,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2017-12-18-milestone-announcement-010-M1.html b/2017-12-18-milestone-announcement-010-M1.html
index a4736e4..58feb51 100644
--- a/2017-12-18-milestone-announcement-010-M1.html
+++ b/2017-12-18-milestone-announcement-010-M1.html
@@ -268,7 +268,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-01-12-milestone-announcement-010-M3.html b/2018-01-12-milestone-announcement-010-M3.html
index c7c396b..484e8fa 100644
--- a/2018-01-12-milestone-announcement-010-M3.html
+++ b/2018-01-12-milestone-announcement-010-M3.html
@@ -287,7 +287,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-01-15-example-demonstrating-rest-to-websocket.html b/2018-01-15-example-demonstrating-rest-to-websocket.html
index c99df2a..e57a617 100644
--- a/2018-01-15-example-demonstrating-rest-to-websocket.html
+++ b/2018-01-15-example-demonstrating-rest-to-websocket.html
@@ -276,7 +276,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-02-07-milestone-announcement-020-M1.html b/2018-02-07-milestone-announcement-020-M1.html
index 1fbfb04..960601d 100644
--- a/2018-02-07-milestone-announcement-020-M1.html
+++ b/2018-02-07-milestone-announcement-020-M1.html
@@ -288,7 +288,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-02-08-feature-definition.html b/2018-02-08-feature-definition.html
index dc7b849..8389ce8 100644
--- a/2018-02-08-feature-definition.html
+++ b/2018-02-08-feature-definition.html
@@ -318,7 +318,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-04-25-connectivity-service.html b/2018-04-25-connectivity-service.html
index 912a7b8..905e2ed 100644
--- a/2018-04-25-connectivity-service.html
+++ b/2018-04-25-connectivity-service.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-04-26-milestone-announcement-030-M1.html b/2018-04-26-milestone-announcement-030-M1.html
index 8ac25ab..0bbc87f 100644
--- a/2018-04-26-milestone-announcement-030-M1.html
+++ b/2018-04-26-milestone-announcement-030-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-05-02-connecting-ditto-hono.html b/2018-05-02-connecting-ditto-hono.html
index 40c874d..7bbc01c 100644
--- a/2018-05-02-connecting-ditto-hono.html
+++ b/2018-05-02-connecting-ditto-hono.html
@@ -1006,7 +1006,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-06-15-milestone-announcement-030-M2.html b/2018-06-15-milestone-announcement-030-M2.html
index a03c413..b32c102 100644
--- a/2018-06-15-milestone-announcement-030-M2.html
+++ b/2018-06-15-milestone-announcement-030-M2.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-08-14-milestone-announcement-080-M1.html b/2018-08-14-milestone-announcement-080-M1.html
index f4eea0b..0f9849a 100644
--- a/2018-08-14-milestone-announcement-080-M1.html
+++ b/2018-08-14-milestone-announcement-080-M1.html
@@ -284,7 +284,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-09-21-selective-push-notifications.html b/2018-09-21-selective-push-notifications.html
index a612990..3379a30 100644
--- a/2018-09-21-selective-push-notifications.html
+++ b/2018-09-21-selective-push-notifications.html
@@ -484,7 +484,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-09-27-milestone-announcement-080-M2.html b/2018-09-27-milestone-announcement-080-M2.html
index eaf8aa8..97aa5aa 100644
--- a/2018-09-27-milestone-announcement-080-M2.html
+++ b/2018-09-27-milestone-announcement-080-M2.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-10-16-example-mqtt-bidirectional.html b/2018-10-16-example-mqtt-bidirectional.html
index 811c058..9bd4deb 100644
--- a/2018-10-16-example-mqtt-bidirectional.html
+++ b/2018-10-16-example-mqtt-bidirectional.html
@@ -292,7 +292,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-11-14-milestone-announcement-080-M3.html b/2018-11-14-milestone-announcement-080-M3.html
index d360b82..33f5325 100644
--- a/2018-11-14-milestone-announcement-080-M3.html
+++ b/2018-11-14-milestone-announcement-080-M3.html
@@ -285,7 +285,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-11-28-release-announcement-080.html b/2018-11-28-release-announcement-080.html
index 1aa9cc7..257f8d6 100644
--- a/2018-11-28-release-announcement-080.html
+++ b/2018-11-28-release-announcement-080.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2018-12-05-example-command-and-control.html b/2018-12-05-example-command-and-control.html
index fdfcd1d..d036c3d 100644
--- a/2018-12-05-example-command-and-control.html
+++ b/2018-12-05-example-command-and-control.html
@@ -519,7 +519,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2019-03-13-kafka-connectivity.html b/2019-03-13-kafka-connectivity.html
index 58c00c8..71ab23a 100644
--- a/2019-03-13-kafka-connectivity.html
+++ b/2019-03-13-kafka-connectivity.html
@@ -266,7 +266,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2019-03-28-milestone-announcement-090-M1.html b/2019-03-28-milestone-announcement-090-M1.html
index f45ae24..2bf6a14 100644
--- a/2019-03-28-milestone-announcement-090-M1.html
+++ b/2019-03-28-milestone-announcement-090-M1.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2019-04-29-milestone-announcement-090-M2.html b/2019-04-29-milestone-announcement-090-M2.html
index e2dfffc..b002977 100644
--- a/2019-04-29-milestone-announcement-090-M2.html
+++ b/2019-04-29-milestone-announcement-090-M2.html
@@ -280,7 +280,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2019-07-10-release-announcement-090.html b/2019-07-10-release-announcement-090.html
index c31b354..43b42fb 100644
--- a/2019-07-10-release-announcement-090.html
+++ b/2019-07-10-release-announcement-090.html
@@ -286,7 +286,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2019-08-28-openid-connect.html b/2019-08-28-openid-connect.html
index ffaa934..7b8b43f 100644
--- a/2019-08-28-openid-connect.html
+++ b/2019-08-28-openid-connect.html
@@ -332,7 +332,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2019-09-17-milestone-announcement-100-M1a.html b/2019-09-17-milestone-announcement-100-M1a.html
index a907f1d..03d2f81 100644
--- a/2019-09-17-milestone-announcement-100-M1a.html
+++ b/2019-09-17-milestone-announcement-100-M1a.html
@@ -283,7 +283,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2019-10-17-http-connectivity.html b/2019-10-17-http-connectivity.html
index 1f9bfac..d0e93f5 100644
--- a/2019-10-17-http-connectivity.html
+++ b/2019-10-17-http-connectivity.html
@@ -291,7 +291,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2019-11-04-milestone-announcement-100-M2.html b/2019-11-04-milestone-announcement-100-M2.html
index 17db761..610d1c6 100644
--- a/2019-11-04-milestone-announcement-100-M2.html
+++ b/2019-11-04-milestone-announcement-100-M2.html
@@ -282,7 +282,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2019-12-12-release-announcement-100.html b/2019-12-12-release-announcement-100.html
index 419380f..f8cbb7e 100644
--- a/2019-12-12-release-announcement-100.html
+++ b/2019-12-12-release-announcement-100.html
@@ -331,7 +331,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2020-04-16-connecting-to-ttn-via-mqtt.html b/2020-04-16-connecting-to-ttn-via-mqtt.html
index 91d7069..5d740e2 100644
--- a/2020-04-16-connecting-to-ttn-via-mqtt.html
+++ b/2020-04-16-connecting-to-ttn-via-mqtt.html
@@ -778,7 +778,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2020-04-29-release-announcement-110.html b/2020-04-29-release-announcement-110.html
index 370eef3..12c6585 100644
--- a/2020-04-29-release-announcement-110.html
+++ b/2020-04-29-release-announcement-110.html
@@ -312,7 +312,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2020-08-31-release-announcement-120.html b/2020-08-31-release-announcement-120.html
index cc5b111..2668587 100644
--- a/2020-08-31-release-announcement-120.html
+++ b/2020-08-31-release-announcement-120.html
@@ -290,7 +290,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2020-09-30-release-announcement-130.html b/2020-09-30-release-announcement-130.html
index b2d20fd..fd8261f 100644
--- a/2020-09-30-release-announcement-130.html
+++ b/2020-09-30-release-announcement-130.html
@@ -290,7 +290,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2020-10-08-asynchronous-client-creation.html b/2020-10-08-asynchronous-client-creation.html
index 853312d..2139507 100644
--- a/2020-10-08-asynchronous-client-creation.html
+++ b/2020-10-08-asynchronous-client-creation.html
@@ -324,7 +324,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2020-10-23-end-2-end-acknowledgment.html b/2020-10-23-end-2-end-acknowledgment.html
index 22bbe09..fbe9d6f 100644
--- a/2020-10-23-end-2-end-acknowledgment.html
+++ b/2020-10-23-end-2-end-acknowledgment.html
@@ -563,7 +563,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/2020-10-28-release-announcement-140.html b/2020-10-28-release-announcement-140.html
index fd81830..2fbcc3e 100644
--- a/2020-10-28-release-announcement-140.html
+++ b/2020-10-28-release-announcement-140.html
@@ -288,7 +288,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/404.html b/404.html
index 00e2bad..b14766f 100644
--- a/404.html
+++ b/404.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1570,7 +1528,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/architecture-overview.html b/architecture-overview.html
index 49af436..d00dcfe 100644
--- a/architecture-overview.html
+++ b/architecture-overview.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1623,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/architecture-services-concierge.html b/architecture-services-concierge.html
index 0c41293..4b9403f 100644
--- a/architecture-services-concierge.html
+++ b/architecture-services-concierge.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1609,7 +1567,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/architecture-services-connectivity.html b/architecture-services-connectivity.html
index ad4dab2..726a2a4 100644
--- a/architecture-services-connectivity.html
+++ b/architecture-services-connectivity.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1623,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/architecture-services-gateway.html b/architecture-services-gateway.html
index b74d6ff..dcfa4ce 100644
--- a/architecture-services-gateway.html
+++ b/architecture-services-gateway.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1601,7 +1559,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/architecture-services-policies.html b/architecture-services-policies.html
index 3041cc3..43f426b 100644
--- a/architecture-services-policies.html
+++ b/architecture-services-policies.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1602,7 +1560,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/architecture-services-things-search.html b/architecture-services-things-search.html
index c66026f..f173791 100644
--- a/architecture-services-things-search.html
+++ b/architecture-services-things-search.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1646,7 +1604,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/architecture-services-things.html b/architecture-services-things.html
index b7edcc3..8a29852 100644
--- a/architecture-services-things.html
+++ b/architecture-services-things.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1602,7 +1560,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-acknowledgements.html b/basic-acknowledgements.html
index f5aed70..f5ece40 100644
--- a/basic-acknowledgements.html
+++ b/basic-acknowledgements.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2225,7 +2183,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-acl.html b/basic-acl.html
index 6dc25de..cc92a47 100644
--- a/basic-acl.html
+++ b/basic-acl.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1640,7 +1598,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-apis.html b/basic-apis.html
index 195c032..aa35aaf 100644
--- a/basic-apis.html
+++ b/basic-apis.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1698,7 +1656,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-auth.html b/basic-auth.html
index b8622b0..d513ddf 100644
--- a/basic-auth.html
+++ b/basic-auth.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1644,7 +1602,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-changenotifications.html b/basic-changenotifications.html
index 857c4ad..253a1cd 100644
--- a/basic-changenotifications.html
+++ b/basic-changenotifications.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1642,7 +1600,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-connections.html b/basic-connections.html
index 31573f5..c718dcb 100644
--- a/basic-connections.html
+++ b/basic-connections.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2160,7 +2118,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-enrichment.html b/basic-enrichment.html
index fbfc6e7..03f2922 100644
--- a/basic-enrichment.html
+++ b/basic-enrichment.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1673,7 +1631,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-errors.html b/basic-errors.html
index 1b3f504..72a8cbd 100644
--- a/basic-errors.html
+++ b/basic-errors.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1619,7 +1577,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-feature.html b/basic-feature.html
index ddced77..4c3c707 100644
--- a/basic-feature.html
+++ b/basic-feature.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1803,7 +1761,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-messages.html b/basic-messages.html
index fb0100a..7c859fe 100644
--- a/basic-messages.html
+++ b/basic-messages.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1711,7 +1669,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-metadata.html b/basic-metadata.html
index f5f9b62..b7711ce 100644
--- a/basic-metadata.html
+++ b/basic-metadata.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1753,7 +1711,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-namespaces-and-names.html b/basic-namespaces-and-names.html
index aa43062..3673398 100644
--- a/basic-namespaces-and-names.html
+++ b/basic-namespaces-and-names.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1646,7 +1604,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-overview.html b/basic-overview.html
index 6736ae2..e73d808 100644
--- a/basic-overview.html
+++ b/basic-overview.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1715,7 +1673,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-placeholders.html b/basic-placeholders.html
index f3b75a9..55008f3 100644
--- a/basic-placeholders.html
+++ b/basic-placeholders.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1857,7 +1815,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-policy.html b/basic-policy.html
index 8db170e..24c66c3 100644
--- a/basic-policy.html
+++ b/basic-policy.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1981,7 +1939,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-rql.html b/basic-rql.html
index fbf6c6e..3a91bff 100644
--- a/basic-rql.html
+++ b/basic-rql.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1821,7 +1779,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-search.html b/basic-search.html
index f2c40dd..4ccba85 100644
--- a/basic-search.html
+++ b/basic-search.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1714,7 +1672,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-signals-command.html b/basic-signals-command.html
index 79e40a8..a4946e2 100644
--- a/basic-signals-command.html
+++ b/basic-signals-command.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1600,7 +1558,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-signals-commandresponse.html b/basic-signals-commandresponse.html
index 5ef4964..5754c47 100644
--- a/basic-signals-commandresponse.html
+++ b/basic-signals-commandresponse.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1580,7 +1538,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-signals-errorresponse.html b/basic-signals-errorresponse.html
index 5f131cc..ee2ee76 100644
--- a/basic-signals-errorresponse.html
+++ b/basic-signals-errorresponse.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1584,7 +1542,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-signals-event.html b/basic-signals-event.html
index 51c161f..9452d9c 100644
--- a/basic-signals-event.html
+++ b/basic-signals-event.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1586,7 +1544,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-signals.html b/basic-signals.html
index 532c697..f48bb3b 100644
--- a/basic-signals.html
+++ b/basic-signals.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1630,7 +1588,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/basic-thing.html b/basic-thing.html
index 352841e..449242b 100644
--- a/basic-thing.html
+++ b/basic-thing.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1671,7 +1629,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/blog.html b/blog.html
index 5bccd88..c05ce53 100644
--- a/blog.html
+++ b/blog.html
@@ -393,7 +393,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/blog_archive.html b/blog_archive.html
index 830aeb7..d001ca8 100644
--- a/blog_archive.html
+++ b/blog_archive.html
@@ -481,7 +481,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/client-sdk-java.html b/client-sdk-java.html
index ba8ffab..65dddcd 100644
--- a/client-sdk-java.html
+++ b/client-sdk-java.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1825,7 +1783,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/client-sdk-javascript.html b/client-sdk-javascript.html
index 164b2ec..9cea264 100644
--- a/client-sdk-javascript.html
+++ b/client-sdk-javascript.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1636,7 +1594,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/client-sdk-overview.html b/client-sdk-overview.html
index d4051f7..09ca5af 100644
--- a/client-sdk-overview.html
+++ b/client-sdk-overview.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1583,7 +1541,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/connectivity-header-mapping.html b/connectivity-header-mapping.html
index 39023ca..a1be8aa 100644
--- a/connectivity-header-mapping.html
+++ b/connectivity-header-mapping.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1593,7 +1551,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/connectivity-manage-connections.html b/connectivity-manage-connections.html
index d9b43d7..7ada8c3 100644
--- a/connectivity-manage-connections.html
+++ b/connectivity-manage-connections.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1898,7 +1856,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/connectivity-mapping.html b/connectivity-mapping.html
index 3940ce6..d26c3a8 100644
--- a/connectivity-mapping.html
+++ b/connectivity-mapping.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2504,7 +2462,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/connectivity-overview.html b/connectivity-overview.html
index 9f9ece8..a589dd7 100644
--- a/connectivity-overview.html
+++ b/connectivity-overview.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1595,7 +1553,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/connectivity-protocol-bindings-amqp091.html b/connectivity-protocol-bindings-amqp091.html
index 62f4af7..ecd380e 100644
--- a/connectivity-protocol-bindings-amqp091.html
+++ b/connectivity-protocol-bindings-amqp091.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1741,7 +1699,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/connectivity-protocol-bindings-amqp10.html b/connectivity-protocol-bindings-amqp10.html
index 79cfce1..73da82a 100644
--- a/connectivity-protocol-bindings-amqp10.html
+++ b/connectivity-protocol-bindings-amqp10.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1787,7 +1745,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/connectivity-protocol-bindings-http.html b/connectivity-protocol-bindings-http.html
index 64a299e..33db8ea 100644
--- a/connectivity-protocol-bindings-http.html
+++ b/connectivity-protocol-bindings-http.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1794,7 +1752,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/connectivity-protocol-bindings-kafka2.html b/connectivity-protocol-bindings-kafka2.html
index 6f112cd..4c1f2d5 100644
--- a/connectivity-protocol-bindings-kafka2.html
+++ b/connectivity-protocol-bindings-kafka2.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1719,7 +1677,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/connectivity-protocol-bindings-mqtt.html b/connectivity-protocol-bindings-mqtt.html
index 4657f3d..ee89c8b 100644
--- a/connectivity-protocol-bindings-mqtt.html
+++ b/connectivity-protocol-bindings-mqtt.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1912,7 +1870,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/connectivity-protocol-bindings-mqtt5.html b/connectivity-protocol-bindings-mqtt5.html
index 0adf052..26e7048 100644
--- a/connectivity-protocol-bindings-mqtt5.html
+++ b/connectivity-protocol-bindings-mqtt5.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1920,7 +1878,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/connectivity-tls-certificates.html b/connectivity-tls-certificates.html
index bc7acdd..71be4b5 100644
--- a/connectivity-tls-certificates.html
+++ b/connectivity-tls-certificates.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1691,7 +1649,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/feed.xml b/feed.xml
index d223c03..8b36050 100644
--- a/feed.xml
+++ b/feed.xml
@@ -5,8 +5,8 @@
         <description>Announcements, tutorials and examples around Eclipse Ditto and Digital Twins</description>
         <link>https://www.eclipse.org/ditto/</link>
         <atom:link href="https://www.eclipse.org/ditto/feed.xml" rel="self" type="application/rss+xml"/>
-        <pubDate>Fri, 30 Oct 2020 14:17:15 +0000</pubDate>
-        <lastBuildDate>Fri, 30 Oct 2020 14:17:15 +0000</lastBuildDate>
+        <pubDate>Mon, 02 Nov 2020 12:39:14 +0000</pubDate>
+        <lastBuildDate>Mon, 02 Nov 2020 12:39:14 +0000</lastBuildDate>
         <generator>Jekyll v3.6.2</generator>
         
         <item>
diff --git a/feedback.html b/feedback.html
index 74a3350..0604190 100644
--- a/feedback.html
+++ b/feedback.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1595,7 +1553,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/glossary.html b/glossary.html
index ec61eb5..64fbc4a 100644
--- a/glossary.html
+++ b/glossary.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1583,7 +1541,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/http-api-doc.html b/http-api-doc.html
index a4a2b6b..fb49a03 100644
--- a/http-api-doc.html
+++ b/http-api-doc.html
@@ -201,7 +201,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/httpapi-concepts.html b/httpapi-concepts.html
index eccaf68..7d9e561 100644
--- a/httpapi-concepts.html
+++ b/httpapi-concepts.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2169,7 +2127,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/httpapi-messages.html b/httpapi-messages.html
index 6a58cb6..8ee9672 100644
--- a/httpapi-messages.html
+++ b/httpapi-messages.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1671,7 +1629,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/httpapi-overview.html b/httpapi-overview.html
index 47707ea..66e4998 100644
--- a/httpapi-overview.html
+++ b/httpapi-overview.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1591,7 +1549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/httpapi-protocol-bindings-websocket.html b/httpapi-protocol-bindings-websocket.html
index 81f7fe0..c66de7e 100644
--- a/httpapi-protocol-bindings-websocket.html
+++ b/httpapi-protocol-bindings-websocket.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1877,7 +1835,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/httpapi-search.html b/httpapi-search.html
index 4e13de1..45e7248 100644
--- a/httpapi-search.html
+++ b/httpapi-search.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1638,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/httpapi-sse.html b/httpapi-sse.html
index 8f41d04..ddbdfbf 100644
--- a/httpapi-sse.html
+++ b/httpapi-sse.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1825,7 +1783,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/index.html b/index.html
index 9df159d..4d1d607 100644
--- a/index.html
+++ b/index.html
@@ -265,7 +265,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/installation-building.html b/installation-building.html
index 244b1f2..c6e3ad0 100644
--- a/installation-building.html
+++ b/installation-building.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1610,7 +1568,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/installation-operating.html b/installation-operating.html
index 9c73dbc..9d1a07c 100644
--- a/installation-operating.html
+++ b/installation-operating.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2466,7 +2424,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/installation-running.html b/installation-running.html
index f855b32..9fc31df 100644
--- a/installation-running.html
+++ b/installation-running.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1638,7 +1596,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/intro-digitaltwins.html b/intro-digitaltwins.html
index bb07f0e..c2e691d 100644
--- a/intro-digitaltwins.html
+++ b/intro-digitaltwins.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1613,7 +1571,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/intro-hello-world.html b/intro-hello-world.html
index 705102f..f7fff8a 100644
--- a/intro-hello-world.html
+++ b/intro-hello-world.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1702,7 +1660,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/intro-overview.html b/intro-overview.html
index 2e3a328..5672920 100644
--- a/intro-overview.html
+++ b/intro-overview.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1629,7 +1587,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/js/customscripts.js b/js/customscripts.js
index 96aff54..a7fdddd 100644
--- a/js/customscripts.js
+++ b/js/customscripts.js
@@ -34,4 +34,46 @@
         });
 
     });
+
+    $("#dev-warning").hide();
+    changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
+    $("#docVersion").change(changeSelectedDocVersion);
 });
+
+function changeSelectedDocVersionDropdownSelection(element) {
+    var pathName = window.location.pathname;
+
+    var versionOptions = element.options;
+    for (var i = 0; i < versionOptions.length; i++) {
+        var versionValue = versionOptions[i].value;
+        if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
+            $("#docVersion").val(versionValue).change();
+            return;
+        }
+    }
+    // fallback: dev with "empty" version value:
+    $("#docVersion").val("").change();
+    $("#dev-warning").show();
+}
+
+function changeSelectedDocVersion() {
+    var versionValue = $('#docVersion').val();
+    var remainingPath = window.location.pathname.replace("/ditto", "/");
+    remainingPath = remainingPath.startsWith("/") ? remainingPath.substr(1) : remainingPath;
+    var versionMatch = remainingPath.match("([0-9].[0-9])/(.*)");
+    if (versionValue === "" && !versionMatch) {
+        // do nothing, we're already on the correct "dev" version
+    } else if (versionMatch && (versionValue === versionMatch[1])) {
+        // do nothing, we're already on the correct version
+    } else {
+        if (versionValue === "" && versionMatch) {
+            window.location.pathname = "ditto/" + versionMatch[2];
+        } else if (versionValue === "") {
+            window.location.pathname = "ditto/" + remainingPath;
+        } else if (versionMatch) {
+            window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
+        } else {
+            window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
+        }
+    }
+}
diff --git a/presentations.html b/presentations.html
index f574df1..54a6594 100644
--- a/presentations.html
+++ b/presentations.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1623,7 +1581,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-bindings.html b/protocol-bindings.html
index aabc835..6f59819 100644
--- a/protocol-bindings.html
+++ b/protocol-bindings.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1603,7 +1561,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-createattribute.html b/protocol-examples-createattribute.html
index 72f7646..115fbf9 100644
--- a/protocol-examples-createattribute.html
+++ b/protocol-examples-createattribute.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1605,7 +1563,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-createattributes.html b/protocol-examples-createattributes.html
index 69a148d..383860a 100644
--- a/protocol-examples-createattributes.html
+++ b/protocol-examples-createattributes.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1610,7 +1568,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-createdefinition.html b/protocol-examples-createdefinition.html
index 9944ffb..2723807 100644
--- a/protocol-examples-createdefinition.html
+++ b/protocol-examples-createdefinition.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1603,7 +1561,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-createfeature.html b/protocol-examples-createfeature.html
index b1b9d4e..28f1ffb 100644
--- a/protocol-examples-createfeature.html
+++ b/protocol-examples-createfeature.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1614,7 +1572,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-createfeatures.html b/protocol-examples-createfeatures.html
index 0e71f32..76e335a 100644
--- a/protocol-examples-createfeatures.html
+++ b/protocol-examples-createfeatures.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1618,7 +1576,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-createproperties.html b/protocol-examples-createproperties.html
index 87d63e2..20668ac 100644
--- a/protocol-examples-createproperties.html
+++ b/protocol-examples-createproperties.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1609,7 +1567,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-createproperty.html b/protocol-examples-createproperty.html
index 640444c..17391fe 100644
--- a/protocol-examples-createproperty.html
+++ b/protocol-examples-createproperty.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1599,7 +1557,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-creatething.html b/protocol-examples-creatething.html
index 976c29a..c78c55d 100644
--- a/protocol-examples-creatething.html
+++ b/protocol-examples-creatething.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1698,7 +1656,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-createthingdefinition.html b/protocol-examples-createthingdefinition.html
index 4a2274f..6d48617 100644
--- a/protocol-examples-createthingdefinition.html
+++ b/protocol-examples-createthingdefinition.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1600,7 +1558,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-deleteattribute.html b/protocol-examples-deleteattribute.html
index dc72012..59180f8 100644
--- a/protocol-examples-deleteattribute.html
+++ b/protocol-examples-deleteattribute.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1597,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-deleteattributes.html b/protocol-examples-deleteattributes.html
index f434ea2..96a7626 100644
--- a/protocol-examples-deleteattributes.html
+++ b/protocol-examples-deleteattributes.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1597,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-deletedefinition.html b/protocol-examples-deletedefinition.html
index 4fdd2a9..ef5299f 100644
--- a/protocol-examples-deletedefinition.html
+++ b/protocol-examples-deletedefinition.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1597,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-deletefeature.html b/protocol-examples-deletefeature.html
index 411f1be..56ff76d 100644
--- a/protocol-examples-deletefeature.html
+++ b/protocol-examples-deletefeature.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1597,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-deletefeatures.html b/protocol-examples-deletefeatures.html
index c0882dd..4864331 100644
--- a/protocol-examples-deletefeatures.html
+++ b/protocol-examples-deletefeatures.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1597,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-deleteproperties.html b/protocol-examples-deleteproperties.html
index 8cede61..a805564 100644
--- a/protocol-examples-deleteproperties.html
+++ b/protocol-examples-deleteproperties.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1597,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-deleteproperty.html b/protocol-examples-deleteproperty.html
index bf2aff5..ac39ede 100644
--- a/protocol-examples-deleteproperty.html
+++ b/protocol-examples-deleteproperty.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1597,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-deletething.html b/protocol-examples-deletething.html
index 235f8fc..0882776 100644
--- a/protocol-examples-deletething.html
+++ b/protocol-examples-deletething.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1597,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-deletethingdefinition.html b/protocol-examples-deletethingdefinition.html
index b48aa27..e2a677a 100644
--- a/protocol-examples-deletethingdefinition.html
+++ b/protocol-examples-deletethingdefinition.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1597,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-errorresponses.html b/protocol-examples-errorresponses.html
index d547f61..43f0c42 100644
--- a/protocol-examples-errorresponses.html
+++ b/protocol-examples-errorresponses.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2032,7 +1990,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-modifyattribute.html b/protocol-examples-modifyattribute.html
index dab335d..6027d5e 100644
--- a/protocol-examples-modifyattribute.html
+++ b/protocol-examples-modifyattribute.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1605,7 +1563,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-modifyattributes.html b/protocol-examples-modifyattributes.html
index c1bedfc..3c2eea9 100644
--- a/protocol-examples-modifyattributes.html
+++ b/protocol-examples-modifyattributes.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1610,7 +1568,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-modifydefinition.html b/protocol-examples-modifydefinition.html
index 11e6d55..6fdbb89 100644
--- a/protocol-examples-modifydefinition.html
+++ b/protocol-examples-modifydefinition.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1603,7 +1561,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-modifyfeature.html b/protocol-examples-modifyfeature.html
index 1e11db7..025a4b9 100644
--- a/protocol-examples-modifyfeature.html
+++ b/protocol-examples-modifyfeature.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1614,7 +1572,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-modifyfeatures.html b/protocol-examples-modifyfeatures.html
index af9eca1..1ba55ff 100644
--- a/protocol-examples-modifyfeatures.html
+++ b/protocol-examples-modifyfeatures.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1618,7 +1576,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-modifypolicyid.html b/protocol-examples-modifypolicyid.html
index 5b52707..3badeb8 100644
--- a/protocol-examples-modifypolicyid.html
+++ b/protocol-examples-modifypolicyid.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1621,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-modifyproperties.html b/protocol-examples-modifyproperties.html
index 5c2d467..091feec 100644
--- a/protocol-examples-modifyproperties.html
+++ b/protocol-examples-modifyproperties.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1609,7 +1567,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-modifyproperty.html b/protocol-examples-modifyproperty.html
index d9da230..0cee25b 100644
--- a/protocol-examples-modifyproperty.html
+++ b/protocol-examples-modifyproperty.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1599,7 +1557,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-modifything.html b/protocol-examples-modifything.html
index d6dfbe5..e64be66 100644
--- a/protocol-examples-modifything.html
+++ b/protocol-examples-modifything.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1679,7 +1637,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-modifythingdefinition.html b/protocol-examples-modifythingdefinition.html
index 9bc5887..88a9bb2 100644
--- a/protocol-examples-modifythingdefinition.html
+++ b/protocol-examples-modifythingdefinition.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1599,7 +1557,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-createpolicy.html b/protocol-examples-policies-createpolicy.html
index 4684602..4d049f5 100644
--- a/protocol-examples-policies-createpolicy.html
+++ b/protocol-examples-policies-createpolicy.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1633,7 +1591,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-createpolicyentry.html b/protocol-examples-policies-createpolicyentry.html
index 8b07ff6..8a86c83 100644
--- a/protocol-examples-policies-createpolicyentry.html
+++ b/protocol-examples-policies-createpolicyentry.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1609,7 +1567,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-createresource.html b/protocol-examples-policies-createresource.html
index d12d7ca..6bedacd 100644
--- a/protocol-examples-policies-createresource.html
+++ b/protocol-examples-policies-createresource.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1598,7 +1556,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-createsubject.html b/protocol-examples-policies-createsubject.html
index 01130f3..d101722 100644
--- a/protocol-examples-policies-createsubject.html
+++ b/protocol-examples-policies-createsubject.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1594,7 +1552,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-deletepolicy.html b/protocol-examples-policies-deletepolicy.html
index 139f2d1..397ec93 100644
--- a/protocol-examples-policies-deletepolicy.html
+++ b/protocol-examples-policies-deletepolicy.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1591,7 +1549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-deletepolicyentry.html b/protocol-examples-policies-deletepolicyentry.html
index 6804dcd..b51ab9d 100644
--- a/protocol-examples-policies-deletepolicyentry.html
+++ b/protocol-examples-policies-deletepolicyentry.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1591,7 +1549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-deleteresource.html b/protocol-examples-policies-deleteresource.html
index 03cf0f2..38f7fd2 100644
--- a/protocol-examples-policies-deleteresource.html
+++ b/protocol-examples-policies-deleteresource.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1591,7 +1549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-deletesubject.html b/protocol-examples-policies-deletesubject.html
index b4955ce..23565a9 100644
--- a/protocol-examples-policies-deletesubject.html
+++ b/protocol-examples-policies-deletesubject.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1591,7 +1549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-errorresponses.html b/protocol-examples-policies-errorresponses.html
index faf5a40..ec8cbe6 100644
--- a/protocol-examples-policies-errorresponses.html
+++ b/protocol-examples-policies-errorresponses.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1929,7 +1887,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-modifypolicy.html b/protocol-examples-policies-modifypolicy.html
index 90b7284..2dad6fd 100644
--- a/protocol-examples-policies-modifypolicy.html
+++ b/protocol-examples-policies-modifypolicy.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1612,7 +1570,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-modifypolicyentries.html b/protocol-examples-policies-modifypolicyentries.html
index 5620373..09c1b61 100644
--- a/protocol-examples-policies-modifypolicyentries.html
+++ b/protocol-examples-policies-modifypolicyentries.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1631,7 +1589,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-modifypolicyentry.html b/protocol-examples-policies-modifypolicyentry.html
index 0d3ef45..5b21831 100644
--- a/protocol-examples-policies-modifypolicyentry.html
+++ b/protocol-examples-policies-modifypolicyentry.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1609,7 +1567,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-modifyresource.html b/protocol-examples-policies-modifyresource.html
index 9d1c868..48b2a89 100644
--- a/protocol-examples-policies-modifyresource.html
+++ b/protocol-examples-policies-modifyresource.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1598,7 +1556,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-modifyresources.html b/protocol-examples-policies-modifyresources.html
index ba5745d..770a148 100644
--- a/protocol-examples-policies-modifyresources.html
+++ b/protocol-examples-policies-modifyresources.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1601,7 +1559,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-modifysubject.html b/protocol-examples-policies-modifysubject.html
index 82455f4..e19efc1 100644
--- a/protocol-examples-policies-modifysubject.html
+++ b/protocol-examples-policies-modifysubject.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1594,7 +1552,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-modifysubjects.html b/protocol-examples-policies-modifysubjects.html
index f2c897f..3d8f520 100644
--- a/protocol-examples-policies-modifysubjects.html
+++ b/protocol-examples-policies-modifysubjects.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1597,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-retrievepolicy.html b/protocol-examples-policies-retrievepolicy.html
index 78c77bb..7188a80 100644
--- a/protocol-examples-policies-retrievepolicy.html
+++ b/protocol-examples-policies-retrievepolicy.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1612,7 +1570,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-retrievepolicyentries.html b/protocol-examples-policies-retrievepolicyentries.html
index 5237024..b56b624 100644
--- a/protocol-examples-policies-retrievepolicyentries.html
+++ b/protocol-examples-policies-retrievepolicyentries.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1625,7 +1583,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-retrievepolicyentry.html b/protocol-examples-policies-retrievepolicyentry.html
index edc5683..ba23bee 100644
--- a/protocol-examples-policies-retrievepolicyentry.html
+++ b/protocol-examples-policies-retrievepolicyentry.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1607,7 +1565,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-retrieveresource.html b/protocol-examples-policies-retrieveresource.html
index 3e148c6..37d9da4 100644
--- a/protocol-examples-policies-retrieveresource.html
+++ b/protocol-examples-policies-retrieveresource.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1598,7 +1556,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-retrieveresources.html b/protocol-examples-policies-retrieveresources.html
index 5045187..3e34080 100644
--- a/protocol-examples-policies-retrieveresources.html
+++ b/protocol-examples-policies-retrieveresources.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1600,7 +1558,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-retrievesubject.html b/protocol-examples-policies-retrievesubject.html
index 215fe32..573e407 100644
--- a/protocol-examples-policies-retrievesubject.html
+++ b/protocol-examples-policies-retrievesubject.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1594,7 +1552,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-policies-retrievesubjects.html b/protocol-examples-policies-retrievesubjects.html
index b73f364..500d8f3 100644
--- a/protocol-examples-policies-retrievesubjects.html
+++ b/protocol-examples-policies-retrievesubjects.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1596,7 +1554,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-retrieveattribute.html b/protocol-examples-retrieveattribute.html
index a1148f3..4f2c227 100644
--- a/protocol-examples-retrieveattribute.html
+++ b/protocol-examples-retrieveattribute.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1591,7 +1549,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-retrieveattributes.html b/protocol-examples-retrieveattributes.html
index 993a9be..09549dd 100644
--- a/protocol-examples-retrieveattributes.html
+++ b/protocol-examples-retrieveattributes.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1593,7 +1551,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-retrievedefinition.html b/protocol-examples-retrievedefinition.html
index 0178faa..e28cc0a 100644
--- a/protocol-examples-retrievedefinition.html
+++ b/protocol-examples-retrievedefinition.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1590,7 +1548,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-retrievefeature.html b/protocol-examples-retrievefeature.html
index 83d3d0c..4a3fe3e 100644
--- a/protocol-examples-retrievefeature.html
+++ b/protocol-examples-retrievefeature.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1595,7 +1553,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-retrievefeatures.html b/protocol-examples-retrievefeatures.html
index f9dd373..4aa2414 100644
--- a/protocol-examples-retrievefeatures.html
+++ b/protocol-examples-retrievefeatures.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1597,7 +1555,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-retrieveproperties.html b/protocol-examples-retrieveproperties.html
index 95ae944..9b1e320 100644
--- a/protocol-examples-retrieveproperties.html
+++ b/protocol-examples-retrieveproperties.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1593,7 +1551,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-retrieveproperty.html b/protocol-examples-retrieveproperty.html
index 01aa1ce..94af9e9 100644
--- a/protocol-examples-retrieveproperty.html
+++ b/protocol-examples-retrieveproperty.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1588,7 +1546,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-retrievething.html b/protocol-examples-retrievething.html
index f4a47ff..c6865d6 100644
--- a/protocol-examples-retrievething.html
+++ b/protocol-examples-retrievething.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1617,7 +1575,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-retrievethingdefinition.html b/protocol-examples-retrievethingdefinition.html
index f626616..811764b 100644
--- a/protocol-examples-retrievethingdefinition.html
+++ b/protocol-examples-retrievethingdefinition.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1588,7 +1546,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-retrievethings.html b/protocol-examples-retrievethings.html
index 46cbfdf..be45df0 100644
--- a/protocol-examples-retrievethings.html
+++ b/protocol-examples-retrievethings.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1614,7 +1572,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples-search.html b/protocol-examples-search.html
index 9fc1aad..bc8389c 100644
--- a/protocol-examples-search.html
+++ b/protocol-examples-search.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1692,7 +1650,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-examples.html b/protocol-examples.html
index b35e8b8..d3e7230 100644
--- a/protocol-examples.html
+++ b/protocol-examples.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1674,7 +1632,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-overview.html b/protocol-overview.html
index 52a30c6..8ca8265 100644
--- a/protocol-overview.html
+++ b/protocol-overview.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1590,7 +1548,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-acks.html b/protocol-specification-acks.html
index 74479c4..858b6ee 100644
--- a/protocol-specification-acks.html
+++ b/protocol-specification-acks.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1614,7 +1572,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-errors.html b/protocol-specification-errors.html
index 85f4d14..1d32bf5 100644
--- a/protocol-specification-errors.html
+++ b/protocol-specification-errors.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1583,7 +1541,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-policies-create-or-modify.html b/protocol-specification-policies-create-or-modify.html
index 35bf4d9..2033469 100644
--- a/protocol-specification-policies-create-or-modify.html
+++ b/protocol-specification-policies-create-or-modify.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2192,7 +2150,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-policies-delete.html b/protocol-specification-policies-delete.html
index d8fc1c4..7b49acd 100644
--- a/protocol-specification-policies-delete.html
+++ b/protocol-specification-policies-delete.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1862,7 +1820,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-policies-retrieve.html b/protocol-specification-policies-retrieve.html
index 20f8bd5..4c419cb 100644
--- a/protocol-specification-policies-retrieve.html
+++ b/protocol-specification-policies-retrieve.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2085,7 +2043,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-policies.html b/protocol-specification-policies.html
index 405e91a..0fa7cbd 100644
--- a/protocol-specification-policies.html
+++ b/protocol-specification-policies.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1672,7 +1630,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-things-create-or-modify.html b/protocol-specification-things-create-or-modify.html
index 5332fa4..be4e348 100644
--- a/protocol-specification-things-create-or-modify.html
+++ b/protocol-specification-things-create-or-modify.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2992,7 +2950,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-things-delete.html b/protocol-specification-things-delete.html
index 49056c3..e6605f3 100644
--- a/protocol-specification-things-delete.html
+++ b/protocol-specification-things-delete.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2479,7 +2437,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-things-messages.html b/protocol-specification-things-messages.html
index 213ad1d..1da0994 100644
--- a/protocol-specification-things-messages.html
+++ b/protocol-specification-things-messages.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1834,7 +1792,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-things-retrieve.html b/protocol-specification-things-retrieve.html
index 92fa8fd..a47c822 100644
--- a/protocol-specification-things-retrieve.html
+++ b/protocol-specification-things-retrieve.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2370,7 +2328,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-things-search.html b/protocol-specification-things-search.html
index f0aeefd..61a905f 100644
--- a/protocol-specification-things-search.html
+++ b/protocol-specification-things-search.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1938,7 +1896,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-things.html b/protocol-specification-things.html
index 75958e4..ebb167a 100644
--- a/protocol-specification-things.html
+++ b/protocol-specification-things.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1643,7 +1601,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification-topic.html b/protocol-specification-topic.html
index 9450a37..5f696fd 100644
--- a/protocol-specification-topic.html
+++ b/protocol-specification-topic.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1748,7 +1706,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-specification.html b/protocol-specification.html
index 5a39c74..996000b 100644
--- a/protocol-specification.html
+++ b/protocol-specification.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1738,7 +1696,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/protocol-twinlive.html b/protocol-twinlive.html
index 4ad8737..c8ad05e 100644
--- a/protocol-twinlive.html
+++ b/protocol-twinlive.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1601,7 +1559,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_010-M1.html b/release_notes_010-M1.html
index cdc361c..a9fd8f2 100644
--- a/release_notes_010-M1.html
+++ b/release_notes_010-M1.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1580,7 +1538,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_010-M3.html b/release_notes_010-M3.html
index cdf621c..d5fd0a9 100644
--- a/release_notes_010-M3.html
+++ b/release_notes_010-M3.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1636,7 +1594,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_020-M1.html b/release_notes_020-M1.html
index 7ecb731..ffc732f 100644
--- a/release_notes_020-M1.html
+++ b/release_notes_020-M1.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1621,7 +1579,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_030-M1.html b/release_notes_030-M1.html
index 3bfac62..d2abe91 100644
--- a/release_notes_030-M1.html
+++ b/release_notes_030-M1.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1632,7 +1590,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_030-M2.html b/release_notes_030-M2.html
index 5e2163e..790e299 100644
--- a/release_notes_030-M2.html
+++ b/release_notes_030-M2.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1629,7 +1587,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_080-M1.html b/release_notes_080-M1.html
index 175e48a..13ee526 100644
--- a/release_notes_080-M1.html
+++ b/release_notes_080-M1.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1651,7 +1609,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_080-M2.html b/release_notes_080-M2.html
index 4bebaf9..e6e0ea6 100644
--- a/release_notes_080-M2.html
+++ b/release_notes_080-M2.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1635,7 +1593,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_080-M3.html b/release_notes_080-M3.html
index 93c8e7e..7f9ca18 100644
--- a/release_notes_080-M3.html
+++ b/release_notes_080-M3.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1639,7 +1597,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_080.html b/release_notes_080.html
index 00abe59..55dbd20 100644
--- a/release_notes_080.html
+++ b/release_notes_080.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1645,7 +1603,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_090-M1.html b/release_notes_090-M1.html
index fded2a5..bde222f 100644
--- a/release_notes_090-M1.html
+++ b/release_notes_090-M1.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1617,7 +1575,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_090-M2.html b/release_notes_090-M2.html
index 5737d53..aac0c0f 100644
--- a/release_notes_090-M2.html
+++ b/release_notes_090-M2.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1618,7 +1576,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_090.html b/release_notes_090.html
index b20ce31..259052b 100644
--- a/release_notes_090.html
+++ b/release_notes_090.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1675,7 +1633,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_100-M1a.html b/release_notes_100-M1a.html
index e685ba8..1d67722 100644
--- a/release_notes_100-M1a.html
+++ b/release_notes_100-M1a.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1636,7 +1594,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_100-M2.html b/release_notes_100-M2.html
index b538739..3517239 100644
--- a/release_notes_100-M2.html
+++ b/release_notes_100-M2.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1653,7 +1611,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_100.html b/release_notes_100.html
index 71bafb4..bb25efe 100644
--- a/release_notes_100.html
+++ b/release_notes_100.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1656,7 +1614,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_110.html b/release_notes_110.html
index 1dbc955..00e0731 100644
--- a/release_notes_110.html
+++ b/release_notes_110.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1697,7 +1655,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_111.html b/release_notes_111.html
index 55e5efd..846e6d1 100644
--- a/release_notes_111.html
+++ b/release_notes_111.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1595,7 +1553,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_112.html b/release_notes_112.html
index 71ea63e..4636789 100644
--- a/release_notes_112.html
+++ b/release_notes_112.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1611,7 +1569,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_113.html b/release_notes_113.html
index 8debe0f..15c74ac 100644
--- a/release_notes_113.html
+++ b/release_notes_113.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1611,7 +1569,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_115.html b/release_notes_115.html
index bcb1a99..9ebcd34 100644
--- a/release_notes_115.html
+++ b/release_notes_115.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1599,7 +1557,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_120.html b/release_notes_120.html
index 5417868..7d05473 100644
--- a/release_notes_120.html
+++ b/release_notes_120.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1671,7 +1629,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_121.html b/release_notes_121.html
index 1351906..80f327f 100644
--- a/release_notes_121.html
+++ b/release_notes_121.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1598,7 +1556,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_130.html b/release_notes_130.html
index c356a28..1c0decf 100644
--- a/release_notes_130.html
+++ b/release_notes_130.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1688,7 +1646,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/release_notes_140.html b/release_notes_140.html
index d13f1d2..229723b 100644
--- a/release_notes_140.html
+++ b/release_notes_140.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1665,7 +1623,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/sandbox.html b/sandbox.html
index 2acbf01..235651d 100644
--- a/sandbox.html
+++ b/sandbox.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -1634,7 +1592,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_architecture.html b/tag_architecture.html
index ea52ba0..925c3d9 100644
--- a/tag_architecture.html
+++ b/tag_architecture.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2395,7 +2353,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_blog.html b/tag_blog.html
index 4935a03..a2ac9ae 100644
--- a/tag_blog.html
+++ b/tag_blog.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2551,7 +2509,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_client_sdk.html b/tag_client_sdk.html
index 9dbb62d..41bce77 100644
--- a/tag_client_sdk.html
+++ b/tag_client_sdk.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2381,7 +2339,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_connectivity.html b/tag_connectivity.html
index 6713598..f53cb41 100644
--- a/tag_connectivity.html
+++ b/tag_connectivity.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2467,7 +2425,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_getting_started.html b/tag_getting_started.html
index 0e91c8b..63bbaa9 100644
--- a/tag_getting_started.html
+++ b/tag_getting_started.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2395,7 +2353,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_http.html b/tag_http.html
index 1e600fd..45b3762 100644
--- a/tag_http.html
+++ b/tag_http.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2389,7 +2347,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_installation.html b/tag_installation.html
index 79899a2..198272b 100644
--- a/tag_installation.html
+++ b/tag_installation.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2371,7 +2329,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_model.html b/tag_model.html
index f02cba7..b063c15 100644
--- a/tag_model.html
+++ b/tag_model.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2431,7 +2389,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_news.html b/tag_news.html
index 56b496a..7818d5f 100644
--- a/tag_news.html
+++ b/tag_news.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2353,7 +2311,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_protocol.html b/tag_protocol.html
index 19d7ff6..0c9ee6e 100644
--- a/tag_protocol.html
+++ b/tag_protocol.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2523,7 +2481,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_release_notes.html b/tag_release_notes.html
index f022465..5ed4ded 100644
--- a/tag_release_notes.html
+++ b/tag_release_notes.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2497,7 +2455,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_rql.html b/tag_rql.html
index ff19d87..a440e27 100644
--- a/tag_rql.html
+++ b/tag_rql.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2419,7 +2377,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_search.html b/tag_search.html
index 2f5386e..44ac7cc 100644
--- a/tag_search.html
+++ b/tag_search.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2389,7 +2347,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_signal.html b/tag_signal.html
index a8de4fc..f13210d 100644
--- a/tag_signal.html
+++ b/tag_signal.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2388,7 +2346,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
diff --git a/tag_troubleshooting.html b/tag_troubleshooting.html
index 8758989..21b4203 100644
--- a/tag_troubleshooting.html
+++ b/tag_troubleshooting.html
@@ -1458,48 +1458,6 @@
 
 <!-- this highlights the active parent class in the sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
 <script>$("li.active").parents('li').toggleClass("active");
-
-$(function() {
-  $("#dev-warning").hide();
-  changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
-  $("#docVersion").change(changeSelectedDocVersion);
-});
-
-function changeSelectedDocVersionDropdownSelection(element) {
-  var pathName = window.location.pathname;
-
-  var versionOptions = element.options;
-  for (var i = 0; i < versionOptions.length; i++) {
-    var versionValue = versionOptions[i].value;
-    if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
-      $("#docVersion").val(versionValue).change();
-      return;
-    }
-  }
-  // fallback: dev with "empty" version value:
-  $("#docVersion").val("").change();
-  $("#dev-warning").show();
-}
-function changeSelectedDocVersion() {
-  var versionValue = $('#docVersion').val();
-  var remainingPath = window.location.pathname.replace("/ditto/", "");
-  var versionMatch = remainingPath.match("([0-9].[0.9])/(.*)");
-  if (versionValue === "" && !versionMatch) {
-    // do nothing, we're already on the correct "dev" version
-  } else if (versionMatch && (versionValue === versionMatch[1])) {
-    // do nothing, we're already on the correct version
-  } else {
-    if (versionValue === "" && versionMatch) {
-      window.location.pathname = "ditto/" + versionMatch[2];
-    } else if (versionValue === "") {
-      window.location.pathname = "ditto/" + remainingPath;
-    } else if (versionMatch) {
-      window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
-    } else {
-      window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
-    }
-  }
-}
 </script>
 
             </div>
@@ -2359,7 +2317,7 @@
                     </div>
                     <p class="notice">
                         &copy;2020 Eclipse Ditto.
-                         Site last generated: Oct 30, 2020 <br />
+                         Site last generated: Nov 2, 2020 <br />
                     </p>
                     <div class="quickLinks">
                         <a href="https://www.eclipse.org/legal/privacy.php" target="_blank">
