diff --git a/README.md b/README.md
index cb76fd9..f522fc6 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@
 
  * A semistructured NoSQL style data model (ADM) resulting from extending JSON with object database ideas
  * An expressive and declarative query language (AQL) that supports a broad range of queries and analysis over semistructured data
- * A parallel runtime query execution engine, Hyracks, that has been scale-tested on up to 1000+ cores and 500+ disks
+ * A parallel runtime query execution engine, Apache Hyracks, that has been scale-tested on up to 1000+ cores and 500+ disks
  * Partitioned LSM-based data storage and indexing to support efficient ingestion and management of semistructured data
  * Support for query access to externally stored data (e.g., data in HDFS) as well as to data stored natively by AsterixDB
  * A rich set of primitive data types, including spatial and temporal data in addition to integer, floating point, and textual data
@@ -52,7 +52,7 @@
 
 * Build AsterixDB master:
 
-        $cd incubator-asterixdb
+        $cd asterixdb
         $mvn clean package -DskipTests
 
 
diff --git a/asterixdb/asterix-doc/pom.xml b/asterixdb/asterix-doc/pom.xml
index 43dba09..5b18c79 100644
--- a/asterixdb/asterix-doc/pom.xml
+++ b/asterixdb/asterix-doc/pom.xml
@@ -24,7 +24,7 @@
     <version>0.8.9-SNAPSHOT</version>
   </parent>
 
-  <url>http://asterixdb.incubator.apache.org/</url>
+  <url>http://asterixdb.apache.org/</url>
 
   <licenses>
     <license>
@@ -72,7 +72,7 @@
     <site>
       <id>site</id>
       <name>site</name>
-      <url>file:../../../../site/incubator-asterixdb-site</url>
+      <url>file:../../../../site/asterixdb-site</url>
     </site>
   </distributionManagement>
 
diff --git a/asterixdb/asterix-doc/src/site/markdown/aql/primer-sql-like.md b/asterixdb/asterix-doc/src/site/markdown/aql/primer-sql-like.md
index 6bff861..397140f 100644
--- a/asterixdb/asterix-doc/src/site/markdown/aql/primer-sql-like.md
+++ b/asterixdb/asterix-doc/src/site/markdown/aql/primer-sql-like.md
@@ -903,5 +903,5 @@
 AsterixDB is powerful, so use it wisely, and remember: "With great power comes great responsibility..." :-)
 
 Please e-mail the AsterixDB user group
-(users (at) asterixdb.incubator.apache.org)
+(users (at) asterixdb.apache.org)
 if you run into any problems or simply have further questions about the AsterixDB system, its features, or their proper use.
diff --git a/asterixdb/asterix-doc/src/site/markdown/aql/primer.md b/asterixdb/asterix-doc/src/site/markdown/aql/primer.md
index d99ba6d..f56eb93 100644
--- a/asterixdb/asterix-doc/src/site/markdown/aql/primer.md
+++ b/asterixdb/asterix-doc/src/site/markdown/aql/primer.md
@@ -961,5 +961,5 @@
 AsterixDB is powerful, so use it wisely, and remember: "With great power comes great responsibility..." :-)
 
 Please e-mail the AsterixDB user group
-(users (at) asterixdb.incubator.apache.org)
+(users (at) asterixdb.apache.org)
 if you run into any problems or simply have further questions about the AsterixDB system, its features, or their proper use.
diff --git a/asterixdb/asterix-doc/src/site/markdown/index.md b/asterixdb/asterix-doc/src/site/markdown/index.md
index bb74f1b..f117d93 100644
--- a/asterixdb/asterix-doc/src/site/markdown/index.md
+++ b/asterixdb/asterix-doc/src/site/markdown/index.md
@@ -28,7 +28,7 @@
    with object database ideas
  * An expressive and declarative query language (AQL) that supports a broad
    range of queries and analysis over semistructured data
