diff --git a/DISCLAIMER.txt b/DISCLAIMER
similarity index 100%
rename from DISCLAIMER.txt
rename to DISCLAIMER
diff --git a/dev-support/make_rc.sh b/dev-support/make_rc.sh
index 6273072..006da11 100755
--- a/dev-support/make_rc.sh
+++ b/dev-support/make_rc.sh
@@ -45,9 +45,10 @@
 
 # Check project name
 projectname=$(mvnGet project.name)
+projectversion=$(mvnGet project.version)
 if [ "${projectname}" = "Apache Ratis" ]; then
   echo
-  echo "Prepare release artifacts for $projectname"
+  echo "Prepare release artifacts for $projectname ${projectversion}"
   echo
 else
   echo "Unexpected project name \"${projectname}\"."
@@ -76,22 +77,18 @@
   set +x
 }
 
-# clean shaded source
-mvnFun clean -Pclean-shade
-repodir=`cd ${repodir} > /dev/null; pwd`
-
-# generate source tar.gz
-mvnFun install -DskipTests assembly:single -Prelease -Dmaven.javadoc.skip=true
+# generate tar.gz
+mvnFun clean install -DskipTests assembly:single -Prelease -Dmaven.javadoc.skip=true
 
 mkdir "${archivedir}"
 archivedir=`cd ${archivedir} > /dev/null; pwd`
 
 artifactid=$(mvnGet project.artifactId)
 assemblydir="$(pwd)/${artifactid}-assembly"
