This is an automated email from the ASF dual-hosted git repository.

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

commit 92a3957d24e04a63c3a4dad8b9959d3712018270
Author: Mergebot <merge...@apache.org>
AuthorDate: Thu Jun 21 23:02:35 2018 -0700

    Prepare repository for deployment.
---
 content/community/contact-us/index.html            |   6 +-
 content/contribute/become-a-committer/index.html   |   1 +
 content/contribute/committer-guide/index.html      |   1 +
 .../{portability => dependencies}/index.html       | 230 +++++----------------
 content/contribute/design-documents/index.html     |   1 +
 content/contribute/docker-images/index.html        |   1 +
 content/contribute/eclipse/index.html              |   1 +
 content/contribute/index.html                      |   1 +
 content/contribute/intellij/index.html             |   1 +
 content/contribute/portability/index.html          |   1 +
 .../contribute/ptransform-style-guide/index.html   |   1 +
 content/contribute/release-guide/index.html        |   1 +
 content/contribute/runner-guide/index.html         |   1 +
 content/contribute/testing/index.html              |   1 +
 .../contribute/website-contributions/index.html    |   1 +
 content/get-started/downloads/index.html           |  20 +-
 16 files changed, 76 insertions(+), 193 deletions(-)

diff --git a/content/community/contact-us/index.html 
b/content/community/contact-us/index.html
index 98242a5..60adf84 100644
--- a/content/community/contact-us/index.html
+++ b/content/community/contact-us/index.html
@@ -154,10 +154,8 @@ whichever one seems best!</p>
     </tr>
   </tbody>
 </table>
-             
-If you wish to report a security vulnerability, please contact <a 
href="mailto:secur...@apache.org";>secur...@apache.org</a>.
-Apache Beam follows the typical <a 
href="https://apache.org/security/committers.html#vulnerability-handling";>Apache
 vulnerability handling process</a>.
-             
+
+
       </div>
     </div>
     <footer class="footer">
diff --git a/content/contribute/become-a-committer/index.html 
b/content/contribute/become-a-committer/index.html
index 3d17119..cc9817e 100644
--- a/content/contribute/become-a-committer/index.html
+++ b/content/contribute/become-a-committer/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/committer-guide/index.html 
b/content/contribute/committer-guide/index.html
index 1206e88..10a5c4d 100644
--- a/content/contribute/committer-guide/index.html
+++ b/content/contribute/committer-guide/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/portability/index.html 
b/content/contribute/dependencies/index.html
similarity index 50%
copy from content/contribute/portability/index.html
copy to content/contribute/dependencies/index.html
index 0e20980..20719ae 100644
--- a/content/contribute/portability/index.html
+++ b/content/contribute/dependencies/index.html
@@ -4,7 +4,7 @@
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <title>Portability Framework</title>
+  <title>Dependencies Guide</title>
   <meta name="description" content="Apache Beam is an open source, unified 
model and set of language-specific SDKs for defining and executing data 
processing workflows, and also data ingestion and integration flows, supporting 
Enterprise Integration Patterns (EIPs) and Domain Specific Languages (DSLs). 
Dataflow pipelines simplify the mechanics of large-scale batch and streaming 
data processing and can run on a number of runtimes like Apache Flink, Apache 
Spark, and Google Cloud Dataflow  [...]
 ">
   <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400"; 
rel="stylesheet">
@@ -15,7 +15,7 @@
   <script src="/js/fix-menu.js"></script>
   <script src="/js/section-nav.js"></script>
   <script src="/js/page-nav.js"></script>
-  <link rel="canonical" href="https://beam.apache.org/contribute/portability/"; 
data-proofer-ignore>
+  <link rel="canonical" 
href="https://beam.apache.org/contribute/dependencies/"; data-proofer-ignore>
   <link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico">
   <link rel="alternate" type="application/rss+xml" title="Apache Beam" 
href="https://beam.apache.org/feed.xml";>
   <script>
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
@@ -128,209 +129,80 @@
         
 
 <ul class="nav">
