beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mergebot-r...@apache.org
Subject [beam-site] 01/02: Adds guidance on how to test transform configuration/validation
Date Tue, 29 Aug 2017 21:11:15 GMT
This is an automated email from the ASF dual-hosted git repository.

mergebot-role pushed a commit to branch mergebot
in repository https://gitbox.apache.org/repos/asf/beam-site.git

commit 09ea01eae10366137ce0c5000d104f391bf57220
Author: Eugene Kirpichov <kirpichov@google.com>
AuthorDate: Thu Aug 24 14:36:37 2017 -0700

    Adds guidance on how to test transform configuration/validation
---
 .../capability/2016/03/17/capability-matrix.html   |  4 +--
 .../2016/04/03/presentation-materials.html         |  4 +--
 .../sdk/2016/02/25/python-sdk-now-public.html      |  4 +--
 content/beam/release/2016/06/15/first-release.html |  4 +--
 .../2016/10/11/strata-hadoop-world-and-beam.html   |  4 +--
 .../update/website/2016/02/22/beam-has-a-logo.html |  4 +--
 .../blog/2016/05/18/splitAtFraction-method.html    |  4 +--
 .../05/27/where-is-my-pcollection-dot-map.html     |  4 +--
 .../2016/06/13/flink-batch-runner-milestone.html   |  4 +--
 content/blog/2016/08/03/six-months.html            |  4 +--
 content/blog/2016/10/20/test-stream.html           |  6 ++--
 content/blog/2017/01/09/added-apex-runner.html     |  4 +--
 content/blog/2017/01/10/beam-graduates.html        |  4 +--
 .../blog/2017/02/01/graduation-media-recap.html    |  4 +--
 content/blog/2017/02/13/stateful-processing.html   |  4 +--
 content/blog/2017/03/16/python-sdk-release.html    |  4 +--
 .../blog/2017/05/17/beam-first-stable-release.html |  4 +--
 content/blog/2017/08/16/splittable-do-fn.html      | 14 ++++----
 content/blog/index.html                            |  4 +--
 content/coming-soon.html                           |  4 +--
 content/contribute/contribution-guide/index.html   |  4 +--
 content/contribute/design-principles/index.html    |  4 +--
 content/contribute/index.html                      |  4 +--
 content/contribute/logos/index.html                |  4 +--
 content/contribute/maturity-model/index.html       |  4 +--
 .../contribute/presentation-materials/index.html   |  4 +--
 .../contribute/ptransform-style-guide/index.html   | 37 +++++++++++++++++++---
 content/contribute/release-guide/index.html        |  4 +--
 content/contribute/runner-guide/index.html         |  4 +--
 content/contribute/source-repository/index.html    |  4 +--
 content/contribute/team/index.html                 |  4 +--
 content/contribute/testing/index.html              |  4 +--
 content/contribute/work-in-progress/index.html     |  4 +--
 content/documentation/dsls/sql/index.html          | 10 +++---
 content/documentation/index.html                   |  4 +--
 content/documentation/io/authoring-java/index.html |  4 +--
 .../documentation/io/authoring-overview/index.html |  4 +--
 .../documentation/io/authoring-python/index.html   |  4 +--
 .../documentation/io/built-in/hadoop/index.html    |  4 +--
 content/documentation/io/built-in/index.html       |  4 +--
 content/documentation/io/contributing/index.html   |  4 +--
 content/documentation/io/io-toc/index.html         |  4 +--
 content/documentation/io/testing/index.html        |  4 +--
 .../pipelines/create-your-pipeline/index.html      |  4 +--
 .../pipelines/design-your-pipeline/index.html      |  4 +--
 .../pipelines/test-your-pipeline/index.html        |  8 ++---
 content/documentation/programming-guide/index.html | 18 +++++------
 content/documentation/resources/index.html         |  4 +--
 content/documentation/runners/apex/index.html      |  4 +--
 .../runners/capability-matrix/index.html           |  4 +--
 content/documentation/runners/dataflow/index.html  | 10 +++---
 content/documentation/runners/direct/index.html    | 16 +++++-----
 content/documentation/runners/flink/index.html     |  8 ++---
 content/documentation/runners/gearpump/index.html  |  8 ++---
 content/documentation/runners/spark/index.html     |  6 ++--
 .../documentation/sdks/java-extensions/index.html  |  4 +--
 content/documentation/sdks/java/index.html         |  4 +--
 .../documentation/sdks/python-custom-io/index.html |  4 +--
 .../sdks/python-pipeline-dependencies/index.html   |  4 +--
 .../sdks/python-type-safety/index.html             |  4 +--
 content/documentation/sdks/python/index.html       |  4 +--
 content/feed.xml                                   | 12 +++----
 content/get-started/beam-overview/index.html       |  4 +--
 content/get-started/downloads/index.html           | 12 +++----
 content/get-started/index.html                     |  4 +--
 .../get-started/mobile-gaming-example/index.html   |  4 +--
 content/get-started/quickstart-java/index.html     |  6 ++--
 content/get-started/quickstart-py/index.html       |  4 +--
 content/get-started/support/index.html             |  4 +--
 content/get-started/wordcount-example/index.html   |  4 +--
 content/index.html                                 |  4 +--
 content/privacy_policy/index.html                  |  4 +--
 src/contribute/ptransform-style-guide.md           | 18 ++++++++++-
 73 files changed, 232 insertions(+), 189 deletions(-)

diff --git a/content/beam/capability/2016/03/17/capability-matrix.html b/content/beam/capability/2016/03/17/capability-matrix.html
index 0df2653..1d9acdf 100644
--- a/content/beam/capability/2016/03/17/capability-matrix.html
+++ b/content/beam/capability/2016/03/17/capability-matrix.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/beam/capability/2016/04/03/presentation-materials.html b/content/beam/capability/2016/04/03/presentation-materials.html
index bdd61b9..75cf42a 100644
--- a/content/beam/capability/2016/04/03/presentation-materials.html
+++ b/content/beam/capability/2016/04/03/presentation-materials.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/beam/python/sdk/2016/02/25/python-sdk-now-public.html b/content/beam/python/sdk/2016/02/25/python-sdk-now-public.html
index d737f3e..d489989 100644
--- a/content/beam/python/sdk/2016/02/25/python-sdk-now-public.html
+++ b/content/beam/python/sdk/2016/02/25/python-sdk-now-public.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/beam/release/2016/06/15/first-release.html b/content/beam/release/2016/06/15/first-release.html
index dd90e4b..35d724f 100644
--- a/content/beam/release/2016/06/15/first-release.html
+++ b/content/beam/release/2016/06/15/first-release.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/beam/update/2016/10/11/strata-hadoop-world-and-beam.html b/content/beam/update/2016/10/11/strata-hadoop-world-and-beam.html
index 22554a5..ada433b 100644
--- a/content/beam/update/2016/10/11/strata-hadoop-world-and-beam.html
+++ b/content/beam/update/2016/10/11/strata-hadoop-world-and-beam.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/beam/update/website/2016/02/22/beam-has-a-logo.html b/content/beam/update/website/2016/02/22/beam-has-a-logo.html
index 790fadc..bee26f0 100644
--- a/content/beam/update/website/2016/02/22/beam-has-a-logo.html
+++ b/content/beam/update/website/2016/02/22/beam-has-a-logo.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/blog/2016/05/18/splitAtFraction-method.html b/content/blog/2016/05/18/splitAtFraction-method.html
index 13550f5..506fb89 100644
--- a/content/blog/2016/05/18/splitAtFraction-method.html
+++ b/content/blog/2016/05/18/splitAtFraction-method.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/blog/2016/05/27/where-is-my-pcollection-dot-map.html b/content/blog/2016/05/27/where-is-my-pcollection-dot-map.html
index 86f4052..13a491e 100644
--- a/content/blog/2016/05/27/where-is-my-pcollection-dot-map.html
+++ b/content/blog/2016/05/27/where-is-my-pcollection-dot-map.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/blog/2016/06/13/flink-batch-runner-milestone.html b/content/blog/2016/06/13/flink-batch-runner-milestone.html
index 8714ec1..8e1e826 100644
--- a/content/blog/2016/06/13/flink-batch-runner-milestone.html
+++ b/content/blog/2016/06/13/flink-batch-runner-milestone.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/blog/2016/08/03/six-months.html b/content/blog/2016/08/03/six-months.html
index 0bfa705..0e16d91 100644
--- a/content/blog/2016/08/03/six-months.html
+++ b/content/blog/2016/08/03/six-months.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/blog/2016/10/20/test-stream.html b/content/blog/2016/10/20/test-stream.html
index 18aebaf..12886cc 100644
--- a/content/blog/2016/10/20/test-stream.html
+++ b/content/blog/2016/10/20/test-stream.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -203,7 +203,7 @@ be controlled within a test.</p>
 <h2 id="writing-deterministic-tests-to-emulate-nondeterminism">Writing Deterministic Tests to Emulate Nondeterminism</h2>
 
 <p>The Beam testing infrastructure provides the
