Fixing the versions numbers and links in the site docs (#3332)

* Fixing the versions and links in the site docs
- Fixed Bazel and Heron Versions in all versioned docs
- Fixed language based problems
- Fixed Release Notes problems
- Fixed Broken Links
- Updated the scripts to build site

Signed-off-by: ChethanUK <chethanuk@outlook.com>

* Fixing the versions numbers and links in the site docs
- Fixed Bazel and Heron Versions in all versioned docs
- Fixed language based problems
- Fixed Release Notes problems
- Fixed Broken Links
- Updated the scripts to build site

Signed-off-by: ChethanUK <chethanuk@outlook.com>

* Fixing the versions numbers and links in the site docs
- Fixed Bazel and Heron Versions in all versioned docs
- Fixed language based problems
- Fixed Release Notes problems
- Fixed Broken Links
- Updated the scripts to build site

Signed-off-by: ChethanUK <chethanuk@outlook.com>

* Fixing the versions numbers and links in the site docs
- Fixed Bazel and Heron Versions in all versioned docs
- Fixed language based problems
- Fixed Release Notes problems
- Fixed Broken Links
- Updated the scripts to build site

Signed-off-by: ChethanUK <chethanuk@outlook.com>
diff --git a/website2/Dockerfile b/website2/Dockerfile
index 076969b..8b9eb2e 100755
--- a/website2/Dockerfile
+++ b/website2/Dockerfile
@@ -22,5 +22,6 @@
 COPY ./docs /app/docs
 COPY ./website /app/website
 RUN yarn install
-
+RUN git config user.name "Heron Publish"
+RUN git config user.email "publish@heron.incubator.apache.org"
 CMD ["yarn", "start"]
diff --git a/website2/docs/getting-started-local-single-node.md b/website2/docs/getting-started-local-single-node.md
index 9a23a3e..4a958e8 100644
--- a/website2/docs/getting-started-local-single-node.md
+++ b/website2/docs/getting-started-local-single-node.md
@@ -28,7 +28,7 @@
 * [MacOS](#macos-homebrew)
 * [Ubuntu >= 14.04](#using-installation-scripts)
 * [CentOS](#using-installation-scripts)
-
+aa
 For other platforms, you need to build from source. Please refer to the [guide to compiling Heron](compiling-overview).
 
 ## Step 1 --- Download the Heron tools
diff --git a/website2/website/README.md b/website2/website/README.md
index 67a0d59..fcc4d46 100755
--- a/website2/website/README.md
+++ b/website2/website/README.md
@@ -16,6 +16,11 @@
     specific language governing permissions and limitations
     under the License.
 -->
+ perl -pi -e 's/^  */\t/' Makefile
+ chmod +x scripts/*
+ npm run version 0.21.2
+
+
 # The Heron website and documentation
 
 This `README` is basically the meta-documentation for the Heron website and documentation. You will find instructions on running the site locally.
diff --git a/website2/website/languages.js b/website2/website/languages.js
deleted file mode 100644
index 5a3a0cb..0000000
--- a/website2/website/languages.js
+++ /dev/null
@@ -1,9 +0,0 @@
-
-const languages = [
-    {
-      enabled: true,
-      name: 'English',
-      tag: 'en',
-    }
-];
-module.exports = languages;
\ No newline at end of file
diff --git a/website2/website/pages/en/index.js b/website2/website/pages/en/index.js
index 8e164f9..74760ce 100755
--- a/website2/website/pages/en/index.js
+++ b/website2/website/pages/en/index.js
@@ -67,7 +67,8 @@
         <div className="inner">
           <ProjectTitle siteConfig={siteConfig} />
           <PromoSection>
-            <Button href="/docs/en/getting-started-local-single-node">Documentation</Button>
+      < Button
+      href = "/docs/getting-started-local-single-node" > Documentation < /Button>
             {/* keep as reference for now <Button href={docUrl('doc1.html')}>Github</Button> */}
             <Button href="https://github.com/apache/incubator-heron" target="_blank">Github</Button>
           </PromoSection>
diff --git a/website2/website/pages/en/release-notes.js b/website2/website/pages/en/release-notes.js
new file mode 100644
index 0000000..0695cc1
--- /dev/null
+++ b/website2/website/pages/en/release-notes.js
@@ -0,0 +1,43 @@
+const React = require('react');
+
+const CompLibrary = require('../../core/CompLibrary');
+const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */
+const Container = CompLibrary.Container;
+const GridBlock = CompLibrary.GridBlock;
+
+const CWD = process.cwd();
+
+const siteConfig = require(`${CWD}/siteConfig.js`);
+
+const releaseNotes = require('fs').readFileSync(`${CWD}/release-notes.md`, 'utf8')
+
+class ReleaseNotes extends React.Component {
+    render() {
+
+        return (
+            < div
+        className = "pageContainer" >
+            < Container
+        className = "mainContainer documentContainer postContainer" >
+            < div
+        className = "post" >
+            < header
+        className = "postHeader" >
+            < h1 > Apache
+        Heron(Incubating)
+        Release
+        Notes < /h1>
+        < hr / >
+        < /header>
+        < MarkdownBlock >
+        {releaseNotes}
+        < /MarkdownBlock>
+        < /div>
+        < /Container>
+        < /div>
+    )
+        ;
+    }
+}
+
+module.exports = ReleaseNotes;
\ No newline at end of file
diff --git a/website2/website/pages/en/versions.js b/website2/website/pages/en/versions.js
index b25ac50..db68518 100755
--- a/website2/website/pages/en/versions.js
+++ b/website2/website/pages/en/versions.js
@@ -45,7 +45,8 @@
                       props.language ? props.language + '/' : ''
                     }doc1`}> */}
                    <a
-                    href={`${siteConfig.baseUrl}docs/${props.language}/getting-started-local-single-node`}>
+    href = {`${siteConfig.baseUrl}docs/getting-started-local-single-node`
+}>
                     Documentation
                   </a>
                 </td>
@@ -68,7 +69,8 @@
                   {/* You are supposed to change this href where appropriate
                         Example: href="<baseUrl>/docs(/:language)/next/:id" */}
                   <a
-                    href={`${siteConfig.baseUrl}docs/${props.language}/next/getting-started-local-single-node`}>
+    href = {`${siteConfig.baseUrl}docs/next/getting-started-local-single-node`
+}>
                     Documentation
                   </a>
                 </td>
@@ -94,12 +96,15 @@
                         {/* You are supposed to change this href where appropriate
                         Example: href="<baseUrl>/docs(/:language)/:version/:id" */}
                         <a
-                          href={`${siteConfig.baseUrl}docs/${props.language}/${version}/getting-started-local-single-node`}>
+                  href = {`${siteConfig.baseUrl}docs/${version}/getting-started-local-single-node`
+              } >
                           Documentation
                         </a>
                       </td>
                       <td>
-                        <a href={`${repoUrl}/releases/tag/v${version}`}>
+        < a
+    href = {`${siteConfig.baseUrl}release-notes#${version}`
+}>
                           Release Notes
                         </a>
                       </td>
diff --git a/website2/website/release-notes.md b/website2/website/release-notes.md
new file mode 100644
index 0000000..b755f23
--- /dev/null
+++ b/website2/website/release-notes.md
@@ -0,0 +1,24 @@
+
+## Releases
+
+### 0.20.0-incubating &mdash; 2018-11-21 <a id="0.20.0"></a>
+
+This is the first release of Heron as an Apache Incubating Project
+
+- Fix annotation processor (#3038)
+- Refactor heron_executor to make it easier to customize (#3043)
+- Remove libunwind patches (#3041)
+- cleanup README (#3037)
+- Fix Topology-API window documentation (#3039)
+- Nwang/update thirdparty license (#3042)
+- Fix 'Copyright 2015 The Heron Authors' in scripts (#3036)
+
+### 0.21.1-incubating &mdash; 2019-7-20 <a id="0.20.1"></a>
+
+- Example commit of 0.21.1
+
+### 0.21.2-incubating &mdash; 2019-08-27 <a id="0.21.2"></a>
+
+- Example Commit (#XXXX)
+
+
diff --git a/website2/website/scripts/build-site.sh b/website2/website/scripts/build-site.sh
old mode 100644
new mode 100755
diff --git a/website2/website/scripts/javadocs-overview.html b/website2/website/scripts/javadocs-overview.html
old mode 100644
new mode 100755
diff --git a/website2/website/scripts/replace.js b/website2/website/scripts/replace.js
old mode 100644
new mode 100755
index 71ed7ef..a1b9cbe
--- a/website2/website/scripts/replace.js
+++ b/website2/website/scripts/replace.js
@@ -8,7 +8,6 @@
 
 function getVersions() {
     try {
-      console.log(JSON.parse(require('fs').readFileSync(`${CWD}/versions.json`, 'utf8')))
       return JSON.parse(require('fs').readFileSync(`${CWD}/versions.json`, 'utf8'));
     } catch (error) {
       //console.error(error)
@@ -30,14 +29,37 @@
     });
 }
 
+
 const versions = getVersions();
 
 const latestVersion = versions[0];
 
+const bazelVersions = {
+    '0.20.0': '0.14.1',
+    '0.20.1': '0.26',
+    'latest': '0.26',
+}
+
+function replaceBazel(version) {
+    try {
+        if (version in bazelVersions) {
+            return bazelVersions[version]
+        } else {
+            throw new Error('Unable to find bazel Version');
+        }
+    } catch (error) {
+
+        console.error('no versions found defaulting to 0.26')
+    }
+    return '0.26'
+}
+
 console.log(latestVersion)
 const from = [
-    /{{heron:version_latest}}/g,
     /{{heron:version}}/g,
+    /{{bazel:version}}/g,
+    /{{% heronVersion %}}/g,
+    /{{% bazelVersion %}}/g
 ];
 
 const options = {
@@ -48,8 +70,10 @@
     ignore: versions.map(v => `${docsDir}/${v}/**/*`), // TODO add next and assets
     from: from,
     to: [
-      `${latestVersion}`,
-      `${versions}`,
+        `${latestVersion}`,
+        replaceBazel(`${latestVersion}`),
+        `${latestVersion}`,
+        replaceBazel(`${latestVersion}`),
     ],
     dry: false
   };
@@ -68,10 +92,12 @@
       ],
       from: from,
       to: [
-        `${latestVersion}`,
-        `${v}`,
+          `${v}`,
+          replaceBazel(`${v}`),
+          `${v}`,
+          replaceBazel(`${v}`),
       ],
-      dry: true
+        dry: false
     };
     doReplace(opts);
 }  
\ No newline at end of file
diff --git a/website2/website/versioned_docs/version-0.20.0/getting-started-local-single-node.md b/website2/website/versioned_docs/version-0.20.0/getting-started-local-single-node.md
index f600634..8e92019 100644
--- a/website2/website/versioned_docs/version-0.20.0/getting-started-local-single-node.md
+++ b/website2/website/versioned_docs/version-0.20.0/getting-started-local-single-node.md
@@ -23,7 +23,6 @@
 
 > The current version of Heron is **{{heron:version}}**
 
-
 The easiest way to get started learning Heron is to install the Heron client tools, which are currently available for:
 
 * [MacOS](#macos-homebrew)
diff --git a/website2/website/versioned_docs/version-0.21.1/getting-started-local-single-node.md b/website2/website/versioned_docs/version-0.21.1/getting-started-local-single-node.md
new file mode 100644
index 0000000..a9c9117
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.21.1/getting-started-local-single-node.md
@@ -0,0 +1,286 @@
+---
+id: version-0.21.1-getting-started-local-single-node
+title: Local (Single Node)
+sidebar_label: Local (Single Node)
+original_id: getting-started-local-single-node
+---
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+> The current version of Heron is {{heron:version}}
+
+
+The easiest way to get started learning Heron is to install the Heron client tools, which are currently available for:
+
+* [MacOS](#macos-homebrew)
+* [Ubuntu >= 14.04](#using-installation-scripts)
+* [CentOS](#using-installation-scripts)
+
+For other platforms, you need to build from source. Please refer to the [guide to compiling Heron](compiling-overview).
+
+## Step 1 --- Download the Heron tools
+
+Heron tools can be installed on [macOS](#macos-homebrew) using [Homebrew](https://brew.sh) and on Linux using [installation scripts](#using-installation-scripts).
+
+> You can install using [installation scripts](#using-installation-scripts) on macOS as well.
+
+## macOS/Homebrew
+
+The easiest way to get started with Heron on macOS is using [Homebrew](https://brew.sh):
+
+```bash
+$ brew tap streamlio/homebrew-formulae
+$ brew update
+$ brew install heron
+```
+
+This will install a variety of executables and other resources by default in `/usr/local/opt/heron`.
+
+> Homebrew may use a different folder than `/usr/local/opt/heron`. To check which folder is being used, run `brew --prefix heron`.
+
+## Using installation scripts
+
+To install Heron binaries directly, using installation scripts, go to Heron's [releases page](https://github.com/apache/incubator-heron/releases) on GitHub
+and see a full listing of Heron releases for each available platform. The installation script for macOS (`darwin`), for example, is named
+`heron-install-{{% heronVersion %}}-darwin.sh`.
+
+Download the for your platform either from the releases page or using [`wget`](https://www.gnu.org/software/wget/). Here's a `wget` example for Ubuntu:
+
+```bash
+$ wget https://github.com/apache/incubator-heron/releases/download/{{% heronVersion %}}/heron-install-{{% heronVersion %}}-ubuntu.sh
+```
+
+Once you've downloaded the script, make it executable using [chmod](https://en.wikipedia.org/wiki/Chmod):
+
+```bash
+$ chmod +x heron-*.sh
+```
+
+> The script will install executables in the `~/bin` folder. You should add that folder to your `PATH` using `export PATH=~/bin:$PATH`.
+
+Now run the [Heron client](user-manuals-heron-cli) installation script with the `--user` flag set. Here's an example for Ubuntu:
+
+```bash
+$ ./heron-install-{{% heronVersion %}}-ubuntu.sh --user
+Heron installer
+---------------
+
+Uncompressing...done
+...
+Heron is now installed!
+```
+
+To check that Heron is successfully installed, run `heron version`:
+
+```bash
+$ heron version
+heron.build.git.revision : 26bb4096130a05f9799510bbce6c37a69a7342ef
+heron.build.git.status : Clean
+heron.build.host : ...
+heron.build.time : Sat Aug  6 12:35:47 PDT {{% currentYear %}}
+heron.build.timestamp : 1470512147000
+heron.build.user : ...
+heron.build.version : {{% heronVersion %}}
+```
+
+## Step 2 --- Launch an example topology
+
+> #### Note for macOS users
+
+> If you want to run topologies locally on macOS, you may need to add your
+> hostname to your `/etc/hosts` file under `localhost`. Here's an example line:
+> `127.0.0.1 localhost My-Mac-Laptop.local`. You can fetch your hostname by simply
+> running `hostname` in your shell.
+
+If you set the `--user` flag when running the installation scripts, some example
+topologies will be installed in your `~/.heron/examples` directory. You can
+launch an example [topology](heron-topology-concepts) locally (on your machine)
+using the [Heron CLI tool](user-manuals-heron-cli):
+
+```bash
+$ heron submit local \
+  ~/.heron/examples/heron-streamlet-examples.jar \
+  org.apache.heron.examples.streamlet.WindowedWordCountTopology \
+  WindowedWordCountTopology \
+  --deploy-deactivated
+```
+
+The output should look something like this:
+
+```bash
+INFO: Launching topology 'WindowedWordCountTopology'
+
+...
+
+INFO: Topology 'WindowedWordCountTopology' launched successfully
+INFO: Elapsed time: 3.409s.
+```
+
+This will *submit* the topology to your locally running Heron cluster but it
+won't *activate* the topology because the `--deploy-deactivated` flag was set.
+Activating the topology will be explored in [step
+5](#step-5-explore-topology-management-commands) below.
+
+Note that the output shows whether the topology has been launched successfully as well
+the working directory for the topology.
+
+To check what's under the working directory, run:
+
+```bash
+$ ls -al ~/.herondata/topologies/local/${ROLE}/WindowedWordCountTopology
+-rw-r--r--   1 username  staff     6141 Oct 12 09:58 WindowedWordCountTopology.defn
+-rw-r--r--   1 username  staff        5 Oct 12 09:58 container_1_flatmap1_4.pid
+-rw-r--r--   1 username  staff        5 Oct 12 09:58 container_1_logger1_3.pid
+# etc.
+```
+
+All instances' log files can be found in `log-files` under the working directory:
+
+```bash
+$ ls -al ~/.herondata/topologies/local/${ROLE}/WindowedWordCountTopology/log-files
+total 408
+-rw-r--r--   1 username  staff   5055 Oct 12 09:58 container_1_flatmap1_4.log.0
+-rw-r--r--   1 username  staff      0 Oct 12 09:58 container_1_flatmap1_4.log.0.lck
+-rw-r--r--   1 username  staff   5052 Oct 12 09:58 container_1_logger1_3.log.0
+# etc.
+```
+
+## Step 3 --- Start Heron Tracker
+
+The [Heron Tracker](user-manuals-heron-tracker-runbook) is a web service that
+continuously gathers information about your Heron cluster. You can launch the
+tracker by running the `heron-tracker` command (which is already installed):
+
+```bash
+$ heron-tracker
+... Running on port: 8888
+... Using config file: $HOME/.herontools/conf/heron_tracker.yaml
+```
+
+You can reach Heron Tracker in your browser at [http://localhost:8888](http://localhost:8888)
+and see something like the following upon successful submission of the topology:
+![Heron Tracker](assets/heron-tracker.png)
+
+To explore Heron Tracker, please refer to [Heron Tracker Rest API](user-manuals-tracker-rest)
+
+## Step 4 --- Start Heron UI
+
+[Heron UI](user-manuals-heron-ui-runbook) is a user interface that uses Heron Tracker to
+provide detailed visual representations of your Heron topologies. To launch
+Heron UI:
+
+```bash
+$ heron-ui
+... Running on port: 8889
+... Using tracker url: http://localhost:8888
+```
+
+You can open Heron UI in your browser at [http://localhost:8889](http://localhost:8889)
+and see something like this upon successful submission of the topology:
+![Heron UI](assets/heron-ui.png)
+
+To play with Heron UI, please refer to [Heron UI Usage Guide](guides-ui-guide)
+
+## Step 5 --- Explore topology management commands
+
+In step 2 you submitted a topology to your local cluster. The `heron` CLI tool
+also enables you to activate, deactivate, and kill topologies and more.
+
+```bash
+$ heron activate local WindowedWordCountTopology
+$ heron deactivate local WindowedWordCountTopology
+$ heron kill local WindowedWordCountTopology
+```
+
+Upon successful actions, a message similar to the following will appear:
+
+```bash
+INFO: Successfully activated topology 'WindowedWordCountTopology'
+INFO: Elapsed time: 1.980s.
+```
+
+For more info on these commands, read about [topology
+lifecycles](heron-topology-concepts#topology-lifecycle).
+
+To list the available CLI commands, run `heron` by itself:
+
+```bash
+usage: heron <command> <options> ...
+
+Available commands:
+    activate           Activate a topology
+    deactivate         Deactivate a topology
+    help               Prints help for commands
+    kill               Kill a topology
+    restart            Restart a topology
+    submit             Submit a topology
+    version            Print version of heron-cli
+
+For detailed documentation, go to http://heronstreaming.io
+```
+
+To invoke help output for a command, run `heron help COMMAND`. Here's an
+example:
+
+```bash
+$ heron help submit
+usage: heron submit [options] cluster/[role]/[environ] topology-file-name topology-class-name [topology-args]
+
+Required arguments:
+  cluster/[role]/[env]  Cluster, role, and environ to run topology
+  topology-file-name    Topology jar/tar/zip file
+  topology-class-name   Topology class name
+
+Optional arguments:
+  --config-path (a string; path to cluster config; default: "$HOME/.heron/conf")
+  --config-property (key=value; a config key and its value; default: [])
+  --deploy-deactivated (a boolean; default: "false")
+  -D DEFINE             Define a system property to pass to java -D when
+                        running main.
+  --verbose (a boolean; default: "false")
+```
+
+## Step 6 --- Explore other example topologies
+
+The source code for the example topologies can be found
+[on
+GitHub]({{% githubMaster %}}/examples/src/java/org/apache/heron/examples).
+The included example topologies:
+
+* `AckingTopology.java` --- A topology with acking enabled.
+* `ComponentJVMOptionsTopology.java` --- A topology that supplies JVM options
+  for each component.
+* `CustomGroupingTopology.java` --- A topology that implements custom grouping.
+* `ExclamationTopology.java` --- A spout that emits random words to a bolt that
+  then adds an exclamation mark.
+* `MultiSpoutExclamationTopology.java` --- a topology with multiple spouts.
+* `MultiStageAckingTopology.java` --- A three-stage topology. A spout emits to a
+  bolt that then feeds to another bolt.
+* `TaskHookTopology.java` --- A topology that uses a task hook to subscribe to
+   event notifications.
+
+## Troubleshooting
+In case of any issues, please refer to [Quick Start Troubleshooting](getting-started-troubleshooting-guide).
+
+### Next Steps
+
+* [Migrate Storm topologies](getting-started-migrate-storm-topologies) to Heron with simple `pom.xml`
+  changes
+* [Deploy topologies](deployment-overview) in clustered, scheduler-driven
+  environments (such as on [Aurora](schedulers-aurora-cluster)
+  and [locally](schedulers-local))
+* [Develop topologies](heron-architecture) for Heron
\ No newline at end of file
diff --git a/website2/website/versioned_docs/version-0.21.2/getting-started-local-single-node.md b/website2/website/versioned_docs/version-0.21.2/getting-started-local-single-node.md
new file mode 100644
index 0000000..672509b
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.21.2/getting-started-local-single-node.md
@@ -0,0 +1,286 @@
+---
+id: version-0.21.2-getting-started-local-single-node
+title: Local (Single Node)
+sidebar_label: Local (Single Node)
+original_id: getting-started-local-single-node
+---
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+> The current version of Heron is {{heron:version}}
+
+The easiest way to get started learning Heron is to install the Heron client tools, which are currently available for:
+
+* [MacOS](#macos-homebrew)
+* [Ubuntu >= 14.04](#using-installation-scripts)
+* [CentOS](#using-installation-scripts)
+
+
+For other platforms, you need to build from source. Please refer to the [guide to compiling Heron](compiling-overview).
+
+## Step 1 --- Download the Heron tools
+
+Heron tools can be installed on [macOS](#macos-homebrew) using [Homebrew](https://brew.sh) and on Linux using [installation scripts](#using-installation-scripts).
+
+> You can install using [installation scripts](#using-installation-scripts) on macOS as well.
+
+## macOS/Homebrew
+
+The easiest way to get started with Heron on macOS is using [Homebrew](https://brew.sh):
+
+```bash
+$ brew tap streamlio/homebrew-formulae
+$ brew update
+$ brew install heron
+```
+
+This will install a variety of executables and other resources by default in `/usr/local/opt/heron`.
+
+> Homebrew may use a different folder than `/usr/local/opt/heron`. To check which folder is being used, run `brew --prefix heron`.
+
+## Using installation scripts
+
+To install Heron binaries directly, using installation scripts, go to Heron's [releases page](https://github.com/apache/incubator-heron/releases) on GitHub
+and see a full listing of Heron releases for each available platform. The installation script for macOS (`darwin`), for example, is named
+`heron-install-{{% heronVersion %}}-darwin.sh`.
+
+Download the for your platform either from the releases page or using [`wget`](https://www.gnu.org/software/wget/). Here's a `wget` example for Ubuntu:
+
+```bash
+$ wget https://github.com/apache/incubator-heron/releases/download/{{% heronVersion %}}/heron-install-{{% heronVersion %}}-ubuntu.sh
+```
+
+Once you've downloaded the script, make it executable using [chmod](https://en.wikipedia.org/wiki/Chmod):
+
+```bash
+$ chmod +x heron-*.sh
+```
+
+> The script will install executables in the `~/bin` folder. You should add that folder to your `PATH` using `export PATH=~/bin:$PATH`.
+
+Now run the [Heron client](user-manuals-heron-cli) installation script with the `--user` flag set. Here's an example for Ubuntu:
+
+```bash
+$ ./heron-install-{{% heronVersion %}}-ubuntu.sh --user
+Heron installer
+---------------
+
+Uncompressing...done
+...
+Heron is now installed!
+```
+
+To check that Heron is successfully installed, run `heron version`:
+
+```bash
+$ heron version
+heron.build.git.revision : 26bb4096130a05f9799510bbce6c37a69a7342ef
+heron.build.git.status : Clean
+heron.build.host : ...
+heron.build.time : Sat Aug  6 12:35:47 PDT {{% currentYear %}}
+heron.build.timestamp : 1470512147000
+heron.build.user : ...
+heron.build.version : {{% heronVersion %}}
+```
+
+## Step 2 --- Launch an example topology
+
+> #### Note for macOS users
+
+> If you want to run topologies locally on macOS, you may need to add your
+> hostname to your `/etc/hosts` file under `localhost`. Here's an example line:
+> `127.0.0.1 localhost My-Mac-Laptop.local`. You can fetch your hostname by simply
+> running `hostname` in your shell.
+
+If you set the `--user` flag when running the installation scripts, some example
+topologies will be installed in your `~/.heron/examples` directory. You can
+launch an example [topology](heron-topology-concepts) locally (on your machine)
+using the [Heron CLI tool](user-manuals-heron-cli):
+
+```bash
+$ heron submit local \
+  ~/.heron/examples/heron-streamlet-examples.jar \
+  org.apache.heron.examples.streamlet.WindowedWordCountTopology \
+  WindowedWordCountTopology \
+  --deploy-deactivated
+```
+
+The output should look something like this:
+
+```bash
+INFO: Launching topology 'WindowedWordCountTopology'
+
+...
+
+INFO: Topology 'WindowedWordCountTopology' launched successfully
+INFO: Elapsed time: 3.409s.
+```
+
+This will *submit* the topology to your locally running Heron cluster but it
+won't *activate* the topology because the `--deploy-deactivated` flag was set.
+Activating the topology will be explored in [step
+5](#step-5-explore-topology-management-commands) below.
+
+Note that the output shows whether the topology has been launched successfully as well
+the working directory for the topology.
+
+To check what's under the working directory, run:
+
+```bash
+$ ls -al ~/.herondata/topologies/local/${ROLE}/WindowedWordCountTopology
+-rw-r--r--   1 username  staff     6141 Oct 12 09:58 WindowedWordCountTopology.defn
+-rw-r--r--   1 username  staff        5 Oct 12 09:58 container_1_flatmap1_4.pid
+-rw-r--r--   1 username  staff        5 Oct 12 09:58 container_1_logger1_3.pid
+# etc.
+```
+
+All instances' log files can be found in `log-files` under the working directory:
+
+```bash
+$ ls -al ~/.herondata/topologies/local/${ROLE}/WindowedWordCountTopology/log-files
+total 408
+-rw-r--r--   1 username  staff   5055 Oct 12 09:58 container_1_flatmap1_4.log.0
+-rw-r--r--   1 username  staff      0 Oct 12 09:58 container_1_flatmap1_4.log.0.lck
+-rw-r--r--   1 username  staff   5052 Oct 12 09:58 container_1_logger1_3.log.0
+# etc.
+```
+
+## Step 3 --- Start Heron Tracker
+
+The [Heron Tracker](user-manuals-heron-tracker-runbook) is a web service that
+continuously gathers information about your Heron cluster. You can launch the
+tracker by running the `heron-tracker` command (which is already installed):
+
+```bash
+$ heron-tracker
+... Running on port: 8888
+... Using config file: $HOME/.herontools/conf/heron_tracker.yaml
+```
+
+You can reach Heron Tracker in your browser at [http://localhost:8888](http://localhost:8888)
+and see something like the following upon successful submission of the topology:
+![Heron Tracker](assets/heron-tracker.png)
+
+To explore Heron Tracker, please refer to [Heron Tracker Rest API](user-manuals-tracker-rest)
+
+## Step 4 --- Start Heron UI
+
+[Heron UI](user-manuals-heron-ui-runbook) is a user interface that uses Heron Tracker to
+provide detailed visual representations of your Heron topologies. To launch
+Heron UI:
+
+```bash
+$ heron-ui
+... Running on port: 8889
+... Using tracker url: http://localhost:8888
+```
+
+You can open Heron UI in your browser at [http://localhost:8889](http://localhost:8889)
+and see something like this upon successful submission of the topology:
+![Heron UI](assets/heron-ui.png)
+
+To play with Heron UI, please refer to [Heron UI Usage Guide](guides-ui-guide)
+
+## Step 5 --- Explore topology management commands
+
+In step 2 you submitted a topology to your local cluster. The `heron` CLI tool
+also enables you to activate, deactivate, and kill topologies and more.
+
+```bash
+$ heron activate local WindowedWordCountTopology
+$ heron deactivate local WindowedWordCountTopology
+$ heron kill local WindowedWordCountTopology
+```
+
+Upon successful actions, a message similar to the following will appear:
+
+```bash
+INFO: Successfully activated topology 'WindowedWordCountTopology'
+INFO: Elapsed time: 1.980s.
+```
+
+For more info on these commands, read about [topology
+lifecycles](heron-topology-concepts#topology-lifecycle).
+
+To list the available CLI commands, run `heron` by itself:
+
+```bash
+usage: heron <command> <options> ...
+
+Available commands:
+    activate           Activate a topology
+    deactivate         Deactivate a topology
+    help               Prints help for commands
+    kill               Kill a topology
+    restart            Restart a topology
+    submit             Submit a topology
+    version            Print version of heron-cli
+
+For detailed documentation, go to http://heronstreaming.io
+```
+
+To invoke help output for a command, run `heron help COMMAND`. Here's an
+example:
+
+```bash
+$ heron help submit
+usage: heron submit [options] cluster/[role]/[environ] topology-file-name topology-class-name [topology-args]
+
+Required arguments:
+  cluster/[role]/[env]  Cluster, role, and environ to run topology
+  topology-file-name    Topology jar/tar/zip file
+  topology-class-name   Topology class name
+
+Optional arguments:
+  --config-path (a string; path to cluster config; default: "$HOME/.heron/conf")
+  --config-property (key=value; a config key and its value; default: [])
+  --deploy-deactivated (a boolean; default: "false")
+  -D DEFINE             Define a system property to pass to java -D when
+                        running main.
+  --verbose (a boolean; default: "false")
+```
+
+## Step 6 --- Explore other example topologies
+
+The source code for the example topologies can be found
+[on
+GitHub]({{% githubMaster %}}/examples/src/java/org/apache/heron/examples).
+The included example topologies:
+
+* `AckingTopology.java` --- A topology with acking enabled.
+* `ComponentJVMOptionsTopology.java` --- A topology that supplies JVM options
+  for each component.
+* `CustomGroupingTopology.java` --- A topology that implements custom grouping.
+* `ExclamationTopology.java` --- A spout that emits random words to a bolt that
+  then adds an exclamation mark.
+* `MultiSpoutExclamationTopology.java` --- a topology with multiple spouts.
+* `MultiStageAckingTopology.java` --- A three-stage topology. A spout emits to a
+  bolt that then feeds to another bolt.
+* `TaskHookTopology.java` --- A topology that uses a task hook to subscribe to
+   event notifications.
+
+## Troubleshooting
+In case of any issues, please refer to [Quick Start Troubleshooting](getting-started-troubleshooting-guide).
+
+### Next Steps
+
+* [Migrate Storm topologies](getting-started-migrate-storm-topologies) to Heron with simple `pom.xml`
+  changes
+* [Deploy topologies](deployment-overview) in clustered, scheduler-driven
+  environments (such as on [Aurora](schedulers-aurora-cluster)
+  and [locally](schedulers-local))
+* [Develop topologies](heron-architecture) for Heron
\ No newline at end of file
diff --git a/website2/website/versioned_docs/version-0.21.2/guides-ui-guide.md b/website2/website/versioned_docs/version-0.21.2/guides-ui-guide.md
new file mode 100644
index 0000000..9a029b4
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.21.2/guides-ui-guide.md
@@ -0,0 +1,206 @@
+---
+id: version-0.21.2-guides-ui-guide
+title: Heron UI Guide
+sidebar_label: Heron UI Guide
+original_id: guides-ui-guide
+---
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+### Overview
+
+This guide describes how to make best use of Heron UI for monitoring and
+debugging topologies.
+
+The UI provides a lot of information about a topology or a part of it quickly,
+thus reducing debugging time considerably. Some of these features are
+listed below. A complete set of features can be found in following sections.
+
+1. See logical plan of a topology
+2. See physical plan of a topology
+3. Configs of a topology
+4. See some basic metrics for each of the instances and components
+5. Links to get logs, memory histogram, jstack, heapdump and exceptions of
+   a particular instance
+
+#### Topologies Page
+
+Heron UI is a user interface that uses the Heron Tracker to display detailed, colorful visual representations of topologies, including the logical and physical plan for each topology. 
+
+Start the Heron tracker using `heron-tracker &` which uses default heron_tracker.yaml configuration file. It's a centralized gateway for cluster-wide information about topologies, including which topologies are running, being launched, being killed, etc. It exposes Json Restful endpoint and relies on Zookeeper nodes.
+
+Launc the Heron UI by the command:
+
+```bash
+heron-ui &
+```
+
+By default Heron UI will be started at `http://localhost:8889`
+
+Below is the home page of Heron UI.
+
+The following information or actions can be found on this page.
+
+1. List of all topologies
+2. Number of topologies filtered after search (total by default)
+3. A topology's overview
+4. Filter the topologies using `cluster`
+5. Filter the topologies using string matching in names, clusters, environs,
+   roles, versions, or submitters
+6. Sort the topologies based on a particular column
+7. Click on the topology name to find more info about the topology
+
+![All topologies](assets/all-topologies.png)
+
+#### Topology Page
+
+Below is the main page to monitor a topology.
+
+1. Name of the topology
+2. [Logical plan](heron-topology-concepts#logical-plan) of the topology
+3. [Physical plan](heron-topology-concepts#physical-plan) of the topology
+4. Health metrics for the topology
+5. General info about the topology
+6. General metrics for the topology
+7. Click components for more details
+8. Click instances for more details
+9. Click on aggregated metrics to color instances by metrics
+10. Link to topology level configs
+11. Link to job page  only if the scheduler provides a link
+   <!-- (TODO: Link to this guide) -->
+12. Link to viz dashboard for this topology only if Tracker is configured with
+   one. <!-- (TODO: Link to this configuration) -->
+
+![Topology1](assets/topology1.png)
+
+![Topology2](assets/topology2.png)
+
+Each node in logical plan can be clicked for more specific info about that
+component.
+
+1. Averaged or max metrics for all instances of this component
+2. Aggregated metrics for all instances of this component
+3. List of all instances and their aggregated metrics
+4. [Instance level operations](#instance-actions-pages), which are described in more details below
+
+![Topology Component](assets/topology-component.png)
+
+Clicking on an instance will highlight that instance in the list.
+
+1. Aggregated metrics are only for this instance
+2. Quick access to logs, exceptions and job pages for this instance
+3. Component counters are still aggregated for all instances
+4. The selected instance is highlighted
+
+![Topology Instance](assets/topology-instance.png)
+
+#### Aggregate Topology Metrics
+
+Selecting a metric will highlight the components and instances based on their
+health with respect to the metric, green being healthy, red indicating a problem.
+This is a quick way to find out which instances are having issues.
+
+![Topology Capacity](assets/topology-capacity.png)
+
+![Topology Failures](assets/topology-failures.png)
+
+#### Config Page
+
+These are the topology configurations <!-- (TODO: Add link to Topology
+Configurations) --> that your topology is configured with. Note that spout and
+bolt level configurations are not part of topology config.
+
+![Config](assets/config.png)
+
+#### <a name="instance-actions-pages">Instance Action Pages</a>
+
+These actions are available for all the instances. They are described in the
+next sections.
+
+![Instance Links](assets/topology-instance-links.png)
+
+#### Logs Page
+
+These are the logs generated by the selected instance. The whole logs file can
+also be downloaded.
+
+![Logs](assets/logs.png)
+
+#### Job Page
+
+Below is the directory view of the container. All instances from a container
+will point to the same job page. Following information is available on this page,
+amongst other things.
+
+1. The jar or tar file associated with this topology
+2. Logs for heron-executor <!-- TODO: Link heron-executor -->
+3. `log-files` folder which has instance logs, as well as `stream manager` or
+   `tmaster` logs.
+
+![Jobpage](assets/jobpage1.png)
+
+![Jobpage logfiles](assets/jobpage2-logfiles.png)
+
+#### Exceptions Page
+
+This page lists all exceptions logged by this instance. The exceptions are
+deduplicated, and for each exception, the page shows the number of times this
+exception occurred, the latest and the oldest occurance times.
+
+![Exceptions](assets/exceptions.png)
+
+#### PID Page
+
+This link can be used to find the process ID for an instance. Since each instance
+runs in its own JVM process, this will be unique for a host. The PID is also
+used for other tasks, such as getting jstack or heap dump for an instance.
+
+![PID](assets/pid.png)
+
+#### Jstack Page
+
+Click on this link to run the `jstack` command on the host against the PID for
+the instance. The output of the command is printed on the page in the browser
+itself.
+
+![Jstack](assets/jstack.png)
+
+#### Memory Histogram Page
+
+Click on this link to run the `jmap -histo` command on the host against the PID
+for the instance. The output of the command is printed on the page in the
+browser itself.
+
+![Histo](assets/histo.png)
+
+#### Memory Dump page
+
+Click on this link to run the `jmap -dump:format=b,file=/tmp/heap.bin` command
+agaist the PID for the instance. Follow the instructions on the page to download
+the heap dump file. This link does not download the file.
+
+![Memory Dump](assets/dump.png)
+
+#### Kill Heron UI server
+
+To kill Heron UI server run the following command:
+
+```bash
+kill $(pgrep -f heron-ui)
+```
+
+To stop all the Heron tools, kill the Heron Tracker as well using `kill $(pgrep -f heron-tracker)`.
diff --git a/website2/website/versioned_docs/version-0.21.2/user-manuals-heron-ui.md b/website2/website/versioned_docs/version-0.21.2/user-manuals-heron-ui.md
new file mode 100644
index 0000000..c293fe1
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.21.2/user-manuals-heron-ui.md
@@ -0,0 +1,62 @@
+---
+id: version-0.21.2-user-manuals-heron-ui-runbook
+title: Heron UI Runbook
+sidebar_label: Heron UI Runbook
+original_id: user-manuals-heron-ui-runbook
+---
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+**Heron UI** is a user interface that uses the [Heron Tracker](heron-architecture#heron-tracker) to display detailed,
+colorful visual representations of topologies, including the
+[logical](heron-topology-concepts#logical-plan) and [physical
+plan](heron-topology-concepts#physical-plan) for each topology. Check out
+[Heron UI Usage Guide](guides-ui-guide) for more information about
+various elements that UI exposes.
+
+### Building Heron UI
+
+Heron uses [bazel](http://bazel.io/) for compiling.
+[This page](compiling-overview) describes how to setup bazel
+for heron.
+
+```bash
+# Build heron-ui
+$ bazel build heron/tools/ui/src/python:heron-ui
+
+# The location of heron-ui pex executable is
+# bazel-bin/heron/tools/ui/src/python/heron-ui
+# To run using default options:
+$ ./bazel-bin/heron/tools/ui/src/python/heron-ui
+```
+
+`heron-ui` is a self executable
+[pex](https://pex.readthedocs.io/en/latest/whatispex.html) archive.
+
+### Heron UI Args
+
+* `--port` - Port to run the heron-ui on. Default port is `8889`.
+* `--tracker_url` - The base url for tracker. All the information about the
+  topologies is fetched from tracker. Default url is `http://localhost:8888`.
+* `--address` - Address to listen; Default address is `0.0.0.0`
+* `--base_url` - The base url path if operating behind proxy; Default is [`None`](https://github.com/apache/incubator-heron/blob/master/heron/tools/ui/src/python/main.py#L145)
+
+```bash
+$ heron-ui
+# is equivalent to
+$ heron-ui --port=8889 --tracker_url=http://localhost:8888
+```
diff --git a/website2/website/versions.json b/website2/website/versions.json
index 0340361..6ed5017 100644
--- a/website2/website/versions.json
+++ b/website2/website/versions.json
@@ -1,3 +1,5 @@
 [
+  "0.21.1",
+  "0.21.2",
   "0.20.0"
 ]