-  <li><a href="#overview">Overview</a></li>
-  <li><a href="#design">Design</a></li>
-  <li><a href="#development">Development</a>
-    <ul>
-      <li><a href="#roadmap">Roadmap</a></li>
-      <li><a href="#issues">Issues</a></li>
-      <li><a href="#status">Status</a></li>
-    </ul>
-  </li>
+  <li><a href="#identifying-outdated-dependencies">Identifying outdated 
dependencies</a></li>
+  <li><a href="#upgrading-identified-outdated-dependencies">Upgrading 
identified outdated dependencies</a></li>
+  <li><a href="#dependency-updates-and-backwards-compatibility">Dependency 
updates and backwards compatibility</a></li>
 </ul>
 
 
       </nav>
 
       <div class="body__contained body__section-nav">
-        <h1 id="portability-framework">Portability Framework</h1>
-
-<ul id="markdown-toc">
-  <li><a href="#overview" id="markdown-toc-overview">Overview</a></li>
-  <li><a href="#design" id="markdown-toc-design">Design</a></li>
-  <li><a href="#development" id="markdown-toc-development">Development</a>    
<ul>
-      <li><a href="#roadmap" id="markdown-toc-roadmap">Roadmap</a></li>
-      <li><a href="#issues" id="markdown-toc-issues">Issues</a></li>
-      <li><a href="#status" id="markdown-toc-status">Status</a></li>
-    </ul>
-  </li>
-</ul>
+        <h1 id="dependencies-guide">Dependencies Guide</h1>
 
-<h2 id="overview">Overview</h2>
-
-<p>Interoperability between SDKs and runners is a key aspect of Apache
-Beam. So far, however, the reality is that most runners support the
-Java SDK only, because each SDK-runner combination requires non-trivial
-work on both sides. All runners are also currently written in Java,
-which makes support of non-Java SDKs far more expensive. The
-<em>portability framework</em> aims to rectify this situation and provide
-full interoperability across the Beam ecosystem.</p>
-
-<p>The portability framework introduces well-defined, language-neutral
-data structures and protocols between the SDK and runner. This interop
-layer – called the <em>portability API</em> – ensures that SDKs and runners
-can work with each other uniformly, reducing the interoperability
-burden for both SDKs and runners to a constant effort.  It notably
-ensures that <em>new</em> SDKs automatically work with existing runners and
-vice versa.  The framework introduces a new runner, the <em>Universal
-Local Runner (ULR)</em>, as a practical reference implementation that
-complements the direct runners. Finally, it enables cross-language
-pipelines (sharing I/O or transformations across SDKs) and
-user-customized execution environments (“custom containers”).</p>
-
-<p>The portability API consists of a set of smaller contracts that
-isolate SDKs and runners for job submission, management and
-execution. These contracts use protobufs and gRPC for broad language
-support.</p>
+<p>This document describes policies for keeping Beam dependencies up to 
date.</p>
 
-<ul>
-  <li>
-    <p><strong>Job submission and management</strong>: The <em>Runner API</em> 
defines a
-language-neutral pipeline representation with transformations
-specifying the execution environment as a docker container
-image. The latter both allows the execution side to set up the
-right environment as well as opens the door for custom containers
-and cross-environment pipelines. The <em>Job API</em> allows pipeline
-execution and configuration to be managed uniformly.</p>
-  </li>
-  <li>
-    <p><strong>Job execution</strong>: The <em>SDK harness</em> is a 
SDK-provided
-program responsible for executing user code and is run separately
-from the runner.  The <em>Fn API</em> defines an execution-time binary
-contract between the SDK harness and the runner that describes how
-execution tasks are managed and how data is transferred. In
-addition, the runner needs to handle progress and monitoring in an
-efficient and language-neutral way. SDK harness initialization
-relies on the <em>Provision</em> and <em>Artifact APIs</em> for obtaining 
staged
-files, pipeline options and environment information. Docker
-provides isolation between the runner and SDK/user environments to
-the benefit of both as defined by the <em>container contract</em>. The
-containerization of the SDK gives it (and the user, unless the SDK
-is closed) full control over its own environment without risk of
-dependency conflicts. The runner has significant freedom regarding
-how it manages the SDK harness containers.</p>
-  </li>
-</ul>
+<p>Old dependencies cause user pain and can result in a system being unusable 
for some users. Many users do not use Beam in isolation and bundle other 
dependencies in the same deployment. These additional dependencies might pull 
in incompatible dependencies to user’s environment which can again result in 
broken Beam pipelines, sometimes with undefined behavior. To prevent this, 
users will have to update their deployment environment or worse yet may end up 
not being able to use Beam along [...]
 