-<a href="/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/testing/PAssert.html">PAssert</a>
+<a href="/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/testing/PAssert.html">PAssert</a>
 methods, which assert properties about the contents of a PCollection from within
 a pipeline. We have expanded this infrastructure to include
 <a href="https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/testing/TestStream.java">TestStream</a>,
diff --git a/content/blog/2017/01/09/added-apex-runner.html b/content/blog/2017/01/09/added-apex-runner.html
index a6c8347..922b5d8 100644
--- a/content/blog/2017/01/09/added-apex-runner.html
+++ b/content/blog/2017/01/09/added-apex-runner.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/blog/2017/01/10/beam-graduates.html b/content/blog/2017/01/10/beam-graduates.html
index 2a6cc3d..2ac6d05 100644
--- a/content/blog/2017/01/10/beam-graduates.html
+++ b/content/blog/2017/01/10/beam-graduates.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/blog/2017/02/01/graduation-media-recap.html b/content/blog/2017/02/01/graduation-media-recap.html
index 0a9f9af..8747b34 100644
--- a/content/blog/2017/02/01/graduation-media-recap.html
+++ b/content/blog/2017/02/01/graduation-media-recap.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/blog/2017/02/13/stateful-processing.html b/content/blog/2017/02/13/stateful-processing.html
index 763748e..e7bdd15 100644
--- a/content/blog/2017/02/13/stateful-processing.html
+++ b/content/blog/2017/02/13/stateful-processing.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/blog/2017/03/16/python-sdk-release.html b/content/blog/2017/03/16/python-sdk-release.html
index 5039258..c3bb091 100644
--- a/content/blog/2017/03/16/python-sdk-release.html
+++ b/content/blog/2017/03/16/python-sdk-release.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/blog/2017/05/17/beam-first-stable-release.html b/content/blog/2017/05/17/beam-first-stable-release.html
index 8441aa8..c07fc3d 100644
--- a/content/blog/2017/05/17/beam-first-stable-release.html
+++ b/content/blog/2017/05/17/beam-first-stable-release.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/blog/2017/08/16/splittable-do-fn.html b/content/blog/2017/08/16/splittable-do-fn.html
index 7a4a2ed..a09006a 100644
--- a/content/blog/2017/08/16/splittable-do-fn.html
+++ b/content/blog/2017/08/16/splittable-do-fn.html
@@ -72,12 +72,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -216,22 +216,22 @@ has other limitations that make it insufficient for this task</em>).</p>
 <h2 id="beam-source-api">Beam Source API</h2>
 
 <p>Apache Beam historically provides a Source API
-(<a href="/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/io/BoundedSource.html">BoundedSource</a>
+(<a href="/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/BoundedSource.html">BoundedSource</a>
 and
-<a href="/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/io/UnboundedSource.html">UnboundedSource</a>) which does
+<a href="/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/UnboundedSource.html">UnboundedSource</a>) which does
 not have these limitations and allows development of efficient data sources for
 batch and streaming systems. Pipelines use this API via the
-<a href="/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/io/Read.html"><code class="highlighter-rouge">Read.from(Source)</code></a> built-in <code class="highlighter-rouge">PTransform</code>.</p>
+<a href="/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/Read.html"><code class="highlighter-rouge">Read.from(Source)</code></a> built-in <code class="highlighter-rouge">PTransform</code>.</p>
 
 <p>The Source API is largely similar to that of most other data processing
 frameworks, and allows the system to read data in parallel using multiple
 workers, as well as checkpoint and resume reading from an unbounded data source.
 Additionally, the Beam
-<a href="/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/io/BoundedSource.html"><code class="highlighter-rouge">BoundedSource</code></a>
+<a href="/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/BoundedSource.html"><code class="highlighter-rouge">BoundedSource</code></a>
 API provides advanced features such as progress reporting and <a href="/blog/2016/05/18/splitAtFraction-method.html">dynamic
 rebalancing</a>
 (which together enable autoscaling), and
-<a href="/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/io/UnboundedSource.html"><code class="highlighter-rouge">UnboundedSource</code></a> supports
+<a href="/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/UnboundedSource.html"><code class="highlighter-rouge">UnboundedSource</code></a> supports
 reporting the source’s watermark and backlog <em>(until SDF, we believed that
 “batch” and “streaming” data sources are fundamentally different and thus
 require fundamentally different APIs)</em>.</p>
diff --git a/content/blog/index.html b/content/blog/index.html
index 8d9fc46..687699c 100644
--- a/content/blog/index.html
+++ b/content/blog/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/coming-soon.html b/content/coming-soon.html
index f42483c..ec4ff18 100644
--- a/content/coming-soon.html
+++ b/content/coming-soon.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/contribution-guide/index.html b/content/contribute/contribution-guide/index.html
index db9f7b7..63d705b 100644
--- a/content/contribute/contribution-guide/index.html
+++ b/content/contribute/contribution-guide/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/design-principles/index.html b/content/contribute/design-principles/index.html
index 9697f7f..fef4266 100644
--- a/content/contribute/design-principles/index.html
+++ b/content/contribute/design-principles/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/index.html b/content/contribute/index.html
index 6af45c0..5c74047 100644
--- a/content/contribute/index.html
+++ b/content/contribute/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/logos/index.html b/content/contribute/logos/index.html
index 07b262a..1d0ccc7 100644
--- a/content/contribute/logos/index.html
+++ b/content/contribute/logos/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/maturity-model/index.html b/content/contribute/maturity-model/index.html
index dd1abbd..e2a1c8b 100644
--- a/content/contribute/maturity-model/index.html
+++ b/content/contribute/maturity-model/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/presentation-materials/index.html b/content/contribute/presentation-materials/index.html
index d333ccd..9207f52 100644
--- a/content/contribute/presentation-materials/index.html
+++ b/content/contribute/presentation-materials/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/ptransform-style-guide/index.html b/content/contribute/ptransform-style-guide/index.html
index 3130df7..23cf5d0 100644
--- a/content/contribute/ptransform-style-guide/index.html
+++ b/content/contribute/ptransform-style-guide/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -163,7 +163,11 @@
       <li><a href="#performance" id="markdown-toc-performance">Performance</a></li>
       <li><a href="#documentation" id="markdown-toc-documentation">Documentation</a></li>
       <li><a href="#logging" id="markdown-toc-logging">Logging</a></li>
