You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by gi...@apache.org on 2019/09/03 21:32:07 UTC

[beam] branch asf-site updated: Publishing website 2019/09/03 21:31:54 at commit 8f01a44

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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 0c45eed  Publishing website 2019/09/03 21:31:54 at commit 8f01a44
0c45eed is described below

commit 0c45eed65f1d19b7c25d8ca879e539e90784894e
Author: jenkins <bu...@apache.org>
AuthorDate: Tue Sep 3 21:31:54 2019 +0000

    Publishing website 2019/09/03 21:31:54 at commit 8f01a44
---
 .../contribute/release-guide/index.html            | 426 +++++++++++++--------
 1 file changed, 267 insertions(+), 159 deletions(-)

diff --git a/website/generated-content/contribute/release-guide/index.html b/website/generated-content/contribute/release-guide/index.html
index b9889ac..a41e884 100644
--- a/website/generated-content/contribute/release-guide/index.html
+++ b/website/generated-content/contribute/release-guide/index.html
@@ -218,45 +218,56 @@
 
 
 <ul class="nav">
-  <li><a href="#introduction">Introduction</a></li>
-  <li><a href="#overview">Overview</a></li>
-  <li><a href="#decide-to-release">Decide to release</a>
+  <li><a href="#introduction">Introduction</a>
     <ul>
+      <li><a href="#overview">Overview</a></li>
+      <li><a href="#decide-to-release">Decide to release</a></li>
       <li><a href="#checklist-to-proceed-to-the-next-step">Checklist to proceed to the next step</a></li>
     </ul>
   </li>
-  <li><a href="#prepare-for-the-release">Prepare for the release</a>
+  <li><a href="#1-prepare-for-the-release">1. Prepare for the release</a>
     <ul>
+      <li><a href="#accounts">Accounts</a></li>
       <li><a href="#one-time-setup-instructions">One-time setup instructions</a></li>
       <li><a href="#create-a-new-version-in-jira">Create a new version in JIRA</a></li>
-      <li><a href="#create-a-release-branch-in-apachebeam-repository">Create a release branch in apache/beam repository</a></li>
+    </ul>
+  </li>
+  <li><a href="#2-create-a-release-branch-in-apachebeam-repository">2. Create a release branch in apache/beam repository</a>
+    <ul>
       <li><a href="#start-a-snapshot-build">Start a snapshot build</a></li>
-      <li><a href="#verify-release-branch">Verify release branch</a></li>
-      <li><a href="#update-and-verify-javadoc">Update and Verify Javadoc</a></li>
-      <li><a href="#triage-release-blocking-issues-in-jira">Triage release-blocking issues in JIRA</a></li>
+    </ul>
+  </li>
+  <li><a href="#3-verify-release-branch">3. Verify release branch</a></li>
+  <li><a href="#4-triage-release-blocking-issues-in-jira">4. Triage release-blocking issues in JIRA</a>
+    <ul>
       <li><a href="#review-release-notes-in-jira">Review Release Notes in JIRA</a></li>
-      <li><a href="#checklist-to-proceed-to-the-next-step-1">Checklist to proceed to the next step</a></li>
+      <li><a href="#review-cherry-picks">Review cherry-picks</a></li>
     </ul>
   </li>
-  <li><a href="#build-a-release-candidate">Build a release candidate</a>
+  <li><a href="#5-build-a-release-candidate">5. Build a release candidate</a>
     <ul>
-      <li><a href="#run-build_release_candidatesh-to-create-rc">Run build_release_candidate.sh to create RC</a></li>
-      <li><a href="#run-all-steps-manually-1">Run all steps manually</a></li>
-      <li><a href="#write-the-beam-blog-post-and-create-a-pull-request">Write the Beam blog post and create a pull request</a></li>
+      <li><a href="#checklist-before-proceeding">Checklist before proceeding</a></li>
+      <li><a href="#run-build_release_candidatesh-to-create-a-release-candidate">Run build_release_candidate.sh to create a release candidate</a></li>
+      <li><a href="#alternative-run-all-steps-manually-1">(Alternative) Run all steps manually</a></li>
+      <li><a href="#build-and-stage-python-wheels">Build and stage python wheels</a></li>
     </ul>
   </li>
-  <li><a href="#vote-on-the-release-candidate">Vote on the release candidate</a>
+  <li><a href="#6-prepare-documents">6. Prepare documents</a>
     <ul>
-      <li><a href="#run-validation-tests">Run validation tests</a></li>
-      <li><a href="#checklist-to-proceed-to-the-finalization-step">Checklist to proceed to the finalization step</a></li>
+      <li><a href="#update-and-verify-javadoc">Update and Verify Javadoc</a></li>
+      <li><a href="#build-the-pydoc-api-reference">Build the Pydoc API reference</a></li>
+      <li><a href="#propose-pull-requests-for-website-updates">Propose pull requests for website updates</a></li>
+      <li><a href="#blog-post">Blog post</a></li>
     </ul>
   </li>
-  <li><a href="#fix-any-issues">Fix any issues</a>
+  <li><a href="#7-vote-and-validate-release-candidate">7. Vote and validate release candidate</a>
     <ul>
-      <li><a href="#checklist-to-proceed-to-the-next-step-3">Checklist to proceed to the next step</a></li>
+      <li><a href="#run-validation-tests">Run validation tests</a></li>
+      <li><a href="#fix-any-issues">Fix any issues</a></li>
+      <li><a href="#checklist-to-proceed-to-the-next-step-2">Checklist to proceed to the next step</a></li>
     </ul>
   </li>
-  <li><a href="#finalize-the-release">Finalize the release</a>
+  <li><a href="#8-finalize-the-release">8. Finalize the release</a>
     <ul>
       <li><a href="#deploy-artifacts-to-maven-central-repository">Deploy artifacts to Maven Central Repository</a></li>
       <li><a href="#deploy-python-artifacts-to-pypi">Deploy Python artifacts to PyPI</a></li>
@@ -264,10 +275,10 @@
       <li><a href="#merge-website-pull-request">Merge website pull request</a></li>
       <li><a href="#mark-the-version-as-released-in-jira">Mark the version as released in JIRA</a></li>
       <li><a href="#recordkeeping-with-asf">Recordkeeping with ASF</a></li>
-      <li><a href="#checklist-to-proceed-to-the-next-step-4">Checklist to proceed to the next step</a></li>
+      <li><a href="#checklist-to-proceed-to-the-next-step-3">Checklist to proceed to the next step</a></li>
     </ul>
   </li>
-  <li><a href="#promote-the-release">Promote the release</a>
+  <li><a href="#9-promote-the-release">9. Promote the release</a>
     <ul>
       <li><a href="#apache-mailing-lists">Apache mailing lists</a></li>
       <li><a href="#social-media">Social media</a></li>
