diff --git a/nant.build b/nant.build
index 766e085..032725d 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="GA" 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..69b3f0c 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"
 $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..."