-      <li><a href="#testing" id="markdown-toc-testing">Testing</a></li>
+      <li><a href="#testing" id="markdown-toc-testing">Testing</a>        <ul>
+          <li><a href="#testing-the-transforms-run-time-behavior" id="markdown-toc-testing-the-transforms-run-time-behavior">Testing the transform’s run-time behavior</a></li>
+          <li><a href="#testing-transform-construction-and-validation" id="markdown-toc-testing-transform-construction-and-validation">Testing transform construction and validation</a></li>
+        </ul>
+      </li>
       <li><a href="#compatibility" id="markdown-toc-compatibility">Compatibility</a></li>
     </ul>
   </li>
@@ -378,6 +382,8 @@ E.g. when expanding a filepattern into files, log what the filepattern was and h
 
 <p>Data processing is tricky, full of corner cases, and difficult to debug, because pipelines take a long time to run, it’s hard to check if the output is correct, you can’t attach a debugger, and you often can’t log as much as you wish to, due to high volume of data. Because of that, testing is particularly important.</p>
 
+<h4 id="testing-the-transforms-run-time-behavior">Testing the transform’s run-time behavior</h4>
+
 <ul>
   <li>Unit-test the overall semantics of the transform using <code class="highlighter-rouge">TestPipeline</code> and <code class="highlighter-rouge">PAssert</code>. Start with testing against the direct runner. Assertions on <code class="highlighter-rouge">PCollection</code> contents should be strict: e.g. when a read from a database is expected to read the numbers 1 through 10, assert not just that there are 10 elements in the output <code class="highlighter-rouge">PCollection</code>, o [...]
   <li>Identify non-trivial sequential logic in the transform that is prone to corner cases which are difficult to reliably simulate using a <code class="highlighter-rouge">TestPipeline</code>, extract this logic into unit-testable functions, and unit-test them. Common corner cases are:
@@ -397,14 +403,35 @@ E.g. when expanding a filepattern into files, log what the filepattern was and h
   <li>For detailed instructions on test code organization, see the <a href="/contribute/testing/">Beam Testing Guide</a>.</li>
 </ul>
 
+<h4 id="testing-transform-construction-and-validation">Testing transform construction and validation</h4>
+
+<p>The code for constructing and validating a transform is usually trivial and mostly boilerplate. However, minor mistakes or typos in it can have serious consequences (e.g. ignoring a property that the user has set), so it needs to be tested as well. Yet, an excessive amount of trivial tests can be hard to maintain and give a false impression that the transform is well-tested.</p>
+
+<p>Do:</p>
+<ul>
+  <li>Test non-trivial validation code: where missing/incorrect/uninformative validation may lead to serious problems: data loss, counter-intuitive behavior, value of a property being silently ignored, or other hard-to-debug errors. Create 1 test per non-trivial class of validation error. Some examples of validation that should be tested:
+    <ul>
+      <li>If properties <code class="highlighter-rouge">withFoo()</code> and <code class="highlighter-rouge">withBar()</code> cannot both be specified at the same time, test that a transform specifying both of them is rejected, rather than one of the properties being silently ignored at runtime.</li>
+      <li>If the transform is known to behave incorrectly or counter-intuitively for a particular configuration, test that this configuration is rejected, rather than producing wrong results at runtime. For example, a transform might work properly only for bounded collections, or only for globally-windowed collections. Or, suppose a streaming system supports several levels of “quality of service”, one of which is “exactly once delivery”. However, a transform that writes to this system mi [...]
+    </ul>
+  </li>
+  <li>Test that each <code class="highlighter-rouge">withFoo()</code> method (including each overload) has effect (is not ignored), using <code class="highlighter-rouge">TestPipeline</code> and <code class="highlighter-rouge">PAssert</code> to create tests where the expected test results depend on the value of <code class="highlighter-rouge">withFoo()</code>.</li>
+</ul>
+
+<p>Do not:</p>
+<ul>
+  <li>Do not test successful validation (e.g. “validation does not fail when the transform is configured correctly”)</li>
+  <li>Do not test trivial validation errors (e.g. “validation fails when a property is unset/null/empty/negative/…”)</li>
+</ul>
+
 <h3 id="compatibility">Compatibility</h3>
 
 <p>Do:</p>
 
 <ul>
   <li>Generally, follow the rules of <a href="http://semver.org/">semantic versioning</a>.</li>
-  <li>If the API of the transform is not yet stable, annotate it as <code class="highlighter-rouge">@Experimental</code> (Java) or <code class="highlighter-rouge">@experimental</code> (<a href="https://beam.apache.org/documentation/sdks/pydoc/2.1.0/apache_beam.utils.html#module-apache_beam.utils.annotations">Python</a>).</li>
-  <li>If the API deprecated, annotate it as <code class="highlighter-rouge">@Deprecated</code> (Java) or <code class="highlighter-rouge">@deprecated</code> (<a href="https://beam.apache.org/documentation/sdks/pydoc/2.1.0/apache_beam.utils.html#module-apache_beam.utils.annotations">Python</a>).</li>
+  <li>If the API of the transform is not yet stable, annotate it as <code class="highlighter-rouge">@Experimental</code> (Java) or <code class="highlighter-rouge">@experimental</code> (<a href="https://beam.apache.org/documentation/sdks/pydoc/2.0.0/apache_beam.utils.html#module-apache_beam.utils.annotations">Python</a>).</li>
+  <li>If the API deprecated, annotate it as <code class="highlighter-rouge">@Deprecated</code> (Java) or <code class="highlighter-rouge">@deprecated</code> (<a href="https://beam.apache.org/documentation/sdks/pydoc/2.0.0/apache_beam.utils.html#module-apache_beam.utils.annotations">Python</a>).</li>
   <li>Pay attention to the stability and versioning of third-party classes exposed by the transform’s API: if they are unstable or improperly versioned (do not obey <a href="http://semver.org/">semantic versioning</a>), it is better to wrap them in your own classes.</li>
 </ul>
 
diff --git a/content/contribute/release-guide/index.html b/content/contribute/release-guide/index.html
index 254ff4b..7c56bd3 100644
--- a/content/contribute/release-guide/index.html
+++ b/content/contribute/release-guide/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/runner-guide/index.html b/content/contribute/runner-guide/index.html
index e520912..32b4736 100644
--- a/content/contribute/runner-guide/index.html
+++ b/content/contribute/runner-guide/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/source-repository/index.html b/content/contribute/source-repository/index.html
index c8948b7..b73d9a9 100644
--- a/content/contribute/source-repository/index.html
+++ b/content/contribute/source-repository/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/team/index.html b/content/contribute/team/index.html
index cd3aa8a..e3400d8 100644
--- a/content/contribute/team/index.html
+++ b/content/contribute/team/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/testing/index.html b/content/contribute/testing/index.html
index be9d832..2b3ef89 100644
--- a/content/contribute/testing/index.html
+++ b/content/contribute/testing/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/contribute/work-in-progress/index.html b/content/contribute/work-in-progress/index.html
index c2c02e6..65d5b33 100644
--- a/content/contribute/work-in-progress/index.html
+++ b/content/contribute/work-in-progress/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/dsls/sql/index.html b/content/documentation/dsls/sql/index.html
index dc501b5..db44449 100644
--- a/content/documentation/dsls/sql/index.html
+++ b/content/documentation/dsls/sql/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -166,8 +166,8 @@
 <p>There are two main pieces to the SQL DSL API:</p>
 
 <ul>
-  <li><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/values/BeamRecord.html">BeamRecord</a>: a new data type used to define composite records (i.e., rows) that consist of multiple, named columns of primitive data types. All SQL DSL queries must be made against collections of type <code class="highlighter-rouge">PCollection&lt;BeamRecord&gt;</code>. Note that <code class="highlighter-rouge">BeamRecord</code> itself is not SQL-specific, however, and may also be u [...]
-  <li><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/extensions/sql/BeamSql.html">BeamSql</a>: the interface for creating <code class="highlighter-rouge">PTransforms</code> from SQL queries.</li>
+  <li><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/values/BeamRecord.html">BeamRecord</a>: a new data type used to define composite records (i.e., rows) that consist of multiple, named columns of primitive data types. All SQL DSL queries must be made against collections of type <code class="highlighter-rouge">PCollection&lt;BeamRecord&gt;</code>. Note that <code class="highlighter-rouge">BeamRecord</code> itself is not SQL-specific, however, and may also be u [...]
+  <li><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/extensions/sql/BeamSql.html">BeamSql</a>: the interface for creating <code class="highlighter-rouge">PTransforms</code> from SQL queries.</li>
 </ul>
 
 <p>We’ll look at each of these below.</p>