@@ -298,13 +309,14 @@ limitations under the License.
 <h1 id="apache-beam-release-guide">Apache Beam Release Guide</h1>
 
 <ul id="markdown-toc">
-  <li><a href="#introduction" id="markdown-toc-introduction">Introduction</a></li>
-  <li><a href="#overview" id="markdown-toc-overview">Overview</a></li>
-  <li><a href="#decide-to-release" id="markdown-toc-decide-to-release">Decide to release</a>    <ul>
+  <li><a href="#introduction" id="markdown-toc-introduction">Introduction</a>    <ul>
+      <li><a href="#overview" id="markdown-toc-overview">Overview</a></li>
+      <li><a href="#decide-to-release" id="markdown-toc-decide-to-release">Decide to release</a></li>
       <li><a href="#checklist-to-proceed-to-the-next-step" id="markdown-toc-checklist-to-proceed-to-the-next-step">Checklist to proceed to the next step</a></li>
     </ul>
   </li>
-  <li><a href="#prepare-for-the-release" id="markdown-toc-prepare-for-the-release">Prepare for the release</a>    <ul>
+  <li><a href="#1-prepare-for-the-release" id="markdown-toc-1-prepare-for-the-release">1. Prepare for the release</a>    <ul>
+      <li><a href="#accounts" id="markdown-toc-accounts">Accounts</a></li>
       <li><a href="#one-time-setup-instructions" id="markdown-toc-one-time-setup-instructions">One-time setup instructions</a>        <ul>
           <li><a href="#gpg-key" id="markdown-toc-gpg-key">GPG Key</a>            <ul>
               <li><a href="#use-preparation_before_releasesh-to-setup-gpg" id="markdown-toc-use-preparation_before_releasesh-to-setup-gpg">Use preparation_before_release.sh to setup GPG</a></li>
@@ -318,59 +330,65 @@ limitations under the License.
         </ul>
       </li>
       <li><a href="#create-a-new-version-in-jira" id="markdown-toc-create-a-new-version-in-jira">Create a new version in JIRA</a></li>
-      <li><a href="#create-a-release-branch-in-apachebeam-repository" id="markdown-toc-create-a-release-branch-in-apachebeam-repository">Create a release branch in apache/beam repository</a>        <ul>
-          <li><a href="#use-cut_release_branchsh-to-cut-a-release-branch" id="markdown-toc-use-cut_release_branchsh-to-cut-a-release-branch">Use cut_release_branch.sh to cut a release branch</a></li>
-          <li><a href="#run-all-steps-manually" id="markdown-toc-run-all-steps-manually">Run all steps manually</a></li>
-        </ul>
-      </li>
+    </ul>
+  </li>
+  <li><a href="#2-create-a-release-branch-in-apachebeam-repository" id="markdown-toc-2-create-a-release-branch-in-apachebeam-repository">2. Create a release branch in apache/beam repository</a>    <ul>
+      <li><a href="#use-cut_release_branchsh-to-cut-a-release-branch" id="markdown-toc-use-cut_release_branchsh-to-cut-a-release-branch">Use cut_release_branch.sh to cut a release branch</a></li>
+      <li><a href="#alternative-run-all-steps-manually" id="markdown-toc-alternative-run-all-steps-manually">(Alternative) Run all steps manually</a></li>
       <li><a href="#start-a-snapshot-build" id="markdown-toc-start-a-snapshot-build">Start a snapshot build</a>        <ul>
           <li><a href="#run-start_snapshot_buildsh-to-trigger-build" id="markdown-toc-run-start_snapshot_buildsh-to-trigger-build">Run start_snapshot_build.sh to trigger build</a></li>
-          <li><a href="#do-all-operations-manually" id="markdown-toc-do-all-operations-manually">Do all operations manually</a></li>
-        </ul>
-      </li>
-      <li><a href="#verify-release-branch" id="markdown-toc-verify-release-branch">Verify release branch</a>        <ul>
-          <li><a href="#run-automation-script-verify_release_buildsh" id="markdown-toc-run-automation-script-verify_release_buildsh">Run automation script (verify_release_build.sh)</a></li>
-          <li><a href="#run-all-commands-manually-1" id="markdown-toc-run-all-commands-manually-1">Run all commands manually</a></li>
-          <li><a href="#create-release-blocking-issues-in-jira" id="markdown-toc-create-release-blocking-issues-in-jira">Create release-blocking issues in JIRA</a></li>
+          <li><a href="#alternative-do-all-operations-manually" id="markdown-toc-alternative-do-all-operations-manually">(Alternative) Do all operations manually</a></li>
         </ul>
       </li>
-      <li><a href="#update-and-verify-javadoc" id="markdown-toc-update-and-verify-javadoc">Update and Verify Javadoc</a></li>
-      <li><a href="#triage-release-blocking-issues-in-jira" id="markdown-toc-triage-release-blocking-issues-in-jira">Triage release-blocking issues in JIRA</a></li>
+    </ul>
+  </li>
+  <li><a href="#3-verify-release-branch" id="markdown-toc-3-verify-release-branch">3. Verify release branch</a>    <ul>
+      <li><a href="#run-automation-script-verify_release_buildsh" id="markdown-toc-run-automation-script-verify_release_buildsh">Run automation script (verify_release_build.sh)</a></li>
+      <li><a href="#alternative-run-all-commands-manually" id="markdown-toc-alternative-run-all-commands-manually">(Alternative) Run all commands manually</a></li>
+      <li><a href="#create-release-blocking-issues-in-jira" id="markdown-toc-create-release-blocking-issues-in-jira">Create release-blocking issues in JIRA</a></li>
+    </ul>
+  </li>
+  <li><a href="#4-triage-release-blocking-issues-in-jira" id="markdown-toc-4-triage-release-blocking-issues-in-jira">4. Triage release-blocking issues in JIRA</a>    <ul>
       <li><a href="#review-release-notes-in-jira" id="markdown-toc-review-release-notes-in-jira">Review Release Notes in JIRA</a></li>
-      <li><a href="#checklist-to-proceed-to-the-next-step-1" id="markdown-toc-checklist-to-proceed-to-the-next-step-1">Checklist to proceed to the next step</a></li>
+      <li><a href="#review-cherry-picks" id="markdown-toc-review-cherry-picks">Review cherry-picks</a></li>
     </ul>
   </li>
