diff --git a/_layouts/default.html b/_layouts/default.html
index 179d35a..cc5b498 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -35,22 +35,6 @@
 
     <footer>
       <div class="row">
-        <div class="col-md-9 col-centered">
-          <div class="col-md-9 text-left">
-            <p>Apache AsterixDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored
-              by the Apache Incubator.
-              Incubation is required of all newly accepted projects until a further review indicates that the
-              infrastructure, communications, and decision making process have stabilized in a manner consistent with
-              other successful ASF projects.
-              While incubation status is not necessarily a reflection of the completeness or stability of the code, it
-              does indicate that the project has yet to be fully endorsed by the ASF.</p>
-          </div>
-          <div class="col-md-3 text-right">
-            <img src="img/egg-logo.png" style="height:auto; width:200px; vertical-align:bottom;"/>
-          </div>
-      </div>
-      </div>
-      <div class="row">
         <div class="col-md-9 col-centered text-center">
           <p/>
           <p>&copy; Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
diff --git a/about.md b/about.md
index 1520605..157a88c 100644
--- a/about.md
+++ b/about.md
@@ -2,9 +2,9 @@
 title: About Apache AsterixDB
 ---
 
-Apache AsterixDB&trade; (incubating) is a highly scalable data management system that can store, index, and manage
-semi-structured data, e.g., much like MongoDB, but it also supports a full-power query language with the expressiveness
-of SQL (and more).
+Apache AsterixDB&trade; is a highly scalable data management system that can store, index, and manage semi-structured
+data, e.g., much like MongoDB, but it also supports a full-power query language with the expressiveness of SQL (and
+more).
 Unlike analytics engines like Apache Hive or Apache Spark, it stores and manages data, so AsterixDB can exploit its
 knowledge of data partitioning and the availability of indexes to avoid always scanning data set(s) to process queries.
 Somewhat surprisingly, there is no open source parallel database system (relational or otherwise) available to
@@ -35,5 +35,5 @@
 which was to combine the best ideas from the parallel database world, the then new Apache Hadoop world, and the
 semi-structured (e.g., XML/JSON) data world in order to create a next-generation BDMS. A first informal open source
 release was made four years later, in June of 2013, under the Apache Software License 2.0. AsterixDB was accepted into
-the Apache Incubator and began Incubation as of Febuary of 2015.
+the Apache Incubator in Febuary of 2015 and was established as a TLP in April of 2016.
 
diff --git a/community.md b/community.md
index b2fcd9e..3e6b50c 100644
--- a/community.md
+++ b/community.md
@@ -3,8 +3,9 @@
 layout: wide
 ---
 
-Apache AsterixDB&trade; (incubating) strives to support an open and transparent development process.
-Here are the various places where you can find discussions relating to the day to day development of AsterixDB and related projects, as well as answers to any AsterixDB-related questions.
+Apache AsterixDB&trade; strives to support an open and transparent development process. Here are the various places
+where you can find discussions relating to the day to day development of AsterixDB and related projects, as well as
+answers to any AsterixDB-related questions.
 
 * TOC
 {:toc }
diff --git a/content/about.html b/content/about.html
index 914e398..fec3560 100644
--- a/content/about.html
+++ b/content/about.html
@@ -104,9 +104,9 @@
     <div class="row">
 <div class="col-md-8 col-centered">
 <h2>About Apache AsterixDB</h2>
-<p>Apache AsterixDB™ (incubating) is a highly scalable data management system that can store, index, and manage
-semi-structured data, e.g., much like MongoDB, but it also supports a full-power query language with the expressiveness
-of SQL (and more).
+<p>Apache AsterixDB™ is a highly scalable data management system that can store, index, and manage semi-structured
+data, e.g., much like MongoDB, but it also supports a full-power query language with the expressiveness of SQL (and
+more).
 Unlike analytics engines like Apache Hive or Apache Spark, it stores and manages data, so AsterixDB can exploit its
 knowledge of data partitioning and the availability of indexes to avoid always scanning data set(s) to process queries.
 Somewhat surprisingly, there is no open source parallel database system (relational or otherwise) available to
@@ -139,7 +139,7 @@
 which was to combine the best ideas from the parallel database world, the then new Apache Hadoop world, and the
 semi-structured (e.g., XML/JSON) data world in order to create a next-generation BDMS. A first informal open source
 release was made four years later, in June of 2013, under the Apache Software License 2.0. AsterixDB was accepted into
-the Apache Incubator and began Incubation as of Febuary of 2015.</p>
+the Apache Incubator in Febuary of 2015 and was established as a TLP in April of 2016.</p>
 
 
 </div>
@@ -150,22 +150,6 @@
 
     <footer>
       <div class="row">