-<p>The goal is that all (non-direct) runners and SDKs eventually support
-the portability API, perhaps exclusively.</p>
+<p>Beam Java SDK’s Gradle build defines a set of top level <a 
href="https://github.com/apache/beam/blob/master/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy";>dependencies</a>
 and various components (runners, IO connectors, etc) can choose to include 
these dependencies. Components usually use the versions defined at the top 
level but may choose to override these versions.</p>
 
-<h2 id="design">Design</h2>
+<p>If a component <em>X</em> chooses to override the version of a dependency 
<em>D</em> from <em>a</em> to <em>b</em> and another component <em>Y</em> is 
incompatible with version <em>b</em> of <em>D</em>, deployment of a user that 
uses both components <em>X</em> and <em>Y</em> will end up in a broken 
state.</p>
 
-<p>The <a href="https://github.com/apache/beam/tree/master/model";>model 
protos</a>
-contain all aspects of the portability API and is the truth on the
-ground. The proto definitions supercede any design documents. The main
-design documents are the following:</p>
+<p>A similar issue could arise if two dependencies of Beam depend on a common 
library but use incompatible versions of that library.</p>
 
-<ul>
-  <li>
-    <p><a href="https://s.apache.org/beam-runner-api";>Runner API</a>. Pipeline
-representation and discussion on primitive/composite transforms and
-optimizations.</p>
-  </li>
-  <li>
-    <p><a href="https://s.apache.org/beam-job-api";>Job API</a>. Job submission 
and
-management protocol.</p>
-  </li>
-  <li>
-    <p><a href="https://s.apache.org/beam-fn-api";>Fn API</a>. Execution-side 
control
-and data protocols and overview.</p>
-  </li>
-  <li>
-    <p><a href="https://s.apache.org/beam-fn-api-container-contract";>Container
-contract</a>.
-Execution-side docker container invocation and provisioning
-protocols. See
-<a 
href="https://github.com/apache/beam/blob/master/sdks/CONTAINERS.md";>CONTAINERS.md</a>
-for how to build container images.</p>
-  </li>
-</ul>
+<p>Also, users might not use Beam in isolation, a user that depends on Beam as 
well as other libraries in the same environment might run into similar issues 
if Beam and the other library share a dependency while using incompatible 
versions.</p>
 
-<p>In discussion:</p>
+<p>Beam Python SDK handles dependencies slightly differently, all dependencies 
are defined in a single <a 
href="https://github.com/apache/beam/blob/master/sdks/python/setup.py";>setup.py</a>
 file and are grouped. One of the groups describes required dependencies while 
other groups are for defining dependencies for various optional features. All 
Python modules have to use the versions of dependencies defined in <a 
href="https://github.com/apache/beam/blob/master/sdks/python/setup.py";>setup 
[...]
 
-<ul>
-  <li><a href="https://s.apache.org/beam-mixed-language-pipelines";>Cross
-language</a>. Options
-and tradeoffs for how to handle various kinds of
-multi-language/multi-SDK pipelines.</li>
-</ul>
+<p>This picture can become even more complicated during runtime. Runner 
specific code might be incompatible with dependencies included by certain 
modules and if these dependencies leak into runtime, a pipeline might end up in 
a broken state.</p>
+
+<p>The overall issue is not common to Beam and well known in the industry as 
the Diamond <a href="https://en.wikipedia.org/wiki/Dependency_hell";>Dependency 
problem (or Dependency Hell)</a>.</p>
 
-<h2 id="development">Development</h2>
+<p>One common solution for the diamond dependency problem is <a 
href="https://semver.org/";>semantic versioning</a>. The basic idea is that 
dependencies will be versioned in the form <em>x.y.z</em> where <em>x</em> is 
the <em>major version</em>, <em>y</em> is the <em>minor version</em>, and 
<em>z</em> is the <em>patch version</em>. A major version change may be 
backwards incompatible and is expected to be rare. Minor and patch versions may 
be released more regularly but are expected to be [...]
 