@@ -176,7 +176,7 @@
 
 <h2 id="beamrecord">BeamRecord</h2>
 
-<p>Before applying a SQL query to a <code class="highlighter-rouge">PCollection</code>, the data in the collection must be in <code class="highlighter-rouge">BeamRecord</code> format. A <code class="highlighter-rouge">BeamRecord</code> represents a single, immutable row in a Beam SQL <code class="highlighter-rouge">PCollection</code>. The names and types of the fields/columns in the record are defined by its associated <a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam [...]
+<p>Before applying a SQL query to a <code class="highlighter-rouge">PCollection</code>, the data in the collection must be in <code class="highlighter-rouge">BeamRecord</code> format. A <code class="highlighter-rouge">BeamRecord</code> represents a single, immutable row in a Beam SQL <code class="highlighter-rouge">PCollection</code>. The names and types of the fields/columns in the record are defined by its associated <a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam [...]
 
 <p>A <code class="highlighter-rouge">PCollection&lt;BeamRecord&gt;</code> can be created explicitly or implicitly:</p>
 
diff --git a/content/documentation/index.html b/content/documentation/index.html
index fcf54a4..0539df6 100644
--- a/content/documentation/index.html
+++ b/content/documentation/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/io/authoring-java/index.html b/content/documentation/io/authoring-java/index.html
index 6a042e7..24fca91 100644
--- a/content/documentation/io/authoring-java/index.html
+++ b/content/documentation/io/authoring-java/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/io/authoring-overview/index.html b/content/documentation/io/authoring-overview/index.html
index e381b7c..96e8fca 100644
--- a/content/documentation/io/authoring-overview/index.html
+++ b/content/documentation/io/authoring-overview/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/io/authoring-python/index.html b/content/documentation/io/authoring-python/index.html
index dbdf6a9..c5d91e4 100644
--- a/content/documentation/io/authoring-python/index.html
+++ b/content/documentation/io/authoring-python/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/io/built-in/hadoop/index.html b/content/documentation/io/built-in/hadoop/index.html
index 35045ba..1d871c4 100644
--- a/content/documentation/io/built-in/hadoop/index.html
+++ b/content/documentation/io/built-in/hadoop/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/io/built-in/index.html b/content/documentation/io/built-in/index.html
index b3ae670..e5e2bb3 100644
--- a/content/documentation/io/built-in/index.html
+++ b/content/documentation/io/built-in/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/io/contributing/index.html b/content/documentation/io/contributing/index.html
index 088ba9e..e4ee894 100644
--- a/content/documentation/io/contributing/index.html
+++ b/content/documentation/io/contributing/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/io/io-toc/index.html b/content/documentation/io/io-toc/index.html
index 08c620a..92d2b58 100644
--- a/content/documentation/io/io-toc/index.html
+++ b/content/documentation/io/io-toc/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/io/testing/index.html b/content/documentation/io/testing/index.html
index 6a33589..3e1541c 100644
--- a/content/documentation/io/testing/index.html
+++ b/content/documentation/io/testing/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/pipelines/create-your-pipeline/index.html b/content/documentation/pipelines/create-your-pipeline/index.html
index 59fa56b..26a275c 100644
--- a/content/documentation/pipelines/create-your-pipeline/index.html
+++ b/content/documentation/pipelines/create-your-pipeline/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/pipelines/design-your-pipeline/index.html b/content/documentation/pipelines/design-your-pipeline/index.html
index 317ffb4..0494681 100644
--- a/content/documentation/pipelines/design-your-pipeline/index.html
+++ b/content/documentation/pipelines/design-your-pipeline/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/pipelines/test-your-pipeline/index.html b/content/documentation/pipelines/test-your-pipeline/index.html
index 73f8fc5..ba246bc 100644
--- a/content/documentation/pipelines/test-your-pipeline/index.html
+++ b/content/documentation/pipelines/test-your-pipeline/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -322,7 +322,7 @@ for the <code class="highlighter-rouge">DoFnTester</code> as follows:</p>
 <p>You can use the <code class="highlighter-rouge">Create</code> transform to create a <code class="highlighter-rouge">PCollection</code> out of a standard in-memory collection class, such as Java <code class="highlighter-rouge">List</code>. See <a href="/documentation/programming-guide/#pcollection">Creating a PCollection</a> for more information.</p>
 
 <h3 id="passert">PAssert</h3>
-<p><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/testing/PAssert.html">PAssert</a> is a class included in the Beam Java SDK  that is an assertion on the contents of a <code class="highlighter-rouge">PCollection</code>. You can use <code class="highlighter-rouge">PAssert</code>to verify that a <code class="highlighter-rouge">PCollection</code> contains a specific set of expected elements.</p>
+<p><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/testing/PAssert.html">PAssert</a> is a class included in the Beam Java SDK  that is an assertion on the contents of a <code class="highlighter-rouge">PCollection</code>. You can use <code class="highlighter-rouge">PAssert</code>to verify that a <code class="highlighter-rouge">PCollection</code> contains a specific set of expected elements.</p>
 
 <p>For a given <code class="highlighter-rouge">PCollection</code>, you can use <code class="highlighter-rouge">PAssert</code> to verify the contents as follows:</p>
 
@@ -348,7 +348,7 @@ for the <code class="highlighter-rouge">DoFnTester</code> as follows:</p>
 </code></pre>
 </div>
 
-<p>For more information on how these classes work, see the <a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/testing/package-summary.html">org.apache.beam.sdk.testing</a> package documentation.</p>
+<p>For more information on how these classes work, see the <a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/testing/package-summary.html">org.apache.beam.sdk.testing</a> package documentation.</p>
 
 <h3 id="an-example-test-for-a-composite-transform">An Example Test for a Composite Transform</h3>
 
diff --git a/content/documentation/programming-guide/index.html b/content/documentation/programming-guide/index.html
index 077f321..de273cc 100644
--- a/content/documentation/programming-guide/index.html
+++ b/content/documentation/programming-guide/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -221,7 +221,7 @@
 
 <h2 id="a-namepipelineacreating-the-pipeline"><a name="pipeline"></a>Creating the pipeline</h2>
 