-        <div class="col-md-9 col-centered">
-          <div class="col-md-9 text-left">
-            <p>Apache AsterixDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored
-              by the Apache Incubator.
-              Incubation is required of all newly accepted projects until a further review indicates that the
-              infrastructure, communications, and decision making process have stabilized in a manner consistent with
-              other successful ASF projects.
-              While incubation status is not necessarily a reflection of the completeness or stability of the code, it
-              does indicate that the project has yet to be fully endorsed by the ASF.</p>
-          </div>
-          <div class="col-md-3 text-right">
-            <img src="img/egg-logo.png" style="height:auto; width:200px; vertical-align:bottom;"/>
-          </div>
-      </div>
-      </div>
-      <div class="row">
         <div class="col-md-9 col-centered text-center">
           <p/>
           <p>&copy; Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
diff --git a/content/community.html b/content/community.html
index d4f1f80..7c7f599 100644
--- a/content/community.html
+++ b/content/community.html
@@ -104,8 +104,9 @@
     <div class="row">
 <div class="col-md-10 col-centered">
 <h2>Community</h2>
-<p>Apache AsterixDB™ (incubating) strives to support an open and transparent development process.
-Here are the various places where you can find discussions relating to the day to day development of AsterixDB and related projects, as well as answers to any AsterixDB-related questions.</p>
+<p>Apache AsterixDB™ strives to support an open and transparent development process. Here are the various places
+where you can find discussions relating to the day to day development of AsterixDB and related projects, as well as
+answers to any AsterixDB-related questions.</p>
 
 <ul id="markdown-toc">
   <li><a href="#mailing-lists" id="markdown-toc-mailing-lists">Mailing Lists</a></li>
@@ -366,22 +367,6 @@
 
     <footer>
       <div class="row">
-        <div class="col-md-9 col-centered">
-          <div class="col-md-9 text-left">
-            <p>Apache AsterixDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored
-              by the Apache Incubator.
-              Incubation is required of all newly accepted projects until a further review indicates that the
-              infrastructure, communications, and decision making process have stabilized in a manner consistent with
-              other successful ASF projects.
-              While incubation status is not necessarily a reflection of the completeness or stability of the code, it
-              does indicate that the project has yet to be fully endorsed by the ASF.</p>
-          </div>
-          <div class="col-md-3 text-right">
-            <img src="img/egg-logo.png" style="height:auto; width:200px; vertical-align:bottom;"/>
-          </div>
-      </div>
-      </div>
-      <div class="row">
         <div class="col-md-9 col-centered text-center">
           <p/>
           <p>&copy; Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
diff --git a/content/dev-setup.html b/content/dev-setup.html
index efd53cc..57a8e68 100644
--- a/content/dev-setup.html
+++ b/content/dev-setup.html
@@ -137,7 +137,7 @@
 <hr />
 
 <h2 id="introduction">Introduction</h2>
-<p>We warmly welcome any contributions to the Apache AsterixDB™ (incubating) or related (Hyracks, Pregelix) projects.
+<p>We warmly welcome any contributions to the Apache AsterixDB™ or related (Hyracks, Pregelix) projects.
 A great way to start contributing is to pick a bug labelled starter in JIRA and submit a patch for it, to get acquainted with our codebase and development process.</p>
 
 <hr />
@@ -415,22 +415,6 @@
 
     <footer>
       <div class="row">
-        <div class="col-md-9 col-centered">
-          <div class="col-md-9 text-left">
-            <p>Apache AsterixDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored
-              by the Apache Incubator.
-              Incubation is required of all newly accepted projects until a further review indicates that the
-              infrastructure, communications, and decision making process have stabilized in a manner consistent with
-              other successful ASF projects.
-              While incubation status is not necessarily a reflection of the completeness or stability of the code, it
-              does indicate that the project has yet to be fully endorsed by the ASF.</p>
-          </div>
-          <div class="col-md-3 text-right">
-            <img src="img/egg-logo.png" style="height:auto; width:200px; vertical-align:bottom;"/>
-          </div>
-      </div>
-      </div>
-      <div class="row">
         <div class="col-md-9 col-centered text-center">
           <p/>
           <p>&copy; Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
diff --git a/content/download.html b/content/download.html
index ef59e4f..25221e8 100644
--- a/content/download.html
+++ b/content/download.html
@@ -112,7 +112,7 @@
 <div class="row">
 <div class="col-md-6">
 
-    <p>Apache AsterixDB™ (incubating) source releases as a tarball/zip are available on the ASF mirror of your choice.</p>
+    <p>Apache AsterixDB™ source releases as a tarball/zip are available on the ASF mirror of your choice.</p>
 
     <p>Feel free to browse and download the source tree of AsterixDB (and Hyracks) from our GitHub mirror.</p>
 
@@ -179,22 +179,6 @@
 
     <footer>
       <div class="row">
