diff --git a/site/.gitignore b/site/.gitignore
index 879aab2..df1f8d6 100644
--- a/site/.gitignore
+++ b/site/.gitignore
@@ -13,6 +13,23 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+# 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.
+#
 .sass-cache
 Gemfile.lock
+
+# generated site
 target
diff --git a/site/_data/project.yml b/site/_data/project.yml
index 6a970aa..b2d0cfd 100644
--- a/site/_data/project.yml
+++ b/site/_data/project.yml
@@ -15,11 +15,14 @@
 #
 # Apache Project configurations
 #
-name: Apache SystemML (incubating)
+name: Apache SystemML
 short_name: SystemML
+unix_name: systemml
+incubator_name: incubator-systemml
+incubator_slash_name: incubator/systemml
 description: Apache SystemML is a distributed and declarative machine learning platform.
 
-download: http://www.github.com/SparkTC/systemml/releases
+download: /download.html
 
 dev_list: dev@systemml.incubator.apache.org
 dev_list_subscribe: dev-subscribe@systemml.incubator.apache.org
diff --git a/site/_includes/themes/apache/_navigation.html b/site/_includes/themes/apache/_navigation.html
index 8e5e114..5066841 100644
--- a/site/_includes/themes/apache/_navigation.html
+++ b/site/_includes/themes/apache/_navigation.html
@@ -15,7 +15,7 @@
         <nav class="navbar-collapse collapse" role="navigation">
           <ul class="nav navbar-nav navbar-right">
             <li><a href="/community.html">Community</a></li>
-            <li><a href="{{ site.data.project.source_repository }}">GitHub</a></li>
+            <li><a href="/download.html">Download</a></li>
             <li id="apache">
               <a href="#" data-toggle="dropdown" class="dropdown-toggle">Apache<b class="caret"></b></a>
                <ul class="dropdown-menu">
