diff --git a/CHANGES.md b/CHANGES.md
new file mode 100644
index 0000000..f1a24d3
--- /dev/null
+++ b/CHANGES.md
@@ -0,0 +1,32 @@
+
+<!---
+# 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.
+-->
+# PHOENIX Changelog
+
+## Release thirdparty-1.0.0 - Unreleased (as of 2020-10-14)
+
+
+
+### SUB-TASKS:
+
+| JIRA | Summary | Priority | Component |
+|:---- |:---- | :--- |:---- |
+| [PHOENIX-6039](https://issues.apache.org/jira/browse/PHOENIX-6039) | Create phoenix-thirdparty main project, and add phoenix-shaded-guava as a subproject |  Major | thirdparty |
+| [PHOENIX-6038](https://issues.apache.org/jira/browse/PHOENIX-6038) | Create phoenix-thirdparty git repo |  Major | thirdparty |
+
+
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
new file mode 100644
index 0000000..97b33cf
--- /dev/null
+++ b/RELEASENOTES.md
@@ -0,0 +1,24 @@
+
+<!---
+# 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.
+-->
+# PHOENIX  thirdparty-1.0.0 Release Notes
+
+These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
+
+
+
diff --git a/phoenix-shaded-guava/pom.xml b/phoenix-shaded-guava/pom.xml
index 552884a..33979e7 100644
--- a/phoenix-shaded-guava/pom.xml
+++ b/phoenix-shaded-guava/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.apache.phoenix.thirdparty</groupId>
     <artifactId>phoenix-thirdparty</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
+    <version>1.0.0</version>
   </parent>
 
   <artifactId>phoenix-shaded-guava</artifactId>
diff --git a/pom.xml b/pom.xml
index 35bf6b5..55d67b2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
 
   <groupId>org.apache.phoenix.thirdparty</groupId>
   <artifactId>phoenix-thirdparty</artifactId>
-  <version>1.0.0-SNAPSHOT</version>
+  <version>1.0.0</version>
   <packaging>pom</packaging>
   <name>Apache Phoenix Third-Party Libs</name>
   <description>Packaging of relocated (renamed, shaded) third-party libraries used by Phoenix.</description>