-<p>The portability framework is a substantial effort that touches every
-Beam component. In addition to the sheer magnitude, a major challenge
-is engineering an interop layer that does not significantly compromise
-performance due to the additional serialization overhead of a
-language-neutral protocol.</p>
+<h2 id="identifying-outdated-dependencies">Identifying outdated 
dependencies</h2>
 
-<h3 id="roadmap">Roadmap</h3>
+<p>A big part of keeping dependencies up to date involves identifying outdated 
dependencies of Beam that the community should try to upgrade.</p>
 
-<p>The proposed project phases are roughly as follows and are not
-strictly sequential, as various components will likely move at
-different speeds. Additionally, there have been (and continues to be)
-supporting refactorings that are not always tracked as part of the
-portability effort. Work already done is not tracked here either.</p>
+<p>Beam currently executes a weekly Jenkins job that tries to identify 
outdated dependencies for various SDKs. This Jenkins job generates a weekly 
report that is shared in Beam dev list. In the future we hope to automatically 
create JIRAs based on this report.</p>
 
+<p>In addition to this, Beam community members might identify other critical 
dependency updates that have to be manually performed. For example,</p>
 <ul>
-  <li>
-    <p><strong>P1 [MVP]</strong>: Implement the fundamental plumbing for 
portable SDKs
-and runners for batch and streaming, including containers and the
-ULR
-[<a href="https://issues.apache.org/jira/browse/BEAM-2899";>BEAM-2899</a>]. Each
-SDK and runner should use the portability framework at least to the
-extent that wordcount
-[<a href="https://issues.apache.org/jira/browse/BEAM-2896";>BEAM-2896</a>] and
-windowed wordcount
-[<a href="https://issues.apache.org/jira/browse/BEAM-2941";>BEAM-2941</a>] run
-portably.</p>
-  </li>
-  <li>
-    <p><strong>P2 [Feature complete]</strong>: Design and implement 
portability support
-for remaining execution-side features, so that any pipeline from
-any SDK can run portably on any runner. These features include side
-inputs
-[<a href="https://issues.apache.org/jira/browse/BEAM-2863";>BEAM-2863</a>], User
-timers
-[<a href="https://issues.apache.org/jira/browse/BEAM-2925";>BEAM-2925</a>],
-Splittable DoFn
-[<a href="https://issues.apache.org/jira/browse/BEAM-2896";>BEAM-2896</a>] and
-more.  Each SDK and runner should use the portability framework at
-least to the extent that the mobile gaming examples
-[<a href="https://issues.apache.org/jira/browse/BEAM-2940";>BEAM-2940</a>] run
-portably.</p>
-  </li>
-  <li>
-    <p><strong>P3 [Performance]</strong>: Measure and tune performance of 
portable
-pipelines using benchmarks such as Nexmark. Features such as
-progress reporting
-[<a href="https://issues.apache.org/jira/browse/BEAM-2940";>BEAM-2940</a>],
-combiner lifting
-[<a href="https://issues.apache.org/jira/browse/BEAM-2937";>BEAM-2937</a>] and
-fusion are expected to be needed.</p>
-  </li>
-  <li>
-    <p><strong>P4 [Cross language]</strong>: Design and implement 
cross-language
-pipeline support, including how the ecosystem of shared transforms
-should work.</p>
-  </li>
+  <li>A minor release of a dependency due to a critical security 
vulnerability.</li>
+  <li>A dependency conflict that was was triggered by a minor version release 
of a Beam dependency (this does not apply to Java SDK that depends on exact 
minor versions of dependencies).</li>
 </ul>
 