- * A parallel runtime query execution engine, Hyracks, that has been
+ * A parallel runtime query execution engine, Apache Hyracks, that has been
    scale-tested on up to 1000+ cores and 500+ disks
  * Partitioned LSM-based data storage and indexing to support efficient
    ingestion and management of semistructured data
@@ -42,13 +42,3 @@
    parametric queries
  * Basic transactional (concurrency and recovery) capabilities akin to those of
    a NoSQL store
-
-### Disclaimer ###
-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.
diff --git a/asterixdb/asterix-doc/src/site/markdown/overview.md b/asterixdb/asterix-doc/src/site/markdown/overview.md
index 4d9d24d..edf98bb 100644
--- a/asterixdb/asterix-doc/src/site/markdown/overview.md
+++ b/asterixdb/asterix-doc/src/site/markdown/overview.md
@@ -29,7 +29,7 @@
 
  * A semistructured NoSQL style data model (ADM) resulting from extending JSON with object database ideas
  * An expressive and declarative query language (AQL) that supports a broad range of queries and analysis over semistructured data
- * A parallel runtime query execution engine, Hyracks, that has been scale-tested on up to 1000+ cores and 500+ disks
+ * A parallel runtime query execution engine, Apache Hyracks, that has been scale-tested on up to 1000+ cores and 500+ disks
  * Partitioned LSM-based data storage and indexing to support efficient ingestion and management of semistructured data
  * Support for query access to externally stored data (e.g., data in HDFS) as well as to data stored natively by AsterixDB
  * A rich set of primitive data types, including spatial and temporal data in addition to integer, floating point, and textual data
@@ -60,5 +60,5 @@
 This is a short document that describes the REST API entry points and their URL syntax.
 
 To all who have now come this far: Thanks for your interest in AsterixDB, and for kicking its tires in its Beta form.
-In addition to getting the system and trying it out, please sign up as a member of the AsterixDB user mailing list (users (at) asterixdb.incubator.apache.org) so that you can contact us easily with your questions, issues, and other feedback.
+In addition to getting the system and trying it out, please sign up as a member of the AsterixDB user mailing list (users (at) asterixdb.apache.org) so that you can contact us easily with your questions, issues, and other feedback.
 We want AsterixDB to be a "big hit" some day, and we are anxious to see what users do with it and to learn from that feedback what we should be working on most urgently in the next phase of the project.
diff --git a/asterixdb/asterix-doc/src/site/markdown/udf.md b/asterixdb/asterix-doc/src/site/markdown/udf.md
index 72ef292..0e1db87 100644
--- a/asterixdb/asterix-doc/src/site/markdown/udf.md
+++ b/asterixdb/asterix-doc/src/site/markdown/udf.md
@@ -176,7 +176,7 @@
         for $i in dataset ProcessedTweets limit 10 return $i;
 
 For an example of how to write a Java UDF from scratch, the source for the example
-UDF that has been used in this tutorial is available [here] (https://github.com/apache/incubator-asterixdb/tree/master/asterix-external-data/src/test/java/org/apache/asterix/external/library)
+UDF that has been used in this tutorial is available [here] (https://github.com/apache/asterixdb/tree/master/asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/library)
 
 ## <a name="installingUDF">Unstalling an AsterixDB Library</a>###
 
diff --git a/asterixdb/asterix-doc/src/site/markdown/yarn.md b/asterixdb/asterix-doc/src/site/markdown/yarn.md
index d916e23..84bea89 100644
--- a/asterixdb/asterix-doc/src/site/markdown/yarn.md
+++ b/asterixdb/asterix-doc/src/site/markdown/yarn.md
@@ -251,5 +251,5 @@
 
 ###Q: Does AsterixDB work on YARN for Windows?
 
-A: In general, yes! It has been done without much real issue. However it is a infrequent use case, so expect the deployment to have some hiccups. We're always listening on the users@asterixdb.incubator.apache.org mailing list for any issues.
+A: In general, yes! It has been done without much real issue. However it is a infrequent use case, so expect the deployment to have some hiccups. We're always listening on the users@asterixdb.apache.org mailing list for any issues.
 