-  <li><a href="#build-a-release-candidate" id="markdown-toc-build-a-release-candidate">Build a release candidate</a>    <ul>
-      <li><a href="#run-build_release_candidatesh-to-create-rc" id="markdown-toc-run-build_release_candidatesh-to-create-rc">Run build_release_candidate.sh to create RC</a></li>
-      <li><a href="#run-all-steps-manually-1" id="markdown-toc-run-all-steps-manually-1">Run all steps manually</a>        <ul>
+  <li><a href="#5-build-a-release-candidate" id="markdown-toc-5-build-a-release-candidate">5. Build a release candidate</a>    <ul>
+      <li><a href="#checklist-before-proceeding" id="markdown-toc-checklist-before-proceeding">Checklist before proceeding</a></li>
+      <li><a href="#run-build_release_candidatesh-to-create-a-release-candidate" id="markdown-toc-run-build_release_candidatesh-to-create-a-release-candidate">Run build_release_candidate.sh to create a release candidate</a>        <ul>
+          <li><a href="#tasks-you-need-to-do-manually" id="markdown-toc-tasks-you-need-to-do-manually">Tasks you need to do manually</a></li>
+        </ul>
+      </li>
+      <li><a href="#alternative-run-all-steps-manually-1" id="markdown-toc-alternative-run-all-steps-manually-1">(Alternative) Run all steps manually</a>        <ul>
           <li><a href="#build-and-stage-java-artifacts-with-gradle" id="markdown-toc-build-and-stage-java-artifacts-with-gradle">Build and stage Java artifacts with Gradle</a></li>
           <li><a href="#stage-source-release-on-distapacheorg" id="markdown-toc-stage-source-release-on-distapacheorg">Stage source release on dist.apache.org</a></li>
           <li><a href="#stage-python-binaries-on-distapacheorg" id="markdown-toc-stage-python-binaries-on-distapacheorg">Stage python binaries on dist.apache.org</a></li>
-          <li><a href="#build-the-pydoc-api-reference" id="markdown-toc-build-the-pydoc-api-reference">Build the Pydoc API reference</a></li>
-          <li><a href="#propose-pull-requests-for-website-updates" id="markdown-toc-propose-pull-requests-for-website-updates">Propose pull requests for website updates</a></li>
-          <li><a href="#build-and-stage-python-wheels" id="markdown-toc-build-and-stage-python-wheels">Build and stage python wheels</a></li>
         </ul>
       </li>
-      <li><a href="#write-the-beam-blog-post-and-create-a-pull-request" id="markdown-toc-write-the-beam-blog-post-and-create-a-pull-request">Write the Beam blog post and create a pull request</a>        <ul>
-          <li><a href="#checklist-to-proceed-to-the-next-step-2" id="markdown-toc-checklist-to-proceed-to-the-next-step-2">Checklist to proceed to the next step</a></li>
+      <li><a href="#build-and-stage-python-wheels" id="markdown-toc-build-and-stage-python-wheels">Build and stage python wheels</a></li>
+    </ul>
+  </li>
+  <li><a href="#6-prepare-documents" id="markdown-toc-6-prepare-documents">6. Prepare documents</a>    <ul>
+      <li><a href="#update-and-verify-javadoc" id="markdown-toc-update-and-verify-javadoc">Update and Verify Javadoc</a></li>
+      <li><a href="#build-the-pydoc-api-reference" id="markdown-toc-build-the-pydoc-api-reference">Build the Pydoc API reference</a></li>
+      <li><a href="#propose-pull-requests-for-website-updates" id="markdown-toc-propose-pull-requests-for-website-updates">Propose pull requests for website updates</a></li>
+      <li><a href="#blog-post" id="markdown-toc-blog-post">Blog post</a>        <ul>
+          <li><a href="#checklist-to-proceed-to-the-next-step-1" id="markdown-toc-checklist-to-proceed-to-the-next-step-1">Checklist to proceed to the next step</a></li>
         </ul>
       </li>
     </ul>
   </li>
-  <li><a href="#vote-on-the-release-candidate" id="markdown-toc-vote-on-the-release-candidate">Vote on the release candidate</a>    <ul>
+  <li><a href="#7-vote-and-validate-release-candidate" id="markdown-toc-7-vote-and-validate-release-candidate">7. Vote and validate release candidate</a>    <ul>
       <li><a href="#run-validation-tests" id="markdown-toc-run-validation-tests">Run validation tests</a>        <ul>
           <li><a href="#run-validations-using-run_rc_validationsh" id="markdown-toc-run-validations-using-run_rc_validationsh">Run validations using run_rc_validation.sh</a></li>
           <li><a href="#run-validations-manually" id="markdown-toc-run-validations-manually">Run validations manually</a></li>
         </ul>
       </li>
-      <li><a href="#checklist-to-proceed-to-the-finalization-step" id="markdown-toc-checklist-to-proceed-to-the-finalization-step">Checklist to proceed to the finalization step</a></li>
-    </ul>
-  </li>
-  <li><a href="#fix-any-issues" id="markdown-toc-fix-any-issues">Fix any issues</a>    <ul>
-      <li><a href="#checklist-to-proceed-to-the-next-step-3" id="markdown-toc-checklist-to-proceed-to-the-next-step-3">Checklist to proceed to the next step</a></li>
+      <li><a href="#fix-any-issues" id="markdown-toc-fix-any-issues">Fix any issues</a></li>
+      <li><a href="#checklist-to-proceed-to-the-next-step-2" id="markdown-toc-checklist-to-proceed-to-the-next-step-2">Checklist to proceed to the next step</a></li>
     </ul>
   </li>
-  <li><a href="#finalize-the-release" id="markdown-toc-finalize-the-release">Finalize the release</a>    <ul>
+  <li><a href="#8-finalize-the-release" id="markdown-toc-8-finalize-the-release">8. Finalize the release</a>    <ul>
       <li><a href="#deploy-artifacts-to-maven-central-repository" id="markdown-toc-deploy-artifacts-to-maven-central-repository">Deploy artifacts to Maven Central Repository</a></li>
       <li><a href="#deploy-python-artifacts-to-pypi" id="markdown-toc-deploy-python-artifacts-to-pypi">Deploy Python artifacts to PyPI</a>        <ul>
           <li><a href="#deploy-source-release-to-distapacheorg" id="markdown-toc-deploy-source-release-to-distapacheorg">Deploy source release to dist.apache.org</a></li>
@@ -380,10 +398,10 @@ limitations under the License.
       <li><a href="#merge-website-pull-request" id="markdown-toc-merge-website-pull-request">Merge website pull request</a></li>
       <li><a href="#mark-the-version-as-released-in-jira" id="markdown-toc-mark-the-version-as-released-in-jira">Mark the version as released in JIRA</a></li>
       <li><a href="#recordkeeping-with-asf" id="markdown-toc-recordkeeping-with-asf">Recordkeeping with ASF</a></li>
-      <li><a href="#checklist-to-proceed-to-the-next-step-4" id="markdown-toc-checklist-to-proceed-to-the-next-step-4">Checklist to proceed to the next step</a></li>
+      <li><a href="#checklist-to-proceed-to-the-next-step-3" id="markdown-toc-checklist-to-proceed-to-the-next-step-3">Checklist to proceed to the next step</a></li>
     </ul>
   </li>