-        <div class="col-md-9 col-centered">
-          <div class="col-md-9 text-left">
-            <p>Apache AsterixDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored
-              by the Apache Incubator.
-              Incubation is required of all newly accepted projects until a further review indicates that the
-              infrastructure, communications, and decision making process have stabilized in a manner consistent with
-              other successful ASF projects.
-              While incubation status is not necessarily a reflection of the completeness or stability of the code, it
-              does indicate that the project has yet to be fully endorsed by the ASF.</p>
-          </div>
-          <div class="col-md-3 text-right">
-            <img src="img/egg-logo.png" style="height:auto; width:200px; vertical-align:bottom;"/>
-          </div>
-      </div>
-      </div>
-      <div class="row">
         <div class="col-md-9 col-centered text-center">
           <p/>
           <p>&copy; Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
diff --git a/content/features.md b/content/features.md
index bbf57ff..84e3184 100644
--- a/content/features.md
+++ b/content/features.md
@@ -1,10 +1,10 @@
 
 # AsterixDB Features#
 
-Apache AsterixDB&trade; (incubating) is a BDMS (Big Data Management System) with a rich feature set that
-sets it apart from other Big Data platforms.
-Its feature set makes it well-suited to modern needs such as web data
-warehousing and social data storage and analysis. AsterixDB has:
+Apache AsterixDB&trade; is a BDMS (Big Data Management System) with a rich feature set that sets it apart from other
+Big Data platforms.
+Its feature set makes it well-suited to modern needs such as web data warehousing and social data storage and analysis.
+AsterixDB has:
 
  * A semistructured NoSQL style data model (ADM) resulting from extending JSON
    with object database ideas
diff --git a/content/index.html b/content/index.html
index bfec007..7013d00 100644
--- a/content/index.html
+++ b/content/index.html
@@ -104,7 +104,7 @@
     <div class="row">
  <div class="col-md-9 col-centered">
    <div class="well text-center"><p class="lead text-center">
-     <strong>Apache AsterixDB</strong>™ (incubating) is an open source Big Data Management System (BDMS).</p>
+     <strong>Apache AsterixDB</strong>™ is an open source Big Data Management System (BDMS).</p>
    </div>
  </div>
 </div>
@@ -270,22 +270,6 @@
 
     <footer>
       <div class="row">
-        <div class="col-md-9 col-centered">
-          <div class="col-md-9 text-left">
-            <p>Apache AsterixDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored
-              by the Apache Incubator.
-              Incubation is required of all newly accepted projects until a further review indicates that the
-              infrastructure, communications, and decision making process have stabilized in a manner consistent with
-              other successful ASF projects.
-              While incubation status is not necessarily a reflection of the completeness or stability of the code, it
-              does indicate that the project has yet to be fully endorsed by the ASF.</p>
-          </div>
-          <div class="col-md-3 text-right">
-            <img src="img/egg-logo.png" style="height:auto; width:200px; vertical-align:bottom;"/>
-          </div>
-      </div>
-      </div>
-      <div class="row">
         <div class="col-md-9 col-centered text-center">
           <p/>
           <p>&copy; Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
diff --git a/content/pushing.html b/content/pushing.html
index 6c84063..8f811b7 100644
--- a/content/pushing.html
+++ b/content/pushing.html
@@ -167,22 +167,6 @@
 
     <footer>
       <div class="row">
-        <div class="col-md-9 col-centered">
-          <div class="col-md-9 text-left">
-            <p>Apache AsterixDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored
-              by the Apache Incubator.
-              Incubation is required of all newly accepted projects until a further review indicates that the
-              infrastructure, communications, and decision making process have stabilized in a manner consistent with
-              other successful ASF projects.
-              While incubation status is not necessarily a reflection of the completeness or stability of the code, it
-              does indicate that the project has yet to be fully endorsed by the ASF.</p>
-          </div>
-          <div class="col-md-3 text-right">
-            <img src="img/egg-logo.png" style="height:auto; width:200px; vertical-align:bottom;"/>
-          </div>
-      </div>
-      </div>
-      <div class="row">
         <div class="col-md-9 col-centered text-center">
           <p/>
           <p>&copy; Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
diff --git a/content/site.html b/content/site.html
index af1ca12..df6b5d4 100644
--- a/content/site.html
+++ b/content/site.html
@@ -225,22 +225,6 @@
 
     <footer>
       <div class="row">
-        <div class="col-md-9 col-centered">
-          <div class="col-md-9 text-left">
-            <p>Apache AsterixDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored
-              by the Apache Incubator.
-              Incubation is required of all newly accepted projects until a further review indicates that the
-              infrastructure, communications, and decision making process have stabilized in a manner consistent with
-              other successful ASF projects.
-              While incubation status is not necessarily a reflection of the completeness or stability of the code, it
-              does indicate that the project has yet to be fully endorsed by the ASF.</p>
-          </div>
-          <div class="col-md-3 text-right">
-            <img src="img/egg-logo.png" style="height:auto; width:200px; vertical-align:bottom;"/>
-          </div>
-      </div>
-      </div>
-      <div class="row">
         <div class="col-md-9 col-centered text-center">
           <p/>
           <p>&copy; Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