-mv ${assemblydir}/target/${artifactid}-*.tar.gz "${archivedir}"
+mv ${assemblydir}/target/*${artifactid}*${projectversion}*.tar.gz "${archivedir}"
 
 echo
-echo "Generated artifacts successfully."
+echo "Successfully generated artifacts for ${projectname} ${projectversion}"
 ls -l ${archivedir}
 echo
 echo "Check the content of ${archivedir}."
@@ -100,7 +97,6 @@
 echo '  for i in *.tar.gz; do echo $i; gpg --print-mds $i > $i.mds ; done'
 echo '  for i in *.tar.gz; do echo $i; gpg --print-md SHA512 $i > $i.sha512 ; done'
 echo '  for i in *.tar.gz; do echo $i; gpg --armor --output $i.asc --detach-sig $i ; done'
-echo "  rsync -av ${archivedir}/*.gz ${archivedir}/*.mds ${archivedir}/*.asc ~/repos/dist-dev/${artifactid}-VERSION/"
 echo
 echo "Check the content deployed to maven."
 echo "If good, close the repo and record links of temporary staging repo"
diff --git a/pom.xml b/pom.xml
index e6dc6d9..dbdd6a9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -134,7 +134,7 @@
 
     <!-- Maven plugin versions -->
     <maven-antrun-plugin.version>1.7</maven-antrun-plugin.version>
-    <maven-assembly-plugin.version>3.0.0</maven-assembly-plugin.version>
+    <maven-assembly-plugin.version>3.1.1</maven-assembly-plugin.version>
     <maven-bundle-plugin.version>2.5.3</maven-bundle-plugin.version>
     <maven-checkstyle-plugin.version>3.0.0</maven-checkstyle-plugin.version>
     <maven-clean-plugin.version>3.0.0</maven-clean-plugin.version>
@@ -147,7 +147,7 @@
     <maven-javadoc-plugin.version>2.10.3</maven-javadoc-plugin.version>
     <maven-pdf-plugin.version>1.2</maven-pdf-plugin.version>
     <maven-resources-plugin.version>2.6</maven-resources-plugin.version>
-    <maven-shade-plugin.version>3.1.1</maven-shade-plugin.version>
+    <maven-shade-plugin.version>3.2.1</maven-shade-plugin.version>
     <maven-site-plugin.version>3.5</maven-site-plugin.version>
     <maven-source-plugin.version>2.3</maven-source-plugin.version>
     <maven-stylus-skin.version>1.5</maven-stylus-skin.version>
@@ -306,10 +306,30 @@
       </dependency>
 
       <dependency>
+        <artifactId>ratis-test</artifactId>
+        <groupId>org.apache.ratis</groupId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <artifactId>ratis-test</artifactId>
+        <groupId>org.apache.ratis</groupId>
+        <version>${project.version}</version>
+        <type>test-jar</type>
+        <scope>test</scope>
+      </dependency>
+
+      <dependency>
         <groupId>org.apache.ratis</groupId>
         <artifactId>ratis-logservice</artifactId>
         <version>${project.version}</version>
       </dependency>
+      <dependency>
+        <artifactId>ratis-logservice</artifactId>
+        <groupId>org.apache.ratis</groupId>
+        <version>${project.version}</version>
+        <type>test-jar</type>
+        <scope>test</scope>
+      </dependency>
 
       <dependency>
         <groupId>org.apache.ratis</groupId>
diff --git a/ratis-assembly/pom.xml b/ratis-assembly/pom.xml
index fdc468a..482f478 100644
--- a/ratis-assembly/pom.xml
+++ b/ratis-assembly/pom.xml
@@ -96,7 +96,7 @@
         <artifactId>maven-assembly-plugin</artifactId>
         <configuration>
           <!--Else will use ratis-assembly as final name.-->
-          <finalName>ratis-incubating-${project.version}</finalName>
+          <finalName>apache-ratis-incubating-${project.version}</finalName>
           <skipAssembly>false</skipAssembly>
           <appendAssemblyId>true</appendAssemblyId>
           <tarLongFileMode>gnu</tarLongFileMode>
@@ -138,61 +138,86 @@
       <groupId>org.apache.ratis</groupId>
       <artifactId>ratis-thirdparty-misc</artifactId>
     </dependency>
+
     <dependency>
       <artifactId>ratis-proto</artifactId>
       <groupId>org.apache.ratis</groupId>
     </dependency>
+    <dependency>
+      <artifactId>ratis-common</artifactId>
+      <groupId>org.apache.ratis</groupId>
+    </dependency>
+    <dependency>
+      <artifactId>ratis-common</artifactId>
+      <groupId>org.apache.ratis</groupId>
+      <type>test-jar</type>
+    </dependency>
+
+    <dependency>
+      <artifactId>ratis-client</artifactId>
+      <groupId>org.apache.ratis</groupId>
+    </dependency>
+    <dependency>
+      <artifactId>ratis-client</artifactId>
+      <groupId>org.apache.ratis</groupId>
+      <type>test-jar</type>
+    </dependency>
+    <dependency>
+      <artifactId>ratis-server</artifactId>
+      <groupId>org.apache.ratis</groupId>
+    </dependency>
+    <dependency>
+      <artifactId>ratis-server</artifactId>
+      <groupId>org.apache.ratis</groupId>
+      <type>test-jar</type>
+    </dependency>
+
+    <dependency>
+      <artifactId>ratis-grpc</artifactId>
+      <groupId>org.apache.ratis</groupId>
+    </dependency>
+    <dependency>
+      <artifactId>ratis-grpc</artifactId>
+      <groupId>org.apache.ratis</groupId>
+      <type>test-jar</type>
+    </dependency>
+
+    <dependency>
+      <artifactId>ratis-netty</artifactId>
+      <groupId>org.apache.ratis</groupId>
+    </dependency>
+    <dependency>
+      <artifactId>ratis-netty</artifactId>
+      <groupId>org.apache.ratis</groupId>
+      <type>test-jar</type>
+    </dependency>
+
+    <dependency>
+      <artifactId>ratis-hadoop</artifactId>
+      <groupId>org.apache.ratis</groupId>
+    </dependency>
+    <dependency>
+      <artifactId>ratis-hadoop</artifactId>
+      <groupId>org.apache.ratis</groupId>
+      <type>test-jar</type>
+    </dependency>
+
+    <dependency>
+      <artifactId>ratis-test</artifactId>
+      <groupId>org.apache.ratis</groupId>
+    </dependency>
+    <dependency>
+      <artifactId>ratis-test</artifactId>
+      <groupId>org.apache.ratis</groupId>
+      <type>test-jar</type>
+    </dependency>
 
     <dependency>
       <artifactId>ratis-examples</artifactId>
       <groupId>org.apache.ratis</groupId>
     </dependency>
-
     <dependency>
-      <artifactId>ratis-common</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-common</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
-
-    <dependency>
-      <artifactId>ratis-client</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-client</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
-
-    <dependency>
-      <artifactId>ratis-hadoop</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-hadoop</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-grpc</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-grpc</artifactId>
-      <groupId>org.apache.ratis</groupId>
-      <type>test-jar</type>
-    </dependency>
-
-    <dependency>
-      <artifactId>ratis-netty</artifactId>
-      <groupId>org.apache.ratis</groupId>
-    </dependency>
-    <dependency>
-      <artifactId>ratis-netty</artifactId>
+      <artifactId>ratis-examples</artifactId>
       <groupId>org.apache.ratis</groupId>
       <type>test-jar</type>
     </dependency>
@@ -208,11 +233,11 @@
     </dependency>
 
     <dependency>
-      <artifactId>ratis-server</artifactId>
+      <artifactId>ratis-logservice</artifactId>
       <groupId>org.apache.ratis</groupId>
     </dependency>
     <dependency>
-      <artifactId>ratis-server</artifactId>
+      <artifactId>ratis-logservice</artifactId>
       <groupId>org.apache.ratis</groupId>
       <type>test-jar</type>
     </dependency>
diff --git a/ratis-assembly/src/main/assembly/bin.xml b/ratis-assembly/src/main/assembly/bin.xml
index a8b4cff..3c9e918 100644
--- a/ratis-assembly/src/main/assembly/bin.xml
+++ b/ratis-assembly/src/main/assembly/bin.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1"
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd">
+          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
   <!--
   /**
    * Licensed to the Apache Software Foundation (ASF) under one
@@ -45,9 +45,12 @@
         <include>org.apache.ratis:ratis-common</include>
         <include>org.apache.ratis:ratis-grpc</include>
         <include>org.apache.ratis:ratis-hadoop</include>
+        <include>org.apache.ratis:ratis-logservice</include>
         <include>org.apache.ratis:ratis-netty</include>
+        <include>org.apache.ratis:ratis-proto</include>
         <include>org.apache.ratis:ratis-replicated-map</include>
         <include>org.apache.ratis:ratis-server</include>
+        <include>org.apache.ratis:ratis-test</include>
       </includes>
       <binaries>
         <outputDirectory>jars</outputDirectory>
@@ -61,7 +64,7 @@
       <directory>${project.basedir}/..</directory>
       <outputDirectory>.</outputDirectory>
       <includes>
-        <include>DISCLAIMER.txt</include>
+        <include>DISCLAIMER</include>
       </includes>
       <fileMode>0644</fileMode>
     </fileSet>
@@ -83,5 +86,12 @@
       </includes>
       <fileMode>755</fileMode>
     </fileSet>
+    <!-- Include dev support tools -->
+    <fileSet>
+      <directory>${project.basedir}/../dev-support</directory>
+      <outputDirectory>dev-support</outputDirectory>
+      <fileMode>0644</fileMode>
+      <directoryMode>0755</directoryMode>
+    </fileSet>
   </fileSets>
 </assembly>
diff --git a/ratis-assembly/src/main/assembly/src.xml b/ratis-assembly/src/main/assembly/src.xml
index 1971993..9c866cf 100644
--- a/ratis-assembly/src/main/assembly/src.xml
+++ b/ratis-assembly/src/main/assembly/src.xml
@@ -1,5 +1,7 @@
 <?xml version="1.0"?>
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd">
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
 <!--
 /**
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -27,44 +29,18 @@
     <moduleSet>
       <useAllReactorProjects>true</useAllReactorProjects>
       <includes>
-        <include>org.apache.ratis:ratis-hadoop-shaded</include>
-        <include>org.apache.ratis:ratis-proto-shaded</include>
-      </includes>
-      <sources>
-        <excludeSubModuleDirectories>false</excludeSubModuleDirectories>
-        <fileSets>
-          <fileSet>
-            <includes>
-              <include>**</include>
-            </includes>
-            <excludes>
-              <!-- For shaded modules, exclude generated sources -->
-              <exclude>src/main/java/</exclude>
-              <exclude>dependency-reduced-pom.xml</exclude>
-
-              <exclude>target/</exclude>
-              <exclude>test/</exclude>
-              <exclude>.classpath</exclude>
-              <exclude>.project</exclude>
-              <exclude>.settings/</exclude>
-              <exclude>*.iml/</exclude>
-            </excludes>
-          </fileSet>
-        </fileSets>
-      </sources>
-    </moduleSet>
-    <moduleSet>
-      <useAllReactorProjects>true</useAllReactorProjects>
-      <includes>
         <include>org.apache.ratis:ratis-assembly</include>
         <include>org.apache.ratis:ratis-client</include>
         <include>org.apache.ratis:ratis-common</include>
         <include>org.apache.ratis:ratis-examples</include>
         <include>org.apache.ratis:ratis-grpc</include>
         <include>org.apache.ratis:ratis-hadoop</include>
+        <include>org.apache.ratis:ratis-logservice</include>
         <include>org.apache.ratis:ratis-netty</include>
+        <include>org.apache.ratis:ratis-proto</include>
         <include>org.apache.ratis:ratis-replicated-map</include>
         <include>org.apache.ratis:ratis-server</include>
+        <include>org.apache.ratis:ratis-test</include>
       </includes>
       <sources>
         <excludeSubModuleDirectories>false</excludeSubModuleDirectories>
@@ -100,7 +76,7 @@
       <outputDirectory>.</outputDirectory>
       <includes>
         <include>BUILDING.md</include>
-        <include>DISCLAIMER.txt</include>
+        <include>DISCLAIMER</include>
         <include>LICENSE</include>
         <include>NOTICE</include>
         <include>README.md</include>
diff --git a/ratis-examples/pom.xml b/ratis-examples/pom.xml
index 9990e61..21c8523 100644
--- a/ratis-examples/pom.xml
+++ b/ratis-examples/pom.xml
@@ -138,7 +138,6 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
-        <version>3.1.0</version>
         <executions>
           <execution>
             <phase>package</phase>
@@ -147,6 +146,7 @@
             </goals>
             <configuration>
               <dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
+              <shadedArtifactAttached>true</shadedArtifactAttached>
               <transformers>
                 <transformer
                         implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