-  <li><a href="#promote-the-release" id="markdown-toc-promote-the-release">Promote the release</a>    <ul>
+  <li><a href="#9-promote-the-release" id="markdown-toc-9-promote-the-release">9. Promote the release</a>    <ul>
       <li><a href="#apache-mailing-lists" id="markdown-toc-apache-mailing-lists">Apache mailing lists</a></li>
       <li><a href="#social-media" id="markdown-toc-social-media">Social media</a></li>
       <li><a href="#checklist-to-declare-the-process-completed" id="markdown-toc-checklist-to-declare-the-process-completed">Checklist to declare the process completed</a></li>
@@ -402,7 +420,7 @@ limitations under the License.
 
 <p>Please remember that publishing software has legal consequences. This guide complements the foundation-wide <a href="http://www.apache.org/dev/release.html">Product Release Policy</a> and <a href="http://www.apache.org/dev/release-distribution">Release Distribution Policy</a>.</p>
 
-<h2 id="overview">Overview</h2>
+<h3 id="overview">Overview</h3>
 
 <p><img src="/images/release-guide-1.png" alt="Alt text" title="Release Process" width="100%" /></p>
 
@@ -419,9 +437,7 @@ limitations under the License.
   <li>Promote the release</li>
 </ol>
 
-<hr />
-
-<h2 id="decide-to-release">Decide to release</h2>
+<h3 id="decide-to-release">Decide to release</h3>
 
 <p>Deciding to release and selecting a Release Manager is the first step of the release process. This is a consensus-based decision of the entire community.</p>
 
@@ -438,7 +454,7 @@ limitations under the License.
 
 <hr />
 
-<h2 id="prepare-for-the-release">Prepare for the release</h2>
+<h2 id="1-prepare-for-the-release">1. Prepare for the release</h2>
 
 <p>Before your first release, you should perform one-time configuration steps. This will set up your security keys for signing the release and access to various release repositories.</p>
 
@@ -447,6 +463,16 @@ limitations under the License.
 <p><strong>NOTE</strong>: If you are using <a href="https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/">GitHub two-factor authentication</a> and haven’t configure HTTPS access, 
 please follow <a href="https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/">the guide</a> to configure command line access.</p>
 
+<h3 id="accounts">Accounts</h3>
+
+<p>Please have these credentials ready at hand, you will likely need to enter them multiple times:</p>
+
+<ul>
+  <li>GPG pass phrase (see the next section);</li>
+  <li>Apache ID and Password;</li>
+  <li>GitHub ID and Password.</li>
+</ul>
+
 <h3 id="one-time-setup-instructions">One-time setup instructions</h3>
 
 <h4 id="gpg-key">GPG Key</h4>
@@ -480,6 +506,8 @@ or running all commands manually.</p>
   </li>
 </ul>
 
+<p><strong>NOTE</strong>: When generating the key, please make sure you choose the key type as <strong>RSA and RSA (default)</strong> and key size as <strong>4096 bit</strong>.</p>
+
 <h5 id="run-all-commands-manually">Run all commands manually</h5>
 
 <ul>
@@ -550,7 +578,8 @@ export GPG_AGENT_INFO
   <li>
     <p>Insert this snippet twice into your global Maven <code class="highlighter-rouge">settings.xml</code> file, typically <code class="highlighter-rouge">${HOME}/.m2/settings.xml</code>. The end result should look like this, where <code class="highlighter-rouge">TOKEN_NAME</code> and <code class="highlighter-rouge">TOKEN_PASSWORD</code> are your secret tokens:</p>
 
