diff --git a/dev/make_rc.sh b/dev/make_rc.sh
index e23db07..a67c58a 100755
--- a/dev/make_rc.sh
+++ b/dev/make_rc.sh
@@ -36,15 +36,14 @@
 REL_SRC=phoenix-$PHOENIX-src
 DIR_REL_SRC_TAR_PATH=$DIR_REL_ROOT/src
 DIR_REL_BIN_TAR_PATH=$DIR_REL_ROOT/bin
-DIR_BIN=bin
+DIR_BIN=$DIR_REL_BIN_PATH/bin
 DIR_EXAMPLES=$DIR_REL_BIN_PATH/examples
-DIR_COMMON=$DIR_REL_BIN_PATH/common
-DIR_HADOOP=$DIR_REL_BIN_PATH/hadoop
 DIR_DOCS=dev/release_files
 
 # Verify no target exists
 mvn clean; mvn clean -Dhadoop.profile=2; rm -rf $DIR_REL_BASE;
 RESULT=$(find -iname target)
+
 if [ -z "$RESULT" ]
 then
   echo "Verified target directory does not exist.";
@@ -63,7 +62,7 @@
 mkdir $DIR_REL_BIN_TAR_PATH;
 mkdir $DIR_REL_SRC_TAR_PATH;
 mkdir $DIR_EXAMPLES;
-mkdir $DIR_COMMON;
+mkdir $DIR_BIN;
 
 # Move src tar
 mv $REL_SRC.tar.gz $DIR_REL_SRC_TAR_PATH;
@@ -71,50 +70,28 @@
 # Copy common jars
 mvn clean apache-rat:check package -DskipTests;
 rm -rf $(find . -type d -name archive-tmp);
