diff --git a/index.html b/index.html
index d308f70..f669485 100644
--- a/index.html
+++ b/index.html
@@ -62,19 +62,19 @@
             academic research, and open-source development.
           </p>
           <h2>News</h2>
-          <p><b>April 9th 2013:</b>
-          MADlib v0.6 is out!
-          <a href="#binaries">Binary packages</a> are available for CentOS/RedHat and for Mac OS X. On other platforms, MADlib can be <a href="https://github.com/madlib/madlib/wiki/Building-MADlib-from-Source">built from source.</a> Our Wiki provides <a href="https://github.com/madlib/madlib/wiki/Installation-Guide">detailed instructions</a> for deploying MADlib on PostgreSQL and Greenplum installations. For a list of new features, bug fixes, and known issues, please refer to the <a href="https://github.com/madlib/madlib/blob/v0.6/ReleaseNotes.txt">Release Notes</a>.
-          
+          <p><b>May 9th 2013:</b>
+          MADlib v0.7 is out!
+          <a href="#binaries">Binary packages</a> are available for CentOS/RedHat and for Mac OS X. On other platforms, MADlib can be <a href="https://github.com/madlib/madlib/wiki/Building-MADlib-from-Source">built from source.</a> Our Wiki provides <a href="https://github.com/madlib/madlib/wiki/Installation-Guide">detailed instructions</a> for deploying MADlib on PostgreSQL and Greenplum installations. For a list of new features, bug fixes, and known issues, please refer to the <a href="https://github.com/madlib/madlib/blob/v0.7/ReleaseNotes.txt">Release Notes</a>.
+
             As always, the <a href="http://groups.google.com/group/madlib-user-forum">MADlib forum</a> is open for questions and discussions. Try it out and let us know about your feedback!
           </p>
 
+          <p><b>April 9th 2012:</b>
+          MADlib v0.6 is out!
+
           <p><b>November 19th 2012:</b>
           MADlib v0.5 is out!
-          <a href="#binaries">Binary packages</a> are available for CentOS/RedHat and for Mac OS X. On other platforms, MADlib can be <a href="https://github.com/madlib/madlib/wiki/Building-MADlib-from-Source">built from source</a>. For a list of new features, bug fixes, and known issues, please refer to the <a href="https://github.com/madlib/madlib/blob/v0.5/ReleaseNotes.txt">Release Notes</a>.
-          
-          	As always, the <a href="http://groups.google.com/group/madlib-user-forum">MADlib forum</a> is open for questions and discussions. Try it out and let us know about your feedback!
-          </p>
+
           <p><b>August 29th 2012:</b>
           <a href="http://pages.cs.wisc.edu/~chrisre/">Chris R&eacute;</a>, <a href="http://www.florian-schoppmann.net">Florian Schoppmann</a>, and Caleb Welton present the paper <em><a href="http://vldb.org/pvldb/vol5/p1700_joehellerstein_vldb2012.pdf">The MADlib Analytics Library or MAD Skills, the SQL</a></em> at the <a href="http://www.vldb2012.org">38th International Conference on Very Large Data Bases</a> (VLDB 2012) in Istanbul, Turkey. <a href="http://sacan.biomed.drexel.edu/vldb2012/program/?volno=vol5no12&pid=935&downloadslides=1">Slides from the talk are available here.</a>
           </p>
@@ -83,10 +83,6 @@
           </p>
           <p><b>Jun 18th 2012:</b>
           MADlib v0.4 is out!