diff --git a/site/_posts/2015-09-25-release-0.1.0.md b/site/_posts/2015-09-25-release-0.1.0.md
new file mode 100644
index 0000000..3125b4b
--- /dev/null
+++ b/site/_posts/2015-09-25-release-0.1.0.md
@@ -0,0 +1,31 @@
+---
+layout: news_item
+date: "2015-09-25 12:00:00 +0000"
+author: jhyde
+version: 0.1.0
+categories: [release]
+tag: v0-1-0
+sha: cafecafe
+---
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
+This is our first release!
+
+We're so pleased to be in the Apache Incbuator.
\ No newline at end of file
diff --git a/site/_posts/2015-11-08-new-committers.md b/site/_posts/2015-11-08-new-committers.md
new file mode 100644
index 0000000..95fc4bf
--- /dev/null
+++ b/site/_posts/2015-11-08-new-committers.md
@@ -0,0 +1,31 @@
+---
+layout: news_item
+title: "Project adds 2 committers"
+date: "2015-11-08 19:03:07 -0800"
+author: jhyde
+categories: [team]
+---
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
+The {{ site.data.project.short_name }} project management committee today added two new
+committers for their work on the project. Welcome!
+
+* Darth Vader
+* Princess Leia
diff --git a/site/_posts/2015-11-08-welcome-to-jekyll.markdown b/site/_posts/2015-11-08-welcome-to-jekyll.markdown
deleted file mode 100644
index b953717..0000000
--- a/site/_posts/2015-11-08-welcome-to-jekyll.markdown
+++ /dev/null
@@ -1,25 +0,0 @@
----
-layout: post
-title:  "Welcome to Jekyll!"
-date:   2015-11-08 07:47:47 -0300
-categories: jekyll update
----
-You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
-
-To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
-
-Jekyll also offers powerful support for code snippets:
-
-{% highlight ruby %}
-def print_hi(name)
-  puts "Hi, #{name}"
-end
-print_hi('Tom')
-#=> prints 'Hi, Tom' to STDOUT.
-{% endhighlight %}
-
-Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk].
-
-[jekyll-docs]: http://jekyllrb.com/docs/home
-[jekyll-gh]:   https://github.com/jekyll/jekyll
-[jekyll-talk]: https://talk.jekyllrb.com/
diff --git a/site/_posts/2015-11-10-release-0.2.0.md b/site/_posts/2015-11-10-release-0.2.0.md
new file mode 100644
index 0000000..cb1bad7
--- /dev/null
+++ b/site/_posts/2015-11-10-release-0.2.0.md
@@ -0,0 +1,34 @@
+---
+layout: news_item
+date: "2015-11-10 12:00:00 +0000"
+author: lresenda
+version: 0.2.0
+categories: [release]
+tag: v0-2-0
+sha: ba6e43c
+---
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
+This is our second release! Thanks to everyone who has contributed to
+it.
+
+In addition to a large number of bug fixes and minor enhancements,
+this release includes faster-than-light travel and chewing gum that
+never loses its flavor.
diff --git a/site/download.md b/site/download.md
new file mode 100644
index 0000000..37843c4
--- /dev/null
+++ b/site/download.md
@@ -0,0 +1,78 @@
+---
+layout: page
+title: Downloads
+description: Project Downloads page
+group: nav-right
+---
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+{% include JB/setup %}
+
+## {{ site.data.project.name }} Downloads
+
+{{ site.data.project.name }} is released as a source artifact, and also through Maven.
+
+### Source releases
+
+Release          | Date       | Commit   | Download
+:--------------- | :--------- | :------- | :-------
+{% for post in site.categories.release %}{% comment %}
+{% endcomment %}{% if post.fullVersion %}{% comment %}
+{% endcomment %}{% assign v = post.fullVersion %}{% comment %}
+{% endcomment %}{% else %}{% comment %}
+{% endcomment %}{% capture v %}apache-{{ site.data.project.unix_name }}-{{ post.version }}{% endcapture %}{% comment %}
+{% endcomment %}{% endif %}{% comment %}
+{% endcomment %}{% if forloop.index0 < 2 %}{% comment %}
+{% endcomment %}{% capture p %}http://www.apache.org/dyn/closer.lua?filename={{ site.data.project.unix_name }}/{{ v }}{% endcapture %}{% comment %}
+{% endcomment %}{% assign q = "&action=download" %}{% comment %}
+{% endcomment %}{% assign d = "https://www.apache.org/dist" %}{% comment %}
+{% endcomment %}{% else %}{% comment %}
+{% endcomment %}{% capture p %}http://archive.apache.org/dist/incubator/{{ site.data.project.unix_name }}/{{ v }}{% endcapture %}{% comment %}
+{% endcomment %}{% assign q = "" %}{% comment %}
+{% endcomment %}{% assign d = "https://archive.apache.org/dist/incubator" %}{% comment %}
+{% endcomment %}{% endif %}{% comment %}
+{% endcomment %}<a href="{{ site.baseurl }}/history.html#{{ post.tag }}">{{ post.version }}</a>{% comment %}
+{% endcomment %} | {{ post.date | date_to_string }}{% comment %}
+{% endcomment %} | <a href="https://github.com/apache/{{ site.data.project.unix_name }}/commit/{{ post.sha }}">{{ post.sha }}</a>{% comment %}
+{% endcomment %} | <a href="{{ p }}/{{ v }}-src.tar.gz{{ q }}">tar</a>{% comment %}
+{% endcomment %} (<a href="{{ d }}/{{ site.data.project.unix_name }}/{{ v }}/{{ v }}-src.tar.gz.md5">md5</a>{% comment %}
+{% endcomment %} <a href="{{ d }}/{{ site.data.project.unix_name }}/{{ v }}/{{ v }}-src.tar.gz.asc">pgp</a>){% comment %}
+{% endcomment %} {% raw %}<br>{% endraw %}{% comment %}
+{% endcomment %} <a href="{{ p }}/{{ v }}-src.zip{{ q }}">zip</a>{% comment %}
+{% endcomment %} (<a href="{{ d }}/{{ site.data.project.unix_name }}/{{ v }}/{{ v }}-src.zip.md5">md5</a>{% comment %}
+{% endcomment %} <a href="{{ d }}/{{ site.data.project.unix_name }}/{{ v }}/{{ v }}-src.zip.asc">pgp</a>){% comment %}
+{% endcomment %}
+{% endfor %}
+
+Choose a source distribution in either *tar* or *zip* format,
+and [verify](http://www.apache.org/dyn/closer.cgi#verify)
+using the corresponding *pgp* signature (using the committer file in
+[KEYS](http://www.apache.org/dist/{{ site.data.project.unix_name }}/KEYS)).
+If you cannot do that, the *md5* hash file may be used to check that the
+download has completed OK.
+
+For fast downloads, current source distributions are hosted on mirror servers;
+older source distributions are in the
+[archive](http://archive.apache.org/dist/incubator/{{ site.data.project.unix_name }}/).
+If a download from a mirror fails, retry, and the second download will likely
+succeed.
+
+For security, hash and signature files are always hosted at
+[Apache](https://www.apache.org/dist).
+
diff --git a/site/history.md b/site/history.md
new file mode 100644
index 0000000..0b8d55b
--- /dev/null
+++ b/site/history.md
@@ -0,0 +1,50 @@
+---
+layout: page
+title: History
+description: Release History
+group: nav-right
+---
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
+{% include JB/setup %}
+
+## {{ site.data.project.name }} Downloads
+
+For a full list of releases, see
+<a href="https://github.com/apache/{{ site.data.project.incubator_slash_name }}/releases">github</a>.
+Downloads are available on the
+[downloads page]({{ site.baseurl }}/download.html).
+
+## <a href="https://github.com/apache/{{ site.data.project.incubator_slash_name }}/releases/tag/{{ site.data.project.unix_name }}-0.2.0">0.2.0</a> / 2015-11-10
+{: #v0-2-0}
+
+Our second release!
+
+New features
+
+* [<a href="https://issues.apache.org/jira/browse/FOO-911">FOO-911</a>]
+  Add a variant of `FooSchema` that does not cache sub-objects
+* [<a href="https://issues.apache.org/jira/browse/FOO-845">FOO-845</a>]
+  Derive `FOO` return type by a customizable policy
+
+## <a href="https://github.com/apache/{{ site.data.project.incubator_slash_name }}/releases/tag/{{ site.data.project.unix_name }}-0.1.0">0.1.0</a> / 2015-09-25
+{: #v0-1-0}
+
+Our first release!