-<p>The <code class="highlighter-rouge">Pipeline</code> abstraction encapsulates all the data and steps in your data processing task. Your Beam driver program typically starts by constructing a <span class="language-java"><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/Pipeline.html">Pipeline</a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/pipeline.py">Pipeline</a></span> object, and then using that  [...]
+<p>The <code class="highlighter-rouge">Pipeline</code> abstraction encapsulates all the data and steps in your data processing task. Your Beam driver program typically starts by constructing a <span class="language-java"><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/Pipeline.html">Pipeline</a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/pipeline.py">Pipeline</a></span> object, and then using that  [...]
 
 <p>To use Beam, your driver program must first create an instance of the Beam SDK class <code class="highlighter-rouge">Pipeline</code> (typically in the <code class="highlighter-rouge">main()</code> function). When you create your <code class="highlighter-rouge">Pipeline</code>, you’ll also need to set some <strong>configuration options</strong>. You can set your pipeline’s configuration options programatically, but it’s often easier to set the options ahead of time (or read them from t [...]
 
@@ -344,7 +344,7 @@
 
 <h2 id="a-namepcollectionaworking-with-pcollections"><a name="pcollection"></a>Working with PCollections</h2>
 
-<p>The <span class="language-java"><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/values/PCollection.html">PCollection</a></span><span class="language-py"><code class="highlighter-rouge">PCollection</code></span> abstraction represents a potentially distributed, multi-element data set. You can think of a <code class="highlighter-rouge">PCollection</code> as “pipeline” data; Beam transforms use <code class="highlighter-rouge">PCollection</code> objects as inputs [...]
+<p>The <span class="language-java"><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/values/PCollection.html">PCollection</a></span><span class="language-py"><code class="highlighter-rouge">PCollection</code></span> abstraction represents a potentially distributed, multi-element data set. You can think of a <code class="highlighter-rouge">PCollection</code> as “pipeline” data; Beam transforms use <code class="highlighter-rouge">PCollection</code> objects as inputs [...]
 
 <p>After you’ve created your <code class="highlighter-rouge">Pipeline</code>, you’ll need to begin by creating at least one <code class="highlighter-rouge">PCollection</code> in some form. The <code class="highlighter-rouge">PCollection</code> you create serves as the input for the first operation in your pipeline.</p>
 
@@ -760,7 +760,7 @@ guest, [[], [order4]]
 
 <h4 id="a-nametransforms-combineausing-combine"><a name="transforms-combine"></a>Using Combine</h4>
 
-<p><span class="language-java"><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/transforms/Combine.html"><code class="highlighter-rouge">Combine</code></a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/core.py"><code class="highlighter-rouge">Combine</code></a></span> is a Beam transform for combining collections of elements or values in your data. <code class="highlighter-rouge">Combine</co [...]
+<p><span class="language-java"><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/transforms/Combine.html"><code class="highlighter-rouge">Combine</code></a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/core.py"><code class="highlighter-rouge">Combine</code></a></span> is a Beam transform for combining collections of elements or values in your data. <code class="highlighter-rouge">Combine</co [...]
 
 <p>When you apply a <code class="highlighter-rouge">Combine</code> transform, you must provide the function that contains the logic for combining the elements or values. The combining function should be commutative and associative, as the function is not necessarily invoked exactly once on all values with a given key. Because the input data (including the value collection) may be distributed across multiple workers, the combining function might be called multiple times to perform partial [...]
 
@@ -956,7 +956,7 @@ guest, [[], [order4]]
 
 <h4 id="a-nametransforms-flatten-partitionausing-flatten-and-partition"><a name="transforms-flatten-partition"></a>Using Flatten and Partition</h4>
 
-<p><span class="language-java"><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/transforms/Flatten.html"><code class="highlighter-rouge">Flatten</code></a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/core.py"><code class="highlighter-rouge">Flatten</code></a></span> and <span class="language-java"><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/transforms/Partitio [...]
+<p><span class="language-java"><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/transforms/Flatten.html"><code class="highlighter-rouge">Flatten</code></a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/core.py"><code class="highlighter-rouge">Flatten</code></a></span> and <span class="language-java"><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/transforms/Partitio [...]
 
 <h5 id="flatten"><strong>Flatten</strong></h5>
 
@@ -1307,8 +1307,8 @@ guest, [[], [order4]]
 
 <p>The Beam SDK comes packed with many useful composite transforms. See the API reference pages for a list of transforms:</p>
 <ul>
-  <li><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/transforms/package-summary.html">Pre-written Beam transforms for Java</a></li>
-  <li><a href="/documentation/sdks/pydoc/2.1.0/apache_beam.transforms.html">Pre-written Beam transforms for Python</a></li>
+  <li><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/transforms/package-summary.html">Pre-written Beam transforms for Java</a></li>
+  <li><a href="/documentation/sdks/pydoc/2.0.0/apache_beam.transforms.html">Pre-written Beam transforms for Python</a></li>
 </ul>
 
 <h3 id="an-example-of-a-composite-transform">An example of a composite transform</h3>
@@ -1710,7 +1710,7 @@ Subsequent transforms, however, are applied to the result of the <code class="hi
 
 <p>You can use windowing with fixed-size data sets in <strong>bounded</strong> <code class="highlighter-rouge">PCollection</code>s. However, note that windowing considers only the implicit timestamps attached to each element of a <code class="highlighter-rouge">PCollection</code>, and data sources that create fixed data sets (such as <code class="highlighter-rouge">TextIO</code>) assign the same timestamp to every element. This means that all the elements are by default part of a single, [...]
 
-<p>To use windowing with fixed data sets, you can assign your own timestamps to each element. To assign timestamps to elements, use a <code class="highlighter-rouge">ParDo</code> transform with a <code class="highlighter-rouge">DoFn</code> that outputs each element with a new timestamp (for example, the <a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/transforms/WithTimestamps.html">WithTimestamps</a> transform in the Beam SDK for Java).</p>
+<p>To use windowing with fixed data sets, you can assign your own timestamps to each element. To assign timestamps to elements, use a <code class="highlighter-rouge">ParDo</code> transform with a <code class="highlighter-rouge">DoFn</code> that outputs each element with a new timestamp (for example, the <a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/transforms/WithTimestamps.html">WithTimestamps</a> transform in the Beam SDK for Java).</p>
 
 <p>To illustrate how windowing with a bounded <code class="highlighter-rouge">PCollection</code> can affect how your pipeline processes data, consider the following pipeline:</p>
 
diff --git a/content/documentation/resources/index.html b/content/documentation/resources/index.html
index 0c9fe9a..2a4ad35 100644
--- a/content/documentation/resources/index.html
+++ b/content/documentation/resources/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/runners/apex/index.html b/content/documentation/runners/apex/index.html
index c8d8ce6..c4254f8 100644
--- a/content/documentation/runners/apex/index.html
+++ b/content/documentation/runners/apex/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/runners/capability-matrix/index.html b/content/documentation/runners/capability-matrix/index.html
index e8211f7..ea0a8f2 100644
--- a/content/documentation/runners/capability-matrix/index.html
+++ b/content/documentation/runners/capability-matrix/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/runners/dataflow/index.html b/content/documentation/runners/dataflow/index.html
index 00236a8..31f5099 100644
--- a/content/documentation/runners/dataflow/index.html
+++ b/content/documentation/runners/dataflow/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -204,7 +204,7 @@
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
   <span class="o">&lt;</span><span class="n">groupId</span><span class="o">&gt;</span><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">beam</span><span class="o">&lt;/</span><span class="n">groupId</span><span class="o">&gt;</span>
   <span class="o">&lt;</span><span class="n">artifactId</span><span class="o">&gt;</span><span class="n">beam</span><span class="o">-</span><span class="n">runners</span><span class="o">-</span><span class="n">google</span><span class="o">-</span><span class="n">cloud</span><span class="o">-</span><span class="n">dataflow</span><span class="o">-</span><span class="n">java</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.1</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.0</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
   <span class="o">&lt;</span><span class="n">scope</span><span class="o">&gt;</span><span class="n">runtime</span><span class="o">&lt;/</span><span class="n">scope</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 </code></pre>
@@ -302,8 +302,8 @@
 </table>
 
 <p>See the reference documentation for the
-<span class="language-java"><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/runners/dataflow/options/DataflowPipelineOptions.html">DataflowPipelineOptions</a></span>
-<span class="language-py"><a href="/documentation/sdks/pydoc/2.1.0/apache_beam.options.html#apache_beam.options.pipeline_options.PipelineOptions"><code class="highlighter-rouge">PipelineOptions</code></a></span>
+<span class="language-java"><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/runners/dataflow/options/DataflowPipelineOptions.html">DataflowPipelineOptions</a></span>
+<span class="language-py"><a href="/documentation/sdks/pydoc/2.0.0/apache_beam.options.html#apache_beam.options.pipeline_options.PipelineOptions"><code class="highlighter-rouge">PipelineOptions</code></a></span>
 interface (and any subinterfaces) for additional pipeline configuration options.</p>
 
 <h2 id="additional-information-and-caveats">Additional information and caveats</h2>
diff --git a/content/documentation/runners/direct/index.html b/content/documentation/runners/direct/index.html
index 16f2ed6..c277ef9 100644
--- a/content/documentation/runners/direct/index.html
+++ b/content/documentation/runners/direct/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -165,8 +165,8 @@
 <p>Here are some resources with information about how to test your pipelines.</p>
 <ul>
   <!-- Java specific links -->
-  <li class="language-java"><a href="/blog/2016/10/20/test-stream.html">Testing Unbounded Pipelines in Apache Beam</a> talks about the use of Java classes <a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/testing/PAssert.html">PAssert</a> and <a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/testing/TestStream.html">TestStream</a> to test your pipelines.</li>
-  <li class="language-java">The <a href="/get-started/wordcount-example/#testing-your-pipeline-via-passert">Apache Beam WordCount Example</a> contains an example of logging and testing a pipeline with <a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/testing/PAssert.html"><code>PAssert</code></a>.</li>
+  <li class="language-java"><a href="/blog/2016/10/20/test-stream.html">Testing Unbounded Pipelines in Apache Beam</a> talks about the use of Java classes <a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/testing/PAssert.html">PAssert</a> and <a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/testing/TestStream.html">TestStream</a> to test your pipelines.</li>
+  <li class="language-java">The <a href="/get-started/wordcount-example/#testing-your-pipeline-via-passert">Apache Beam WordCount Example</a> contains an example of logging and testing a pipeline with <a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/testing/PAssert.html"><code>PAssert</code></a>.</li>
 
   <!-- Python specific links -->
   <li class="language-py">You can use <a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/testing/util.py#L76">assert_that</a> to test your pipeline. The Python <a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/examples/wordcount_debugging.py">WordCount Debugging Example</a> contains an example of logging and testing with <code>assert_that</code>.</li>
@@ -180,7 +180,7 @@
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
    <span class="o">&lt;</span><span class="n">groupId</span><span class="o">&gt;</span><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">beam</span><span class="o">&lt;/</span><span class="n">groupId</span><span class="o">&gt;</span>
    <span class="o">&lt;</span><span class="n">artifactId</span><span class="o">&gt;</span><span class="n">beam</span><span class="o">-</span><span class="n">runners</span><span class="o">-</span><span class="n">direct</span><span class="o">-</span><span class="n">java</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-   <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.1</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+   <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.0</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
    <span class="o">&lt;</span><span class="n">scope</span><span class="o">&gt;</span><span class="n">runtime</span><span class="o">&lt;/</span><span class="n">scope</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 </code></pre>
@@ -193,13 +193,13 @@
 <p>When executing your pipeline from the command-line, set <code class="highlighter-rouge">runner</code> to <code class="highlighter-rouge">direct</code> or <code class="highlighter-rouge">DirectRunner</code>. The default values for the other pipeline options are generally sufficient.</p>
 
 <p>See the reference documentation for the
-<span class="language-java"><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/runners/direct/DirectOptions.html"><code class="highlighter-rouge">DirectOptions</code></a></span>
-<span class="language-py"><a href="/documentation/sdks/pydoc/2.1.0/apache_beam.options.html#apache_beam.options.pipeline_options.DirectOptions"><code class="highlighter-rouge">DirectOptions</code></a></span>
+<span class="language-java"><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/runners/direct/DirectOptions.html"><code class="highlighter-rouge">DirectOptions</code></a></span>
+<span class="language-py"><a href="/documentation/sdks/pydoc/2.0.0/apache_beam.options.html#apache_beam.options.pipeline_options.DirectOptions"><code class="highlighter-rouge">DirectOptions</code></a></span>
 interface for defaults and additional pipeline configuration options.</p>
 
 <h2 id="additional-information-and-caveats">Additional information and caveats</h2>
 
-<p>Local execution is limited by the memory available in your local environment. It is highly recommended that you run your pipeline with data sets small enough to fit in local memory. You can create a small in-memory data set using a <span class="language-java"><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/sdk/transforms/Create.html"><code class="highlighter-rouge">Create</code></a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/mast [...]
+<p>Local execution is limited by the memory available in your local environment. It is highly recommended that you run your pipeline with data sets small enough to fit in local memory. You can create a small in-memory data set using a <span class="language-java"><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/sdk/transforms/Create.html"><code class="highlighter-rouge">Create</code></a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/mast [...]
 
 
     </div>
diff --git a/content/documentation/runners/flink/index.html b/content/documentation/runners/flink/index.html
index 6e42aba..79c8b4a 100644
--- a/content/documentation/runners/flink/index.html
+++ b/content/documentation/runners/flink/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -189,7 +189,7 @@
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
   <span class="o">&lt;</span><span class="n">groupId</span><span class="o">&gt;</span><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">beam</span><span class="o">&lt;/</span><span class="n">groupId</span><span class="o">&gt;</span>
   <span class="o">&lt;</span><span class="n">artifactId</span><span class="o">&gt;</span><span class="n">beam</span><span class="o">-</span><span class="n">runners</span><span class="o">-</span><span class="n">flink_2</span><span class="o">.</span><span class="mi">10</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.1</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.0</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
   <span class="o">&lt;</span><span class="n">scope</span><span class="o">&gt;</span><span class="n">runtime</span><span class="o">&lt;/</span><span class="n">scope</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 </code></pre>
@@ -277,7 +277,7 @@
 </tr>
 </table>
 
-<p>See the reference documentation for the  <span class="language-java"><a href="/documentation/sdks/javadoc/2.1.0/index.html?org/apache/beam/runners/flink/FlinkPipelineOptions.html">FlinkPipelineOptions</a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/options/pipeline_options.py">PipelineOptions</a></span> interface (and its subinterfaces) for the complete list of pipeline configuration options.</p>
+<p>See the reference documentation for the  <span class="language-java"><a href="/documentation/sdks/javadoc/2.0.0/index.html?org/apache/beam/runners/flink/FlinkPipelineOptions.html">FlinkPipelineOptions</a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/options/pipeline_options.py">PipelineOptions</a></span> interface (and its subinterfaces) for the complete list of pipeline configuration options.</p>
 
 <h2 id="additional-information-and-caveats">Additional information and caveats</h2>
 
diff --git a/content/documentation/runners/gearpump/index.html b/content/documentation/runners/gearpump/index.html
index 3ccd39f..95d6f0e 100644
--- a/content/documentation/runners/gearpump/index.html
+++ b/content/documentation/runners/gearpump/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -173,7 +173,7 @@ And your Beam application should also pack Beam SDK explicitly and here is a sni
   <span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
     <span class="o">&lt;</span><span class="n">groupId</span><span class="o">&gt;</span><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">beam</span><span class="o">&lt;/</span><span class="n">groupId</span><span class="o">&gt;</span>
     <span class="o">&lt;</span><span class="n">artifactId</span><span class="o">&gt;</span><span class="n">beam</span><span class="o">-</span><span class="n">runners</span><span class="o">-</span><span class="n">gearpump</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-    <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.1</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+    <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.0</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
   <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 
   <span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
@@ -193,7 +193,7 @@ And your Beam application should also pack Beam SDK explicitly and here is a sni
   <span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
     <span class="o">&lt;</span><span class="n">groupId</span><span class="o">&gt;</span><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">beam</span><span class="o">&lt;/</span><span class="n">groupId</span><span class="o">&gt;</span>
     <span class="o">&lt;</span><span class="n">artifactId</span><span class="o">&gt;</span><span class="n">beam</span><span class="o">-</span><span class="n">sdks</span><span class="o">-</span><span class="n">java</span><span class="o">-</span><span class="n">core</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-    <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.1</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+    <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.0</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
   <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependencies</span><span class="o">&gt;</span>
 
diff --git a/content/documentation/runners/spark/index.html b/content/documentation/runners/spark/index.html
index c7826f5..e9d1ae1 100644
--- a/content/documentation/runners/spark/index.html
+++ b/content/documentation/runners/spark/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -168,7 +168,7 @@ The Spark Runner can execute Spark pipelines just like a native Spark applicatio
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
   <span class="o">&lt;</span><span class="n">groupId</span><span class="o">&gt;</span><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">beam</span><span class="o">&lt;/</span><span class="n">groupId</span><span class="o">&gt;</span>
   <span class="o">&lt;</span><span class="n">artifactId</span><span class="o">&gt;</span><span class="n">beam</span><span class="o">-</span><span class="n">runners</span><span class="o">-</span><span class="n">spark</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.1</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.0</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 </code></pre>
 </div>
diff --git a/content/documentation/sdks/java-extensions/index.html b/content/documentation/sdks/java-extensions/index.html
index ac30e7f..1ca3806 100644
--- a/content/documentation/sdks/java-extensions/index.html
+++ b/content/documentation/sdks/java-extensions/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/sdks/java/index.html b/content/documentation/sdks/java/index.html
index ecf41e4..ed69f85 100644
--- a/content/documentation/sdks/java/index.html
+++ b/content/documentation/sdks/java/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/sdks/python-custom-io/index.html b/content/documentation/sdks/python-custom-io/index.html
index 0874de6..62cd271 100644
--- a/content/documentation/sdks/python-custom-io/index.html
+++ b/content/documentation/sdks/python-custom-io/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/sdks/python-pipeline-dependencies/index.html b/content/documentation/sdks/python-pipeline-dependencies/index.html
index fbed04c..78f3aeb 100644
--- a/content/documentation/sdks/python-pipeline-dependencies/index.html
+++ b/content/documentation/sdks/python-pipeline-dependencies/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/sdks/python-type-safety/index.html b/content/documentation/sdks/python-type-safety/index.html
index 902a4f1..d9ace3c 100644
--- a/content/documentation/sdks/python-type-safety/index.html
+++ b/content/documentation/sdks/python-type-safety/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/documentation/sdks/python/index.html b/content/documentation/sdks/python/index.html
index 24316b3..dfe5607 100644
--- a/content/documentation/sdks/python/index.html
+++ b/content/documentation/sdks/python/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/feed.xml b/content/feed.xml
index eb789b8..977987e 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -589,22 +589,22 @@ has other limitations that make it insufficient for this task&lt;/em&gt;).&lt;/p
 &lt;h2 id=&quot;beam-source-api&quot;&gt;Beam Source API&lt;/h2&gt;
 
 &lt;p&gt;Apache Beam historically provides a Source API
-(&lt;a href=&quot;/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/io/BoundedSource.html&quot;&gt;BoundedSource&lt;/a&gt;
+(&lt;a href=&quot;/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/BoundedSource.html&quot;&gt;BoundedSource&lt;/a&gt;
 and
-&lt;a href=&quot;/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/io/UnboundedSource.html&quot;&gt;UnboundedSource&lt;/a&gt;) which does
+&lt;a href=&quot;/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/UnboundedSource.html&quot;&gt;UnboundedSource&lt;/a&gt;) which does
 not have these limitations and allows development of efficient data sources for
 batch and streaming systems. Pipelines use this API via the
-&lt;a href=&quot;/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/io/Read.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;Read.from(Source)&lt;/code&gt;&lt;/a&gt; built-in &lt;code class=&quot;highlighter-rouge&quot;&gt;PTransform&lt;/code&gt;.&lt;/p&gt;
+&lt;a href=&quot;/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/Read.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;Read.from(Source)&lt;/code&gt;&lt;/a&gt; built-in &lt;code class=&quot;highlighter-rouge&quot;&gt;PTransform&lt;/code&gt;.&lt;/p&gt;
 
 &lt;p&gt;The Source API is largely similar to that of most other data processing
 frameworks, and allows the system to read data in parallel using multiple
 workers, as well as checkpoint and resume reading from an unbounded data source.
 Additionally, the Beam
-&lt;a href=&quot;/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/io/BoundedSource.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;BoundedSource&lt;/code&gt;&lt;/a&gt;
+&lt;a href=&quot;/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/BoundedSource.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;BoundedSource&lt;/code&gt;&lt;/a&gt;
 API provides advanced features such as progress reporting and &lt;a href=&quot;/blog/2016/05/18/splitAtFraction-method.html&quot;&gt;dynamic
 rebalancing&lt;/a&gt;
 (which together enable autoscaling), and
-&lt;a href=&quot;/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/io/UnboundedSource.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;UnboundedSource&lt;/code&gt;&lt;/a&gt; supports
+&lt;a href=&quot;/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/UnboundedSource.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;UnboundedSource&lt;/code&gt;&lt;/a&gt; supports
 reporting the source’s watermark and backlog &lt;em&gt;(until SDF, we believed that
 “batch” and “streaming” data sources are fundamentally different and thus
 require fundamentally different APIs)&lt;/em&gt;.&lt;/p&gt;
@@ -2066,7 +2066,7 @@ be controlled within a test.&lt;/p&gt;
 &lt;h2 id=&quot;writing-deterministic-tests-to-emulate-nondeterminism&quot;&gt;Writing Deterministic Tests to Emulate Nondeterminism&lt;/h2&gt;
 
 &lt;p&gt;The Beam testing infrastructure provides the
-&lt;a href=&quot;/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/testing/PAssert.html&quot;&gt;PAssert&lt;/a&gt;
+&lt;a href=&quot;/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/testing/PAssert.html&quot;&gt;PAssert&lt;/a&gt;
 methods, which assert properties about the contents of a PCollection from within
 a pipeline. We have expanded this infrastructure to include
 &lt;a href=&quot;https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/testing/TestStream.java&quot;&gt;TestStream&lt;/a&gt;,
diff --git a/content/get-started/beam-overview/index.html b/content/get-started/beam-overview/index.html
index e2d6720..4a461f6 100644
--- a/content/get-started/beam-overview/index.html
+++ b/content/get-started/beam-overview/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/get-started/downloads/index.html b/content/get-started/downloads/index.html
index 61e9d6b..cc5a454 100644
--- a/content/get-started/downloads/index.html
+++ b/content/get-started/downloads/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -154,12 +154,12 @@ Java with the <code class="highlighter-rouge">DirectRunner</code>, add the follo
 <div class="highlighter-rouge"><pre class="highlight"><code>&lt;dependency&gt;
   &lt;groupId&gt;org.apache.beam&lt;/groupId&gt;
   &lt;artifactId&gt;beam-sdks-java-core&lt;/artifactId&gt;
-  &lt;version&gt;2.1.0&lt;/version&gt;
+  &lt;version&gt;2.0.0&lt;/version&gt;
 &lt;/dependency&gt;
 &lt;dependency&gt;
   &lt;groupId&gt;org.apache.beam&lt;/groupId&gt;
   &lt;artifactId&gt;beam-runners-direct-java&lt;/artifactId&gt;
-  &lt;version&gt;2.1.0&lt;/version&gt;
+  &lt;version&gt;2.0.0&lt;/version&gt;
   &lt;scope&gt;runtime&lt;/scope&gt;
 &lt;/dependency&gt;
 </code></pre>
@@ -168,7 +168,7 @@ Java with the <code class="highlighter-rouge">DirectRunner</code>, add the follo
 <p>Similarly in Python, if you are using PyPI and want to use the SDK for Python with
 <code class="highlighter-rouge">DirectRunner</code>, add the following requirement to your <code class="highlighter-rouge">setup.py</code> file:</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>apache-beam==2.1.0
+<div class="highlighter-rouge"><pre class="highlight"><code>apache-beam==2.0.0
 </code></pre>
 </div>
 
@@ -186,7 +186,7 @@ at scale.</p>
   <li>incremental version for forward-compatible bug fixes</li>
 </ul>
 
-<p>Please note that APIs marked <a href="/documentation/sdks/javadoc/2.1.0/org/apache/beam/sdk/annotations/Experimental.html"><code class="highlighter-rouge">@Experimental</code></a>
+<p>Please note that APIs marked <a href="/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/annotations/Experimental.html"><code class="highlighter-rouge">@Experimental</code></a>
 may change at any point and are not guaranteed to remain compatible across versions.</p>
 
 <p>Additionally, any API may change before the first stable release, i.e., between versions denoted <code class="highlighter-rouge">0.x.y</code>.</p>
diff --git a/content/get-started/index.html b/content/get-started/index.html
index ab62a08..0cadb1c 100644
--- a/content/get-started/index.html
+++ b/content/get-started/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/get-started/mobile-gaming-example/index.html b/content/get-started/mobile-gaming-example/index.html
index 3a7b739..ef38d94 100644
--- a/content/get-started/mobile-gaming-example/index.html
+++ b/content/get-started/mobile-gaming-example/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/get-started/quickstart-java/index.html b/content/get-started/quickstart-java/index.html
index 59234cc..002a37f 100644
--- a/content/get-started/quickstart-java/index.html
+++ b/content/get-started/quickstart-java/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
@@ -171,7 +171,7 @@
 <div class="highlighter-rouge"><pre class="highlight"><code>$ mvn archetype:generate \
       -DarchetypeGroupId=org.apache.beam \
       -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
-      -DarchetypeVersion=2.1.0 \
+      -DarchetypeVersion=2.0.0 \
       -DgroupId=org.example \
       -DartifactId=word-count-beam \
       -Dversion="0.1" \
diff --git a/content/get-started/quickstart-py/index.html b/content/get-started/quickstart-py/index.html
index faa2081..51fe1ab 100644
--- a/content/get-started/quickstart-py/index.html
+++ b/content/get-started/quickstart-py/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/get-started/support/index.html b/content/get-started/support/index.html
index 10457c0..d3eeb36 100644
--- a/content/get-started/support/index.html
+++ b/content/get-started/support/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/get-started/wordcount-example/index.html b/content/get-started/wordcount-example/index.html
index b557c9e..7ee126a 100644
--- a/content/get-started/wordcount-example/index.html
+++ b/content/get-started/wordcount-example/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/index.html b/content/index.html
index b5b11a6..08b5f05 100644
--- a/content/index.html
+++ b/content/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/content/privacy_policy/index.html b/content/privacy_policy/index.html
index 84ebc64..a9cf983 100644
--- a/content/privacy_policy/index.html
+++ b/content/privacy_policy/index.html
@@ -73,12 +73,12 @@
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">SDKs</li>
             <li><a href="/documentation/sdks/java/">Java SDK</a></li>
-            <li><a href="/documentation/sdks/javadoc/2.1.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/javadoc/2.0.0/" target="_blank">Java SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
             <li><a href="/documentation/sdks/python/">Python SDK</a></li>
-            <li><a href="/documentation/sdks/pydoc/2.1.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
+            <li><a href="/documentation/sdks/pydoc/2.0.0/" target="_blank">Python SDK API Reference <img src="/images/external-link-icon.png"
                                                                                                                                                width="14" height="14"
                                                                                                                                                           alt="External link."></a>
             </li>
diff --git a/src/contribute/ptransform-style-guide.md b/src/contribute/ptransform-style-guide.md
index db69c5a..9f1130e 100644
--- a/src/contribute/ptransform-style-guide.md
+++ b/src/contribute/ptransform-style-guide.md
@@ -153,6 +153,8 @@ Do not:
 
 Data processing is tricky, full of corner cases, and difficult to debug, because pipelines take a long time to run, it's hard to check if the output is correct, you can't attach a debugger, and you often can't log as much as you wish to, due to high volume of data. Because of that, testing is particularly important.
 
+#### Testing the transform's run-time behavior
+
 * Unit-test the overall semantics of the transform using `TestPipeline` and `PAssert`. Start with testing against the direct runner. Assertions on `PCollection` contents should be strict: e.g. when a read from a database is expected to read the numbers 1 through 10, assert not just that there are 10 elements in the output `PCollection`, or that each element is in the range [1, 10] - but assert that each number 1 through 10 appears exactly once.
 * Identify non-trivial sequential logic in the transform that is prone to corner cases which are difficult to reliably simulate using a `TestPipeline`, extract this logic into unit-testable functions, and unit-test them. Common corner cases are:
     * `DoFn`s processing empty bundles
@@ -162,11 +164,25 @@ Data processing is tricky, full of corner cases, and difficult to debug, because
     * Leaks of `Closeable`/`AutoCloseable` resources in failure cases
     * Common corner cases when developing sources: complicated arithmetic in `BoundedSource.split` (e.g. splitting key or offset ranges), iteration over empty data sources or composite data sources that have some empty components.
 * Mock out the interactions with third-party systems, or better, use ["fake"](http://martinfowler.com/articles/mocksArentStubs.html) implementations when available. Make sure that the mocked-out interactions are representative of all interesting cases of the actual behavior of these systems.
-* To unit test `DoFn`s, `CombineFn`s, and `BoundedSource`s, consider using `DoFnTester`, `CombineFnTester`, and `SourceTestUtils` respectively which can exercise the code in non-trivial ways to flesh out potential bugs. 
+* To unit test `DoFn`s, `CombineFn`s, and `BoundedSource`s, consider using `DoFnTester`, `CombineFnTester`, and `SourceTestUtils` respectively which can exercise the code in non-trivial ways to flesh out potential bugs.
 * For transforms that work over unbounded collections, test their behavior in the presence of late or out-of-order data using `TestStream`.
 * Tests must pass 100% of the time, including in hostile, CPU- or network-constrained environments (continuous integration servers). Never put timing-dependent code (e.g. sleeps) into tests. Experience shows that no reasonable amount of sleeping is enough - code can be suspended for more than several seconds.
 * For detailed instructions on test code organization, see the [Beam Testing Guide]({{ site.baseurl }}/contribute/testing/).
 
+#### Testing transform construction and validation
+
+The code for constructing and validating a transform is usually trivial and mostly boilerplate. However, minor mistakes or typos in it can have serious consequences (e.g. ignoring a property that the user has set), so it needs to be tested as well. Yet, an excessive amount of trivial tests can be hard to maintain and give a false impression that the transform is well-tested.
+
+Do:
+* Test non-trivial validation code, where missing/incorrect/uninformative validation may lead to serious problems: data loss, counter-intuitive behavior, value of a property being silently ignored, or other hard-to-debug errors. Create 1 test per non-trivial class of validation error. Some examples of validation that should be tested:
+    * If properties `withFoo()` and `withBar()` cannot both be specified at the same time, test that a transform specifying both of them is rejected, rather than one of the properties being silently ignored at runtime.
+    * If the transform is known to behave incorrectly or counter-intuitively for a particular configuration, test that this configuration is rejected, rather than producing wrong results at runtime. For example, a transform might work properly only for bounded collections, or only for globally-windowed collections. Or, suppose a streaming system supports several levels of "quality of service", one of which is "exactly once delivery". However, a transform that writes to this system might  [...]
+* Test that each `withFoo()` method (including each overload) has effect (is not ignored), using `TestPipeline` and `PAssert` to create tests where the expected test results depend on the value of `withFoo()`.
+
+Do not:
+* Do not test successful validation (e.g. "validation does not fail when the transform is configured correctly")
+* Do not test trivial validation errors (e.g. "validation fails when a property is unset/null/empty/negative/...")
+
 ### Compatibility
 
 Do:

-- 
To stop receiving notification emails like this one, please contact
"commits@beam.apache.org" <commits@beam.apache.org>.

Mime
View raw message