diff --git a/nant.build b/nant.build
index 766e085..c350467 100644
--- a/nant.build
+++ b/nant.build
@@ -23,7 +23,7 @@
     <property name="project.name" value="Apache.NMS.Stomp" />
     <property name="project.group" value="org.apache.activemq" />
     <property name="project.version" value="1.3.0" unless="${property::exists('project.version')}" />
-    <property name="project.release.type" value="SNAPSHOT" unless="${property::exists('project.release.type')}" />
+    <property name="project.release.type" value="RC1" unless="${property::exists('project.release.type')}" />
     <property name="project.short_description" value="Apache NMS for Stomp Class Library" />
     <property name="project.description" value="Apache NMS for Stomp Class Library (.Net Messaging Library Implementation): An implementation of the NMS API for Stomp" />
 
diff --git a/package.ps1 b/package.ps1
index 2b14cbb..96c0ce7 100644
--- a/package.ps1
+++ b/package.ps1
@@ -14,49 +14,49 @@
 # limitations under the License.
 
 $pkgname = "Apache.NMS.Stomp"
-$pkgver = "1.2.0"
+$pkgver = "1.3.0-RC1"
 $configurations = "release", "debug"
 $frameworks = "mono-2.0", "net-2.0", "net-3.5", "netcf-2.0"
 
 write-progress "Creating package directory." "Initializing..."
 if(!(test-path package))
 {
-	md package
+    md package
 }
 
 if(test-path build)
 {
-	pushd build
+    pushd build
 
-	$pkgdir = "..\package"
+    $pkgdir = "..\package"
 
-	write-progress "Packaging Application files." "Scanning..."
-	$zipfile = "$pkgdir\$pkgname-$pkgver-bin.zip"
-	zip -9 -u -j "$zipfile" ..\LICENSE.txt
-	zip -9 -u -j "$zipfile" ..\NOTICE.txt
-	foreach($configuration in $configurations)
-	{
-		foreach($framework in $frameworks)
-		{
-			zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll"
-			zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.xml"
-			zip -9 -u "$zipfile" "$framework\$configuration\nmsprovider*.config"
-			zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll"
-			zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.xml"
-			if($framework -ieq "mono-2.0")
-			{
-				zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll.mdb"
-				zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll.mdb"
-			}
-			else
-			{
-				zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.pdb"
-				zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.pdb"
-			}
-		}
-	}
+    write-progress "Packaging Application files." "Scanning..."
+    $zipfile = "$pkgdir\$pkgname-$pkgver-bin.zip"
+    zip -9 -u -j "$zipfile" ..\LICENSE.txt
+    zip -9 -u -j "$zipfile" ..\NOTICE.txt
+    foreach($configuration in $configurations)
+    {
+        foreach($framework in $frameworks)
+        {
+            zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll"
+            zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.xml"
+            zip -9 -u "$zipfile" "$framework\$configuration\nmsprovider*.config"
+            zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll"
+            zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.xml"
+            if($framework -ieq "mono-2.0")
+            {
+                zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.dll.mdb"
+                zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.dll.mdb"
+            }
+            else
+            {
+                zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.pdb"
+                zip -9 -u "$zipfile" "$framework\$configuration\$pkgname.Test.pdb"
+            }
+        }
+    }
 
-	popd
+    popd
 }
 
 write-progress "Packaging Source code files." "Scanning..."