-<h3 id="issues">Issues</h3>
+<p>These kind of urgently required upgrades might not get automatically picked 
up by the Jenkins job for few months. So Beam community has to act to identify 
such issues and perform upgrades early.</p>
+
+<h2 id="upgrading-identified-outdated-dependencies">Upgrading identified 
outdated dependencies</h2>
+
+<p>After outdated dependencies are identified, Beam community has to act to 
upgrade the dependencies regularly. Beam community has agreed on following 
policies regarding upgrading dependencies.</p>
+
+<p><strong>Human readable reports on status of Beam dependencies are generated 
weekly by an automated Jenkins job and shared with the Beam community through 
the dev list.</strong></p>
+
+<p>These reports should be concise and should highlight the cases where the 
community has to act on.</p>
+
+<p><strong>Beam components should define dependencies and their versions at 
the top level. There can be rare exceptions, but they should come with 
explanations.</strong></p>
+
+<p>Components include various Beam runners, IO connectors, etc. 
Component-level dependency version declarations should only be performed in 
rare cases and should come with a comment explaining the reasoning for 
overriding the dependency. For example, dependencies specific to a runner that 
are unlikely to be utilized by other components might be defined at the 
runner.</p>
+
+<p><strong>A significantly outdated dependency (identified manually or through 
the automated Jenkins job) should result in a JIRA that is a blocker for the 
next release. Release manager may choose to push the blocker to the subsequent 
release or downgrade from a blocker.</strong></p>
+
+<p>This will be a blocker for next major and minor version releases of Beam. 
JIRA may be created automatically or manually.</p>
+
+<p>For manually identified critical dependency updates, Beam community members 
should create blocking JIRAs for next release. In addition to this Beam 
community members may trigger patch releases for any critical dependency fixes 
that should be made available to users urgently.</p>
+
+<p><strong>Dependency declarations may identify owners that are responsible 
for upgrading respective dependencies.</strong></p>
+
+<p>Owners can be mentioned in a comment. Blocking JIRAs will be initially 
assigned to these owners (if available). Release manager may choose to 
re-assign these JIRAs. A dependency may have more than one declared owner and 
in this case the JIRA will be assigned to one of the owners mentioned.</p>
 
-<p>The portability effort touches every component, so the “portability”
-label is used to identify all portability-related issues. Pure
-design or proto definitions should use the “beam-model” component. A
-common pattern for new portability features is that the overall
-feature is in “beam-model” with subtasks for each SDK and runner in
-their respective components.</p>
+<p><strong>Dependencies of Java SDK components that may cause issues to other 
components if leaked should be vendored.</strong></p>
 
-<p><strong>JIRA:</strong> <a 
href="https://issues.apache.org/jira/issues/?filter=12341256";>query</a></p>
+<p><a 
href="https://www.ardanlabs.com/blog/2013/10/manage-dependencies-with-godep.html";>Vendoring</a>
 is the process of creating copies of third party dependencies. Combined with 
repackaging, vendoring will allow Beam components to depend on third party 
libraries without causing conflicts to other components. Vendoring should be 
done in a case-by-case basis since this can increase the total number of 
dependencies deployed in user’s enviroment.</p>
 
-<h3 id="status">Status</h3>
+<h2 id="dependency-updates-and-backwards-compatibility">Dependency updates and 
backwards compatibility</h2>
 
-<p>MVP in progress. See the
-<a 
href="https://docs.google.com/spreadsheets/d/1KDa_FGn1ShjomGd-UUDOhuh2q73de2tPz6BqHpzqvNI/edit?usp=sharing";>Portability
 support table</a>
-for details.</p>
+<p>Beam releases <a 
href="https://beam.apache.org/get-started/downloads/";>adhere to</a> semantic 
versioning. Hence, community members should take care when updating 
dependencies. Minor version updates to dependencies should be backwards 
compatible in most cases. Some updates to dependencies though may result in 
backwards incompatible API or functionality changes to Beam. PR reviewers and 
committers should take care to detect any dependency updates that could 
potentially introduce backwar [...]
 
       </div>
     </div>