-          <a href="#binaries">Binary packages</a> are available for CentOS/RedHat and for Mac OS X. On other platforms, MADlib can be <a href="https://github.com/madlib/madlib/wiki/Building-MADlib-from-Source">built from source</a>. Our Wiki provides <a href="https://github.com/madlib/madlib/wiki/Installation-Guide">detailed instructions</a> for deploying MADlib to PostgreSQL and Greenplum installations. For a list of new features, bug fixes, and known issues, please refer to the <a href="https://github.com/madlib/madlib/blob/v0.4/ReleaseNotes.txt">Release Notes</a>.
-
-              As always, the <a href="http://groups.google.com/group/madlib-user-forum">MADlib forum</a> is open for questions and discussions. Try it out and let us know about your feedback!
-          </p>
           <p><b>June 17th 2012:</b>
           Gavin Yang talks about MADlib <a href="http://wiki.postgresql.org/wiki/Pgconfchina2012">at the PostgreSQL Conference China 2012</a> (in Chinese). Some pictures are available <a href="http://blog.163.com/digoal@126/blog/static/163877040201251710524904">in the organizer's blog</a>.
           </p>
@@ -111,17 +107,17 @@
             engineers and data scientists at
             <a href="http://www.greenplum.com/" target="blank">EMC/Greenplum.</a></p>
           <h2>Downloads</h2>
-          <p><a name="binaries">Binary packages of the latest MADlib release (v0.6):</a>
-            
+          <p><a name="binaries">Binary packages of the latest MADlib release (v0.7):</a>
+
             <br />&bull; Mac OS X 10.6 and higher:
-            <a href="http://www.madlib.net/files/madlib-0.6-Darwin.dmg"
+            <a href="http://www.madlib.net/files/madlib-0.7-Darwin.dmg"
             onClick="recordOutboundLink(this, 'Download', 'OSX');return false;">
-            Greenplum 4.0, 4.1, 4.2 / PostgreSQL 8.4, 9.0, 9.1, 9.2 (64-bit)</a>
-            
+            Greenplum 4.1, 4.2 / PostgreSQL 9.0, 9.1, 9.2 (64-bit)</a>
+
             <br />&bull; CentOS / Red Hat 5 and higher (64-bit):
-            <a href="http://www.madlib.net/files/madlib-0.6-Linux.rpm"
+            <a href="http://www.madlib.net/files/madlib-0.7-Linux.rpm"
             onClick="recordOutboundLink(this, 'Download', 'Linux');return false;">
-            Greenplum 4.0, 4.1, 4.2 / PostgreSQL 8.4, 9.0, 9.1, 9.2</a>
+            Greenplum 4.1, 4.2 / PostgreSQL 9.0, 9.1, 9.2</a>
           </p>
           <p>
             Source Code:
@@ -130,17 +126,17 @@
             onClick="recordOutboundLink(this, 'Download', 'Source-master');return false;">.zip</a>
             <a href="https://github.com/madlib/madlib/tarball/master"
             onClick="recordOutboundLink(this, 'Download', 'Source-master');return false;">.tar.gz</a>
-            <br />&bull; Latest stable release (v0.6):
-            <a href="https://github.com/madlib/madlib/zipball/v0.6.0"
-            onClick="recordOutboundLink(this, 'Download', 'Source-v0.6-zip');return false;">.zip</a>
-            <a href="https://github.com/madlib/madlib/tarball/v0.6.0"
-            onClick="recordOutboundLink(this, 'Download', 'Source-v0.6-tar.gz');return false;">.tar.gz</a>
+            <br />&bull; Latest stable release (v0.7):
+            <a href="https://github.com/madlib/madlib/zipball/v0.7.0"
+            onClick="recordOutboundLink(this, 'Download', 'Source-v0.7-zip');return false;">.zip</a>
+            <a href="https://github.com/madlib/madlib/tarball/v0.7.0"
+            onClick="recordOutboundLink(this, 'Download', 'Source-v0.7-tar.gz');return false;">.tar.gz</a>
             </p>
           <h2>Documentation</h2>
           <p>Installation guides can be found in the
             <a href="https://github.com/madlib/madlib/wiki/Installation-Guide" target="blank">MADlib Wiki</a>.<br />
           </p>
-          <p>Documentation for the latest release (v0.6):<br />
+          <p>Documentation for the latest release (v0.7):<br />
             &bull; Users: <a href="http://doc.madlib.net" target="blank">http://doc.madlib.net</a><br />
             &bull; Developers: <a href="http://devdoc.madlib.net" target="blank">http://devdoc.madlib.net</a><br />
           </p>