-    <div class="highlighter-rouge"><pre class="highlight"><code> &lt;settings&gt;
+    <div class="highlighter-rouge"><pre class="highlight"><code> &lt;!-- make sure you have the root `settings node: --&gt;
+ &lt;settings&gt;
    &lt;servers&gt;
      &lt;server&gt;
        &lt;id&gt;apache.releases.https&lt;/id&gt;
@@ -563,7 +592,7 @@ export GPG_AGENT_INFO
        &lt;password&gt;TOKEN_PASSWORD&lt;/password&gt;
      &lt;/server&gt;
    &lt;/servers&gt;
- &lt;/settings&gt;
+ &lt;/settings&gt; __NOTE__: make sure the XML you end up with matches the structure above.
 </code></pre>
     </div>
   </li>
@@ -573,6 +602,9 @@ export GPG_AGENT_INFO
 <p>In order to make yourself have right permission to stage java artifacts in Apache Nexus staging repository, 
 please submit your GPG public key into <a href="http://pgp.mit.edu:11371/">MIT PGP Public Key Server</a>.</p>
 
+<p>If MIT doesn’t work for you (it probably won’t, it’s slow, returns 502 a lot, Nexus might error out not being able to find the keys),
+use a keyserver at <code class="highlighter-rouge">ubuntu.com</code> instead: http://keyserver.ubuntu.com/.</p>
+
 <h4 id="website-development-setup">Website development setup</h4>
 
 <p>Updating the Beam website requires submitting PRs to both the main <code class="highlighter-rouge">apache/beam</code>
@@ -612,7 +644,9 @@ Automation Reliability</a>.</p>
   <li>At the end of the release, go to the same page and mark the recently released version as released. Use the <code class="highlighter-rouge">...</code> menu and choose <code class="highlighter-rouge">Release</code>.</li>
 </ol>
 
-<h3 id="create-a-release-branch-in-apachebeam-repository">Create a release branch in apache/beam repository</h3>
+<hr />
+
+<h2 id="2-create-a-release-branch-in-apachebeam-repository">2. Create a release branch in apache/beam repository</h2>
 
 <p>Attention: Only committer has permission to create release branch in apache/beam.</p>
 
@@ -636,7 +670,7 @@ Automation Reliability</a>.</p>
 </code></pre>
     </div>
   </li>
-  <li>Tasks included
+  <li>The script will:
     <ol>
       <li>Create release-${RELEASE_VERSION} branch locally.</li>
       <li>
@@ -656,7 +690,7 @@ Automation Reliability</a>.</p>
   </li>
 </ul>
 
-<h4 id="run-all-steps-manually">Run all steps manually</h4>
+<h4 id="alternative-run-all-steps-manually">(Alternative) Run all steps manually</h4>
 <ul>
   <li>
     <p>Checkout working branch</p>
@@ -751,14 +785,14 @@ so builds will be broken until a new snapshot is available.</p>
 </code></pre>
     </div>
   </li>
-  <li>Tasks included
+  <li>The script will:
     <ol>
       <li>Install <a href="https://github.com/github/hub">hub</a> with your agreement.</li>
       <li>Touch an empty txt file and commit changes into <code class="highlighter-rouge">${your remote beam repo}/snapshot_build</code></li>
       <li>Use hub to create a PR against apache:master, which triggers a Jenkins job to build snapshot.</li>
     </ol>
   </li>
-  <li>Tasks you need to do manually
+  <li>Tasks you need to do manually to <strong>verify the SNAPSHOT build</strong>
     <ol>
       <li>Check whether the Jenkins job gets triggered. If not, please comment <code class="highlighter-rouge">Run Gradle Publish</code> into the generated PR.</li>
       <li>After verifying build succeeded, you need to close PR manually.</li>
@@ -766,7 +800,7 @@ so builds will be broken until a new snapshot is available.</p>
   </li>
 </ul>
 
-<h4 id="do-all-operations-manually">Do all operations manually</h4>
+<h4 id="alternative-do-all-operations-manually">(Alternative) Do all operations manually</h4>
 
 <ul>
   <li>Find one PR against apache:master in beam.</li>
@@ -774,9 +808,12 @@ so builds will be broken until a new snapshot is available.</p>
   <li>Verify that build succeeds.</li>
 </ul>
 
-<h3 id="verify-release-branch">Verify release branch</h3>
+<hr />
+
+<h2 id="3-verify-release-branch">3. Verify release branch</h2>
 
-<p>There are 2 ways to perform this verification, either running automation script(recommended), or running all commands manually.</p>
+<p>After the release branch is cut you need to make sure it builds and has no significant issues that would block the creation of the release candidate.
+There are 2 ways to perform this verification, either running automation script(recommended), or running all commands manually.</p>
 
 <h4 id="run-automation-script-verify_release_buildsh">Run automation script (verify_release_build.sh)</h4>
 <ul>
@@ -796,7 +833,7 @@ so builds will be broken until a new snapshot is available.</p>
       <li>Run <code class="highlighter-rouge">gradle release build</code> against release branch.</li>
     </ol>
   </li>
-  <li>Tasks you need to do manually
+  <li>Tasks you need to do manually to <strong>verify the build succeed</strong>:
     <ol>
       <li>Check the build result.</li>
       <li>If build failed, scan log will contain all failures.</li>
@@ -806,7 +843,7 @@ so builds will be broken until a new snapshot is available.</p>
   </li>
 </ul>
 
-<h4 id="run-all-commands-manually-1">Run all commands manually</h4>
+<h4 id="alternative-run-all-commands-manually">(Alternative) Run all commands manually</h4>
 <ul>
   <li>Pre-installation for python build
     <ol>
@@ -899,30 +936,9 @@ so builds will be broken until a new snapshot is available.</p>
   </li>
 </ul>
 
-<h3 id="update-and-verify-javadoc">Update and Verify Javadoc</h3>
-
-<p>The build with <code class="highlighter-rouge">-PisRelease</code> creates the combined Javadoc for the release in <code class="highlighter-rouge">sdks/java/javadoc</code>.</p>
-
-<p>The file <code class="highlighter-rouge">sdks/java/javadoc/build.gradle</code> contains a list of modules to include
-in and exclude, plus a list of offline URLs that populate links from Beam’s
-Javadoc to the Javadoc for other modules that Beam depends on.</p>
-
-<ul>
-  <li>
-    <p>Confirm that new modules added since the last release have been added to the
-inclusion list as appropriate.</p>
-  </li>
-  <li>
-    <p>Confirm that the excluded package list is up to date.</p>
-  </li>
-  <li>
-    <p>Verify the version numbers for offline links match the versions used by Beam. If
-the version number has changed, download a new version of the corresponding
-<code class="highlighter-rouge">&lt;module&gt;-docs/package-list</code> file.</p>
-  </li>
-</ul>
+<hr />
 
-<h3 id="triage-release-blocking-issues-in-jira">Triage release-blocking issues in JIRA</h3>
+<h2 id="4-triage-release-blocking-issues-in-jira">4. Triage release-blocking issues in JIRA</h2>
 
 <p>There could be outstanding release-blocking issues, which should be triaged before proceeding to build a release candidate. We track them by assigning a specific <code class="highlighter-rouge">Fix version</code> field even before the issue resolved.</p>
 
@@ -972,33 +988,39 @@ the version number has changed, download a new version of the corresponding
 
 <p>Adjust any of the above properties to the improve clarity and presentation of the Release Notes.</p>
 
-<h3 id="checklist-to-proceed-to-the-next-step-1">Checklist to proceed to the next step</h3>
+<h3 id="review-cherry-picks">Review cherry-picks</h3>
 
-<ul>
-  <li>Release Manager’s GPG key is published to <code class="highlighter-rouge">dist.apache.org</code></li>
-  <li>Release Manager’s GPG key is configured in <code class="highlighter-rouge">git</code> configuration</li>
-  <li>Release Manager has <code class="highlighter-rouge">org.apache.beam</code> listed under <code class="highlighter-rouge">Staging Profiles</code> in Nexus</li>
-  <li>Release Manager’s Nexus User Token is configured in <code class="highlighter-rouge">settings.xml</code></li>
-  <li>JIRA release item for the subsequent release has been created</li>
-  <li>All test failures from branch verification have associated JIRA issues</li>
-  <li>There are no release blocking JIRA issues</li>
-  <li>Release Notes in JIRA have been audited and adjusted</li>
-  <li>Combined javadoc has the appropriate contents.</li>
-  <li>Release branch has been created</li>
-  <li>There are no open pull requests to release branch</li>
-  <li>Originating branch has the version information updated to the new version</li>
-  <li>Nightly snapshot is in progress (do revisit it continually)</li>
-</ul>
+<p>Check if there are outstanding cherry-picks into the release branch, <a href="https://github.com/apache/beam/pulls?utf8=%E2%9C%93&amp;q=is%3Apr+base%3Arelease-2.14.0">e.g. for <code class="highlighter-rouge">2.14.0</code></a>.
+Make sure they have blocker JIRAs attached and are OK to get into the release by checking with community if needed.</p>
 
 <hr />
 
-<h2 id="build-a-release-candidate">Build a release candidate</h2>
+<h2 id="5-build-a-release-candidate">5. Build a release candidate</h2>
+
+<h3 id="checklist-before-proceeding">Checklist before proceeding</h3>
+
+<ul>
+  <li>Release Manager’s GPG key is published to <code class="highlighter-rouge">dist.apache.org</code>;</li>
+  <li>Release Manager’s GPG key is configured in <code class="highlighter-rouge">git</code> configuration;</li>
+  <li>Release Manager has <code class="highlighter-rouge">org.apache.beam</code> listed under <code class="highlighter-rouge">Staging Profiles</code> in Nexus;</li>
+  <li>Release Manager’s Nexus User Token is configured in <code class="highlighter-rouge">settings.xml</code>;</li>
+  <li>JIRA release item for the subsequent release has been created;</li>
+  <li>All test failures from branch verification have associated JIRA issues;</li>
+  <li>There are no release blocking JIRA issues;</li>
+  <li>Release Notes in JIRA have been audited and adjusted;</li>
+  <li>Combined javadoc has the appropriate contents;</li>
+  <li>Release branch has been created;</li>
+  <li>There are no open pull requests to release branch;</li>
+  <li>Originating branch has the version information updated to the new version;</li>
+  <li>Nightly snapshot is in progress (do revisit it continually);</li>
+</ul>
 
 <p>The core of the release process is the build-vote-fix cycle. Each cycle produces one release candidate. The Release Manager repeats this cycle until the community approves one release candidate, which is then finalized.</p>
 
 <p>For this step, we recommend you using automation script to create a RC, but you still can perform all steps manually if you want.</p>
 
-<h3 id="run-build_release_candidatesh-to-create-rc">Run build_release_candidate.sh to create RC</h3>
+<h3 id="run-build_release_candidatesh-to-create-a-release-candidate">Run build_release_candidate.sh to create a release candidate</h3>
+
 <ul>
   <li>
     <p>Script: <a href="https://github.com/apache/beam/blob/master/release/src/main/scripts/build_release_candidate.sh">build_release_candidate.sh</a></p>
@@ -1010,13 +1032,14 @@ the version number has changed, download a new version of the corresponding
 </code></pre>
     </div>
   </li>
-  <li>Tasks included
+  <li>
+    <p>The script will:</p>
     <ol>
       <li>Run gradle release to create rc tag and push source release into github repo.</li>
       <li>
         <p>Run gradle publish to push java artifacts into Maven staging repo.</p>
 
-        <p><strong>NOTE</strong>: In order to public staging artifacts, you need to goto the staging repo to close the staging repository on Apache Nexus. 
+        <p><strong>NOTE</strong>: In order to public staging artifacts, you need to goto the <a href="https://repository.apache.org/#stagingRepositories">staging repo</a> to close the staging repository on Apache Nexus. 
 When prompted for a description, enter “Apache Beam, version X, release candidate Y”.</p>
       </li>
       <li>Stage source release into dist.apache.org dev <a href="https://dist.apache.org/repos/dist/dev/beam/">repo</a>.</li>
@@ -1030,17 +1053,17 @@ When prompted for a description, enter “Apache Beam, version X, release candid
       </li>
     </ol>
   </li>
-  <li>Tasks you need to do manually
-    <ol>
-      <li>Add new release into <code class="highlighter-rouge">website/src/get-started/downloads.md</code>.</li>
-      <li>Update last release download links in <code class="highlighter-rouge">website/src/get-started/downloads.md</code>.</li>
-      <li>Update <code class="highlighter-rouge">website/src/.htaccess</code> to redirect to the new version.</li>
-      <li>Build and stage python wheels.</li>
-    </ol>
-  </li>
 </ul>
 
-<h3 id="run-all-steps-manually-1">Run all steps manually</h3>
+<h4 id="tasks-you-need-to-do-manually">Tasks you need to do manually</h4>
+<ol>
+  <li>Add new release into <code class="highlighter-rouge">website/src/get-started/downloads.md</code>.</li>
+  <li>Update last release download links in <code class="highlighter-rouge">website/src/get-started/downloads.md</code>.</li>
+  <li>Update <code class="highlighter-rouge">website/src/.htaccess</code> to redirect to the new version.</li>
+  <li>Build and stage python wheels.</li>
+</ol>
+
+<h3 id="alternative-run-all-steps-manually-1">(Alternative) Run all steps manually</h3>
 
 <h4 id="build-and-stage-java-artifacts-with-gradle">Build and stage Java artifacts with Gradle</h4>
 
@@ -1153,7 +1176,45 @@ svn commit
 
 <p>Verify that files are <a href="https://dist.apache.org/repos/dist/dev/beam">present</a>.</p>
 
-<h4 id="build-the-pydoc-api-reference">Build the Pydoc API reference</h4>
+<h3 id="build-and-stage-python-wheels">Build and stage python wheels</h3>
+
+<p>There is a wrapper repo <a href="https://github.com/apache/beam-wheels">beam-wheels</a> to help build python wheels.</p>
+
+<p>If you are interested in how it works, please refer to the <a href="https://github.com/apache/beam-wheels#structure">structure section</a>.</p>
+
+<p>Please follow the <a href="https://github.com/apache/beam-wheels#user-guide">user guide</a> to build python wheels.</p>
+
+<p>Once all python wheels have been staged <a href="https://dist.apache.org/repos/dist/dev/beam/">dist.apache.org</a>,
+please run <a href="https://github.com/apache/beam/blob/master/release/src/main/scripts/sign_hash_python_wheels.sh">./sign_hash_python_wheels.sh</a> to sign and hash python wheels.</p>
+
+<hr />
+
+<h2 id="6-prepare-documents">6. Prepare documents</h2>
+
+<h3 id="update-and-verify-javadoc">Update and Verify Javadoc</h3>
+
+<p>The build with <code class="highlighter-rouge">-PisRelease</code> creates the combined Javadoc for the release in <code class="highlighter-rouge">sdks/java/javadoc</code>.</p>
+
+<p>The file <code class="highlighter-rouge">sdks/java/javadoc/build.gradle</code> contains a list of modules to include
+in and exclude, plus a list of offline URLs that populate links from Beam’s
+Javadoc to the Javadoc for other modules that Beam depends on.</p>
+
+<ul>
+  <li>
+    <p>Confirm that new modules added since the last release have been added to the
+inclusion list as appropriate.</p>
+  </li>
+  <li>
+    <p>Confirm that the excluded package list is up to date.</p>
+  </li>
+  <li>
+    <p>Verify the version numbers for offline links match the versions used by Beam. If
+the version number has changed, download a new version of the corresponding
+<code class="highlighter-rouge">&lt;module&gt;-docs/package-list</code> file.</p>
+  </li>
+</ul>
+
+<h3 id="build-the-pydoc-api-reference">Build the Pydoc API reference</h3>
 
 <p>Make sure you have <code class="highlighter-rouge">tox</code> installed:</p>
 
@@ -1166,7 +1227,7 @@ svn commit
 </div>
 <p>By default the Pydoc is generated in <code class="highlighter-rouge">sdks/python/target/docs/_build</code>. Let <code class="highlighter-rouge">${PYDOC_ROOT}</code> be the absolute path to <code class="highlighter-rouge">_build</code>.</p>
 
-<h4 id="propose-pull-requests-for-website-updates">Propose pull requests for website updates</h4>
+<h3 id="propose-pull-requests-for-website-updates">Propose pull requests for website updates</h3>
 
 <p>Beam publishes API reference manuals for each release on the website. For Java
 and Python SDKs, that’s Javadoc and PyDoc, respectively. The final step of
@@ -1212,24 +1273,67 @@ source code download and the Release Notes in JIRA.</li>
 to point to the new release. See file history for examples.</li>
 </ul>
 
-<h4 id="build-and-stage-python-wheels">Build and stage python wheels</h4>
+<h3 id="blog-post">Blog post</h3>
 
-<p>There is a wrapper repo <a href="https://github.com/apache/beam-wheels">beam-wheels</a> to help build python wheels.</p>
+<p>Write a blog post similar to https://beam.apache.org/blog/2019/08/22/beam-2.15.0.html</p>
 
-<p>If you are interested in how it works, please refer to the <a href="https://github.com/apache/beam-wheels#structure">structure section</a>.</p>
+<p><strong>Tip</strong>: Use git log to find contributors to the releases. (e.g: <code class="highlighter-rouge">git log --pretty='%aN' ^v2.10.0 v2.11.0 | sort | uniq</code>).
+Make sure to clean it up, as there may be duplicate or incorrect user names.</p>
 
-<p>Please follow the <a href="https://github.com/apache/beam-wheels#user-guide">user guide</a> to build python wheels.</p>
+<p><strong>NOTE</strong>: Make sure to include any breaking changes, even to <code class="highlighter-rouge">@Experimental</code> features,
+all major features and bug fixes, and all known issues.</p>
 
-<p>Once all python wheels have been staged <a href="https://dist.apache.org/repos/dist/dev/beam/">dist.apache.org</a>, 
-please run <a href="https://github.com/apache/beam/blob/master/release/src/main/scripts/sign_hash_python_wheels.sh">./sign_hash_python_wheels.sh</a> to sign and hash python wheels.</p>
+<p>Template:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>    We are happy to present the new {$RELEASE_VERSION} release of Beam. This release includes both improvements and new functionality.
+    See the [download page](/get-started/downloads/{$DOWNLOAD_ANCHOR}) for this release.&lt;!--more--&gt;
+    For more information on changes in {$RELEASE_VERSION}, check out the
+    [detailed release notes]({$JIRA_RELEASE_NOTES}).
+
+    ## Highlights
+
+     * New highly anticipated feature X added to Python SDK ([BEAM-X](https://issues.apache.org/jira/browse/BEAM-X)).
+     * New highly anticipated feature Y added to JavaSDK ([BEAM-Y](https://issues.apache.org/jira/browse/BEAM-Y)).
+
+    {$TOPICS e.g.:}
+    ### I/Os
+    * Support for X source added (Java) ([BEAM-X](https://issues.apache.org/jira/browse/BEAM-X)).
+    {$TOPICS}
+
+    ### New Features / Improvements
+
+    * X feature added (Python) ([BEAM-X](https://issues.apache.org/jira/browse/BEAM-X)).
+    * Y feature added (Java) [BEAM-Y](https://issues.apache.org/jira/browse/BEAM-Y).
+
+    ### Breaking Changes
+
+    * X behavior was changed ([BEAM-X](https://issues.apache.org/jira/browse/BEAM-X)).
+    * Y behavior was changed ([BEAM-Y](https://issues.apache.org/jira/browse/BEAM-X)).
+
+    ### Deprecations
+
+    * X behavior is deprecated and will be removed in X versions ([BEAM-X](https://issues.apache.org/jira/browse/BEAM-X)).
+
+    ### Bugfixes
+
+    * Fixed X (Python) ([BEAM-Y](https://issues.apache.org/jira/browse/BEAM-X)).
+    * Fixed Y (Java) ([BEAM-Y](https://issues.apache.org/jira/browse/BEAM-Y)).
+
+    ### Known Issues
 
-<h3 id="write-the-beam-blog-post-and-create-a-pull-request">Write the Beam blog post and create a pull request</h3>
+    * {$KNOWN_ISSUE_1}
+    * {$KNOWN_ISSUE_2}
 
-<p>Major or otherwise important releases should have a blog post. Write one if needed for this particular release. Minor releases that don’t introduce new major functionality don’t necessarily need to be blogged.</p>
 
-<p><em>Tip:</em> Use git log to find contributors to the releases. (e.g: <code class="highlighter-rouge">git log --pretty='%aN' ^v2.10.0 v2.11.0 | sort | uniq</code>).</p>
+    ## List of Contributors
 
-<h4 id="checklist-to-proceed-to-the-next-step-2">Checklist to proceed to the next step</h4>
+    According to git shortlog, the following people contributed to the 2.XX.0 release. Thank you to all contributors!
+
+    ${CONTRIBUTORS}
+</code></pre>
+</div>
+
+<h4 id="checklist-to-proceed-to-the-next-step-1">Checklist to proceed to the next step</h4>
 
 <ol>
   <li>Maven artifacts deployed to the staging repository of <a href="https://repository.apache.org/content/repositories/">repository.apache.org</a></li>
@@ -1248,7 +1352,7 @@ please run <a href="https://github.com/apache/beam/blob/master/release/src/main/
 
 <hr />
 
-<h2 id="vote-on-the-release-candidate">Vote on the release candidate</h2>
+<h2 id="7-vote-and-validate-release-candidate">7. Vote and validate release candidate</h2>
 
 <p>Once you have built and individually reviewed the release candidate, please share it for the community-wide review. Please review foundation-wide <a href="http://www.apache.org/foundation/voting.html">voting guidelines</a> for more information.</p>
 
@@ -1337,7 +1441,7 @@ Thanks everyone!
     <ol>
       <li>Run Java quickstart with Direct Runner, Apex local runner, Flink local runner, Spark local runner and Dataflow runner.</li>
       <li>Run Java Mobile Games(UserScore, HourlyTeamScore, Leaderboard) with Dataflow runner.</li>
-      <li>Create a PR against apache:master to trigger python validation job, including
+      <li>Create a PR to trigger python validation job, including
         <ul>
           <li>Python quickstart in batch and streaming mode with direct runner and Dataflow runner.</li>
           <li>Python Mobile Games(UserScore, HourlyTeamScore) with direct runner and Dataflow runner.</li>
@@ -1618,15 +1722,7 @@ mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.complete.game.in
   </li>
 </ul>
 
-<h3 id="checklist-to-proceed-to-the-finalization-step">Checklist to proceed to the finalization step</h3>
-
-<ol>
-  <li>Community votes to release the proposed candidate, with at least three approving PMC votes</li>
-</ol>
-
-<hr />
-
-<h2 id="fix-any-issues">Fix any issues</h2>
+<h3 id="fix-any-issues">Fix any issues</h3>
 
 <p>Any issues identified during the community review and vote should be fixed in this step. Additionally, any JIRA issues created from the initial branch verification should be fixed.</p>
 
@@ -1634,38 +1730,45 @@ mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.complete.game.in
 
 <p>Once all issues have been resolved, you should go back and build a new release candidate with these changes.</p>
 
-<h3 id="checklist-to-proceed-to-the-next-step-3">Checklist to proceed to the next step</h3>
+<h3 id="checklist-to-proceed-to-the-next-step-2">Checklist to proceed to the next step</h3>
 
 <ol>
   <li>Issues identified during vote have been resolved, with fixes committed to the release branch.</li>
   <li>All issues tagged with <code class="highlighter-rouge">Fix-Version</code> for the current release should be closed.</li>
+  <li>Community votes to release the proposed candidate, with at least three approving PMC votes</li>
 </ol>
 
 <hr />
 
-<h2 id="finalize-the-release">Finalize the release</h2>
+<h2 id="8-finalize-the-release">8. Finalize the release</h2>
 
 <p>Once the release candidate has been reviewed and approved by the community, the release should be finalized. This involves the final deployment of the release candidate to the release repositories, merging of the website changes, etc.</p>
 
 <h3 id="deploy-artifacts-to-maven-central-repository">Deploy artifacts to Maven Central Repository</h3>
 
-<p>Use the Apache Nexus repository to release the staged binary artifacts to the Maven Central repository. In the <code class="highlighter-rouge">Staging Repositories</code> section, find the relevant release candidate <code class="highlighter-rouge">orgapachebeam-XXX</code> entry and click <code class="highlighter-rouge">Release</code>. Drop all other release candidates that are not being released.</p>
+<p>Use the Apache Nexus repository to release the staged binary artifacts to the Maven Central repository. In the <code class="highlighter-rouge">Staging Repositories</code> section, find the relevant release candidate <code class="highlighter-rouge">orgapachebeam-XXX</code> entry and click <code class="highlighter-rouge">Release</code>. Drop all other release candidates that are not being released.
+<strong>NOTE</strong>: If you are using <a href="https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/">GitHub two-factor authentication</a> and haven’t configure HTTPS access,
+please follow <a href="https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/">the guide</a> to configure command line access.</p>
 
 <h3 id="deploy-python-artifacts-to-pypi">Deploy Python artifacts to PyPI</h3>
 
 <ol>
-  <li>Create a new release and upload the Python zip file for the new release using the [PyPI UI] (https://pypi.python.org/pypi/apache-beam)</li>
-  <li>Alternatively, use the command line tool to upload the new release <code class="highlighter-rouge">twine upload apache-beam-${RELEASE}.zip</code></li>
+  <li>Download everything from https://dist.apache.org/repos/dist/dev/beam/2.14.0/python/ ;</li>
+  <li>Keep only things that you see in https://pypi.org/project/apache-beam/#files , e.g. <code class="highlighter-rouge">.zip</code>, <code class="highlighter-rouge">.whl</code>,
+delete the <code class="highlighter-rouge">.asc</code>, <code class="highlighter-rouge">.sha512</code>;</li>
+  <li>Upload the new release <code class="highlighter-rouge">twine upload *</code> from the directory with the <code class="highlighter-rouge">.zip</code> and <code class="highlighter-rouge">.whl</code> files;</li>
 </ol>
 
-<p>Note: It is important to rename <code class="highlighter-rouge">apache-beam-${RELEASE}-python.zip</code> to <code class="highlighter-rouge">apache-beam-${RELEASE}.zip</code> before uploading, because PyPI expects a filename in the <code class="highlighter-rouge">&lt;package-name&gt;-&lt;package-version&gt;</code> format.</p>
-
 <h4 id="deploy-source-release-to-distapacheorg">Deploy source release to dist.apache.org</h4>
 
 <p>Copy the source release from the <code class="highlighter-rouge">dev</code> repository to the <code class="highlighter-rouge">release</code> repository at <code class="highlighter-rouge">dist.apache.org</code> using Subversion.</p>
 
 <p>Move last release artifacts from <code class="highlighter-rouge">dist.apache.org</code> to <code class="highlighter-rouge">archive.apache.org</code> using Subversion. Then update download address for last release version, <a href="https://github.com/apache/beam-site/pull/478">example PR</a>.</p>
 
+<p><strong>NOTE</strong>: Only PMC members have permissions to do it, ping <a href="mailto:dev@beam.apache.org">dev@</a> for assitance;</p>
+
+<p>Make sure the download address for last release version is upldaed, <a href="https://github.com/apache/beam-site/pull/478">example PR</a>.</p>
+
 <h3 id="git-tag">Git tag</h3>
 
 <p>Create and push a new signed tag for the released version by copying the tag for the final release candidate, as follows:</p>
@@ -1684,11 +1787,15 @@ git push github "$VERSION_TAG"
 
 <p>In JIRA, inside <a href="https://issues.apache.org/jira/plugins/servlet/project-config/BEAM/versions">version management</a>, hover over the current release and a settings menu will appear. Click <code class="highlighter-rouge">Release</code>, and select today’s date.</p>
 
+<p><strong>NOTE</strong>: Only PMC members have permissions to do it, ping <a href="mailto:dev@beam.apache.org">dev@</a> for assitance;</p>
+
 <h3 id="recordkeeping-with-asf">Recordkeeping with ASF</h3>
 
 <p>Use reporter.apache.org to seed the information about the release into future project reports.</p>
 
-<h3 id="checklist-to-proceed-to-the-next-step-4">Checklist to proceed to the next step</h3>
+<p><strong>NOTE</strong>: Only PMC members have permissions to do it, ping <a href="mailto:dev@beam.apache.org">dev@</a> for assitance;</p>
+
+<h3 id="checklist-to-proceed-to-the-next-step-3">Checklist to proceed to the next step</h3>
 
 <ul>
   <li>Maven artifacts released and indexed in the <a href="https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.beam%22">Maven Central Repository</a></li>
@@ -1702,7 +1809,7 @@ git push github "$VERSION_TAG"
 
 <hr />
 
-<h2 id="promote-the-release">Promote the release</h2>
+<h2 id="9-promote-the-release">9. Promote the release</h2>
 
 <p>Once the release has been finalized, the last step of the process is to promote the release within the project and beyond.</p>
 
@@ -1712,7 +1819,8 @@ git push github "$VERSION_TAG"
 
 <p>Announce on the release on the user@ mailing list, listing major improvements and contributions.</p>
 
-<p>Announce the release on the announce@apache.org mailing list.</p>
+<p>Announce the release on the announce@apache.org mailing list.
+<strong>NOTE</strong>: This can only be done from <code class="highlighter-rouge">@apache.org</code> email address.</p>
 
 <h3 id="social-media">Social media</h3>