diff --git a/content/contribute/design-documents/index.html 
b/content/contribute/design-documents/index.html
index 3e934bb..80563f0 100644
--- a/content/contribute/design-documents/index.html
+++ b/content/contribute/design-documents/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/docker-images/index.html 
b/content/contribute/docker-images/index.html
index 733414a..2b57912 100644
--- a/content/contribute/docker-images/index.html
+++ b/content/contribute/docker-images/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/eclipse/index.html 
b/content/contribute/eclipse/index.html
index 5d426bd..0efe216 100644
--- a/content/contribute/eclipse/index.html
+++ b/content/contribute/eclipse/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/index.html b/content/contribute/index.html
index 4a8ce28..491e2a3 100644
--- a/content/contribute/index.html
+++ b/content/contribute/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/intellij/index.html 
b/content/contribute/intellij/index.html
index da67921..469fad6 100644
--- a/content/contribute/intellij/index.html
+++ b/content/contribute/intellij/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/portability/index.html 
b/content/contribute/portability/index.html
index 0e20980..119a96b 100644
--- a/content/contribute/portability/index.html
+++ b/content/contribute/portability/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/ptransform-style-guide/index.html 
b/content/contribute/ptransform-style-guide/index.html
index 048fbbd..5795f99 100644
--- a/content/contribute/ptransform-style-guide/index.html
+++ b/content/contribute/ptransform-style-guide/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/release-guide/index.html 
b/content/contribute/release-guide/index.html
index bb0c973..82247d6 100644
--- a/content/contribute/release-guide/index.html
+++ b/content/contribute/release-guide/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/runner-guide/index.html 
b/content/contribute/runner-guide/index.html
index a926f78..6ed5398 100644
--- a/content/contribute/runner-guide/index.html
+++ b/content/contribute/runner-guide/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/testing/index.html 
b/content/contribute/testing/index.html
index 7bd7696..5946c1d 100644
--- a/content/contribute/testing/index.html
+++ b/content/contribute/testing/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/contribute/website-contributions/index.html 
b/content/contribute/website-contributions/index.html
index babcfdc..abfec0f 100644
--- a/content/contribute/website-contributions/index.html
+++ b/content/contribute/website-contributions/index.html
@@ -108,6 +108,7 @@
     <li><a href="/contribute/portability/">Portability Framework</a></li>
     <li><a href="/contribute/docker-images/">Docker images</a></li>
     <li><a href="/contribute/design-documents/">Design documents</a></li>
+    <li><a href="/contribute/dependencies/">Dependencies guide</a></li>
   </ul>
 </li>
 <li>
diff --git a/content/get-started/downloads/index.html 
b/content/get-started/downloads/index.html
index cfb7dd8..fa3ac0c 100644
--- a/content/get-started/downloads/index.html
+++ b/content/get-started/downloads/index.html
@@ -213,52 +213,52 @@ versions denoted <code 
class="highlighter-rouge">0.x.y</code>.</p>
 <p><a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12341608";>Release
 notes</a>.</p>
 
 <h3 id="230-2018-01-30">2.3.0 (2018-01-30)</h3>
-<p>Official <a 
href="https://www.apache.org/dyn/closer.cgi?filename=beam/2.3.0/apache-beam-2.3.0-source-release.zip&amp;action=download";>source
 code download</a>.</p>
+<p>Official <a 
href="https://archive.apache.org/dist/beam/2.3.0/apache-beam-2.3.0-source-release.zip";>source
 code download</a>.</p>
 
 <p><a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12341608";>Release
 notes</a>.</p>
 
 <h3 id="220-2017-12-02">2.2.0 (2017-12-02)</h3>
-<p>Official <a 
href="https://www.apache.org/dyn/closer.cgi?filename=beam/2.2.0/apache-beam-2.2.0-source-release.zip&amp;action=download";>source
 code download</a>.</p>
+<p>Official <a 
href="https://archive.apache.org/dist/beam/2.2.0/apache-beam-2.2.0-source-release.zip";>source
 code download</a>.</p>
 
 <p><a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12341044";>Release
 notes</a>.</p>
 
 <h3 id="210-2017-08-23">2.1.0 (2017-08-23)</h3>
-<p>Official <a 
href="https://www.apache.org/dyn/closer.cgi?filename=beam/2.1.0/apache-beam-2.1.0-source-release.zip&amp;action=download";>source
 code download</a>.</p>