-cp $(find -iname phoenix-$PHOENIX-client-minimal.jar) $DIR_COMMON;
-cp $(find -iname phoenix-$PHOENIX-client-without-hbase.jar) $DIR_COMMON;
-cp $(find -iname phoenix-core-$PHOENIX.jar) $DIR_COMMON;
-cp $(find -iname phoenix-server-$PHOENIX-runnable.jar) $DIR_COMMON;
-cp $(find -iname phoenix-$PHOENIX-query-server-thin-client.jar) $DIR_COMMON;
+
+cp $(find -iname phoenix-$PHOENIX-client-minimal.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-$PHOENIX-client-without-hbase.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-core-$PHOENIX.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-$PHOENIX-client.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-$PHOENIX-server.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-$PHOENIX-server-without-antlr.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-core-$PHOENIX-tests.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-flume-$PHOENIX.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-flume-$PHOENIX-tests.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-pig-$PHOENIX.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-pig-$PHOENIX-tests.jar) $DIR_REL_BIN_PATH;
+
+# Copy bin
+cp bin/* $DIR_BIN;
 
 # Copy release docs
-function_copy() {
-  if [ ! -f $1 ];
-   then
-    echo ""; echo "ERROR!! Please check-in $1 file before running make_rc.sh"; 
-    exit -1; 
-  fi
-  cp $1 $DIR_REL_BIN_PATH;
-}
-
-function_copy CHANGES;
-function_copy DISCLAIMER;
-function_copy README;
 cp $DIR_DOCS/* $DIR_REL_BIN_PATH;
 
 # Copy examples
 cp -r examples/* $DIR_EXAMPLES
 
-# Copy hadoop specific jars
-function_copy_hadoop_specific_jars() {
-  mkdir $DIR_HADOOP$1;
-  mkdir $DIR_HADOOP$1/$DIR_BIN;
-  cp $DIR_BIN/* $DIR_HADOOP$1/$DIR_BIN;
-  cp $(find -iname phoenix-$PHOENIX-client.jar) $DIR_HADOOP$1/phoenix-$PHOENIX-client-hadoop$1.jar;
-  cp $(find -iname phoenix-$PHOENIX-server.jar) $DIR_HADOOP$1/phoenix-$PHOENIX-server-hadoop$1.jar;
-  cp $(find -iname phoenix-core-$PHOENIX-tests.jar) $DIR_HADOOP$1/phoenix-core-$PHOENIX-tests-hadoop$1.jar;
-  cp $(find -iname phoenix-server-$PHOENIX.jar) $DIR_HADOOP$1/phoenix-server-$PHOENIX-hadoop$1.jar;
-  cp $(find -iname phoenix-server-$PHOENIX-tests.jar) $DIR_HADOOP$1/phoenix-server-$PHOENIX-tests-hadoop$1.jar;
-  cp $(find -iname phoenix-server-client-$PHOENIX.jar) $DIR_HADOOP$1/phoenix-server-client-$PHOENIX-hadoop$1.jar;
-  cp $(find -iname phoenix-flume-$PHOENIX.jar) $DIR_HADOOP$1/phoenix-flume-$PHOENIX-hadoop$1.jar;
-  cp $(find -iname phoenix-flume-$PHOENIX-tests.jar) $DIR_HADOOP$1/phoenix-flume-$PHOENIX-tests-hadoop$1.jar;
-  cp $(find -iname phoenix-pig-$PHOENIX.jar) $DIR_HADOOP$1/phoenix-pig-$PHOENIX-hadoop$1.jar;
-  cp $(find -iname phoenix-pig-$PHOENIX-tests.jar) $DIR_HADOOP$1/phoenix-pig-$PHOENIX-tests-hadoop$1.jar;
-}
-function_copy_hadoop_specific_jars 1;
-mvn clean package -Dhadoop.profile=2 -DskipTests;
-function_copy_hadoop_specific_jars 2;
-
 # Generate bin tar
 tar cvzf $DIR_REL_BIN_TAR_PATH/$DIR_REL_BIN.tar.gz -C $DIR_REL_ROOT phoenix-$PHOENIX-bin;
 rm -rf $DIR_REL_BIN_PATH;
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 51ff74d..962e08e 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.apache.phoenix</groupId>
     <artifactId>phoenix</artifactId>
-    <version>4.5.0-SNAPSHOT</version>
+    <version>4.5.0-HBase-1.1</version>
   </parent>
   <artifactId>phoenix-assembly</artifactId>
   <name>Phoenix Assembly</name>
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 9ab2a0e..3288f49 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.phoenix</groupId>
     <artifactId>phoenix</artifactId>
-    <version>4.5.0-SNAPSHOT</version>
+    <version>4.5.0-HBase-1.1</version>
   </parent>
   <artifactId>phoenix-core</artifactId>
   <name>Phoenix Core</name>
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index 8b4ee84..0f65f2d 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.apache.phoenix</groupId>
     <artifactId>phoenix</artifactId>
-    <version>4.5.0-SNAPSHOT</version>
+    <version>4.5.0-HBase-1.1</version>
   </parent>
   <artifactId>phoenix-flume</artifactId>
   <name>Phoenix - Flume</name>
diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml
index 36215db..8343be0 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -15,7 +15,7 @@
 	<parent>
 		<groupId>org.apache.phoenix</groupId>
 		<artifactId>phoenix</artifactId>
-		<version>4.5.0-SNAPSHOT</version>
+		<version>4.5.0-HBase-1.1</version>
 	</parent>
 
 	<artifactId>phoenix-pherf</artifactId>
diff --git a/phoenix-pig/pom.xml b/phoenix-pig/pom.xml
index 4ad06d1..5370558 100644
--- a/phoenix-pig/pom.xml
+++ b/phoenix-pig/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <groupId>org.apache.phoenix</groupId>
     <artifactId>phoenix</artifactId>
-    <version>4.5.0-SNAPSHOT</version>
+    <version>4.5.0-HBase-1.1</version>
   </parent>
   <artifactId>phoenix-pig</artifactId>
   <name>Phoenix - Pig</name>
diff --git a/phoenix-server-client/pom.xml b/phoenix-server-client/pom.xml
index e23fcba..cea07fd 100644
--- a/phoenix-server-client/pom.xml
+++ b/phoenix-server-client/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.phoenix</groupId>
     <artifactId>phoenix</artifactId>
-    <version>4.5.0-SNAPSHOT</version>
+    <version>4.5.0-HBase-1.1</version>
   </parent>
   <artifactId>phoenix-server-client</artifactId>
   <name>Phoenix Query Server Client</name>
diff --git a/phoenix-server/pom.xml b/phoenix-server/pom.xml
index 7dd09aa..41cc123 100644
--- a/phoenix-server/pom.xml
+++ b/phoenix-server/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.phoenix</groupId>
     <artifactId>phoenix</artifactId>
-    <version>4.5.0-SNAPSHOT</version>
+    <version>4.5.0-HBase-1.1</version>
   </parent>
   <artifactId>phoenix-server</artifactId>
   <name>Phoenix Query Server</name>
diff --git a/phoenix-spark/pom.xml b/phoenix-spark/pom.xml
index ef4d2c4..6269f3d 100644
--- a/phoenix-spark/pom.xml
+++ b/phoenix-spark/pom.xml
@@ -28,7 +28,7 @@
   <parent>
     <groupId>org.apache.phoenix</groupId>
     <artifactId>phoenix</artifactId>
-    <version>4.5.0-SNAPSHOT</version>
+    <version>4.5.0-HBase-1.1</version>
   </parent>
   <artifactId>phoenix-spark</artifactId>
   <name>Phoenix - Spark</name>
diff --git a/pom.xml b/pom.xml
index 9fa6702..2e2c6c2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.phoenix</groupId>
   <artifactId>phoenix</artifactId>
-  <version>4.5.0-SNAPSHOT</version>
+  <version>4.5.0-HBase-1.1</version>
   <packaging>pom</packaging>
   <name>Apache Phoenix</name>
   <description>A SQL layer over HBase</description>