diff --git a/content/tools.html b/content/tools.html
index bef6a15..1547df8 100644
--- a/content/tools.html
+++ b/content/tools.html
@@ -104,7 +104,7 @@
     <div class="row">
 <div class="col-md-10 col-centered">
 <h2>Tools</h2>
-<p>Apache AsterixDB™ (incubating) is built and maintained using a variety of open source and commerical tools.
+<p>Apache AsterixDB™ is built and maintained using a variety of open source and commerical tools.
 This page lists some of them, in no particular order.</p>
 
 <ul id="markdown-toc">
@@ -157,22 +157,6 @@
 
     <footer>
       <div class="row">
-        <div class="col-md-9 col-centered">
-          <div class="col-md-9 text-left">
-            <p>Apache AsterixDB is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored
-              by the Apache Incubator.
-              Incubation is required of all newly accepted projects until a further review indicates that the
-              infrastructure, communications, and decision making process have stabilized in a manner consistent with
-              other successful ASF projects.
-              While incubation status is not necessarily a reflection of the completeness or stability of the code, it
-              does indicate that the project has yet to be fully endorsed by the ASF.</p>
-          </div>
-          <div class="col-md-3 text-right">
-            <img src="img/egg-logo.png" style="height:auto; width:200px; vertical-align:bottom;"/>
-          </div>
-      </div>
-      </div>
-      <div class="row">
         <div class="col-md-9 col-centered text-center">
           <p/>
           <p>&copy; Copyright 2016 The Apache Software foundation. All Rights Reserved. </p>
diff --git a/dev-setup.md b/dev-setup.md
index 0a91032..d7680f4 100644
--- a/dev-setup.md
+++ b/dev-setup.md
@@ -11,7 +11,7 @@
 ---
 
 ## Introduction
-We warmly welcome any contributions to the Apache AsterixDB&trade; (incubating) or related (Hyracks, Pregelix) projects.
+We warmly welcome any contributions to the Apache AsterixDB&trade; or related (Hyracks, Pregelix) projects.
 A great way to start contributing is to pick a bug labelled starter in JIRA and submit a patch for it, to get acquainted with our codebase and development process.
 
 ---
diff --git a/download.md b/download.md
index 741501f..d72407c 100644
--- a/download.md
+++ b/download.md
@@ -10,7 +10,7 @@
 <div class="row">
 <div class="col-md-6" markdown="1">
 
-Apache AsterixDB&trade; (incubating) source releases as a tarball/zip are available on the ASF mirror of your choice.
+Apache AsterixDB&trade; source releases as a tarball/zip are available on the ASF mirror of your choice.
 
 Feel free to browse and download the source tree of AsterixDB (and Hyracks) from our GitHub mirror.
 
diff --git a/features.md b/features.md
index bbf57ff..84e3184 100644
--- a/features.md
+++ b/features.md
@@ -1,10 +1,10 @@
 
 # AsterixDB Features#
 
-Apache AsterixDB&trade; (incubating) is a BDMS (Big Data Management System) with a rich feature set that
-sets it apart from other Big Data platforms.
-Its feature set makes it well-suited to modern needs such as web data
-warehousing and social data storage and analysis. AsterixDB has:
+Apache AsterixDB&trade; is a BDMS (Big Data Management System) with a rich feature set that sets it apart from other
+Big Data platforms.
+Its feature set makes it well-suited to modern needs such as web data warehousing and social data storage and analysis.
+AsterixDB has:
 
  * A semistructured NoSQL style data model (ADM) resulting from extending JSON
    with object database ideas
diff --git a/index.md b/index.md
index 9eb9851..79a59b9 100644
--- a/index.md
+++ b/index.md
@@ -6,7 +6,7 @@
 <div class="row">
  <div class="col-md-9 col-centered">
    <div class="well text-center"><p class="lead text-center" markdown="1">
-     __Apache AsterixDB__&trade; (incubating) is an open source Big Data Management System (BDMS).</p>
+     __Apache AsterixDB__&trade; is an open source Big Data Management System (BDMS).</p>
    </div>
  </div>
 </div>
diff --git a/tools.md b/tools.md
index 4d0a925..7919243 100644
--- a/tools.md
+++ b/tools.md
@@ -3,7 +3,7 @@
 layout: wide
 ---
 
-Apache AsterixDB&trade; (incubating) is built and maintained using a variety of open source and commerical tools.
+Apache AsterixDB&trade; is built and maintained using a variety of open source and commerical tools.
 This page lists some of them, in no particular order.
 
 