+<p>Official <a 
href="https://archive.apache.org/dist/beam/2.1.0/apache-beam-2.1.0-source-release.zip";>source
 code download</a>.</p>
 
 <p><a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12340528";>Release
 notes</a>.</p>
 
 <h3 id="200-2017-05-17">2.0.0 (2017-05-17)</h3>
-<p>Official <a 
href="https://www.apache.org/dyn/closer.cgi?filename=beam/2.0.0/apache-beam-2.0.0-source-release.zip&amp;action=download";>source
 code download</a>.</p>
+<p>Official <a 
href="https://archive.apache.org/dist/beam/2.0.0/apache-beam-2.0.0-source-release.zip";>source
 code download</a>.</p>
 
 <p><a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12339746";>Release
 notes</a>.</p>
 
 <h3 id="060-2017-03-11">0.6.0 (2017-03-11)</h3>
-<p>Official <a 
href="https://www.apache.org/dyn/closer.cgi?filename=beam/0.6.0/apache-beam-0.6.0-source-release.zip&amp;action=download";>source
 code download</a>.</p>
+<p>Official <a 
href="https://archive.apache.org/dist/beam/0.6.0/apache-beam-0.6.0-source-release.zip";>source
 code download</a>.</p>
 
 <p><a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12339256";>Release
 notes</a>.</p>
 
 <h3 id="050-2017-02-02">0.5.0 (2017-02-02)</h3>
-<p>Official <a 
href="https://www.apache.org/dyn/closer.cgi?filename=beam/0.5.0/apache-beam-0.5.0-source-release.zip&amp;action=download";>source
 code download</a>.</p>
+<p>Official <a 
href="https://archive.apache.org/dist/beam/0.5.0/apache-beam-0.5.0-source-release.zip";>source
 code download</a>.</p>
 
 <p><a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12338859";>Release
 notes</a>.</p>
 
 <h3 id="040-2016-12-29">0.4.0 (2016-12-29)</h3>
-<p>Official <a 
href="https://www.apache.org/dyn/closer.cgi?filename=beam/0.4.0/apache-beam-0.4.0-source-release.zip&amp;action=download";>source
 code download</a>.</p>
+<p>Official <a 
href="https://archive.apache.org/dist/beam/0.4.0/apache-beam-0.4.0-source-release.zip";>source
 code download</a>.</p>
 
 <p><a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12338590";>Release
 notes</a>.</p>
 
 <h3 id="030-incubating-2016-10-31">0.3.0-incubating (2016-10-31)</h3>
-<p>Official <a 
href="https://www.apache.org/dyn/closer.cgi?filename=beam/0.3.0-incubating/apache-beam-0.3.0-incubating-source-release.zip&amp;action=download";>source
 code download</a>.</p>
+<p>Official <a 
href="https://archive.apache.org/dist/beam/0.3.0-incubating/apache-beam-0.3.0-incubating-source-release.zip";>source
 code download</a>.</p>
 
 <p><a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12338051";>Release
 notes</a>.</p>
 
 <h3 id="020-incubating-2016-08-08">0.2.0-incubating (2016-08-08)</h3>
-<p>Official <a 
href="https://www.apache.org/dyn/closer.cgi?filename=beam/0.2.0-incubating/apache-beam-0.2.0-incubating-source-release.zip&amp;action=download";>source
 code download</a>.</p>
+<p>Official <a 
href="https://archive.apache.org/dist/beam/0.2.0-incubating/apache-beam-0.2.0-incubating-source-release.zip";>source
 code download</a>.</p>
 
 <p><a 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12335766";>Release
 notes</a>.</p>
 
 <h3 id="010-incubating-2016-06-15">0.1.0-incubating (2016-06-15)</h3>
-<p>Official <a 
href="https://www.apache.org/dyn/closer.cgi?filename=beam/0.1.0-incubating/apache-beam-0.1.0-incubating-source-release.zip&amp;action=download";>source
 code download</a>.</p>
+<p>Official <a 
href="https://archive.apache.org/dist/beam/0.1.0-incubating/apache-beam-0.1.0-incubating-source-release.zip";>source
 code download</a>.</p>
 
 <p>The first incubating release of Apache Beam.</p>
 

Reply via email to