diff --git a/VERSION b/VERSION
index ee177ba..0fa4ae4 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.3.0-rc1
\ No newline at end of file
+3.3.0
\ No newline at end of file
diff --git a/common/www/cordova.js b/common/www/cordova.js
index 033285f..c919144 100644
--- a/common/www/cordova.js
+++ b/common/www/cordova.js
@@ -1,5 +1,5 @@
 ﻿// Platform: windowsphone
-// 3.3.0-rc1
+// 3.3.0
 /*
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
@@ -19,7 +19,7 @@
  under the License.
 */
 ;(function() {
-var CORDOVA_JS_BUILD_LABEL = '3.3.0-rc1';
+var CORDOVA_JS_BUILD_LABEL = '3.3.0';
 // file: lib/scripts/require.js
 
 /*jshint -W079 */
@@ -34,7 +34,7 @@
         requireStack = [],
     // Map of module ID -> index into requireStack of modules currently being built.
         inProgressModules = {},
-        SEPERATOR = ".";
+        SEPARATOR = ".";
 
 
 
@@ -44,7 +44,7 @@
                 var resultantId = id;
                 //Its a relative path, so lop off the last portion and add the id (minus "./")
                 if (id.charAt(0) === ".") {
-                    resultantId = module.id.slice(0, module.id.lastIndexOf(SEPERATOR)) + SEPERATOR + id.slice(2);
+                    resultantId = module.id.slice(0, module.id.lastIndexOf(SEPARATOR)) + SEPARATOR + id.slice(2);
                 }
                 return require(resultantId);
             };
diff --git a/wp7/template/MyTemplate.vstemplate b/wp7/template/MyTemplate.vstemplate
index 6425e2b..f270477 100644
--- a/wp7/template/MyTemplate.vstemplate
+++ b/wp7/template/MyTemplate.vstemplate
@@ -1,13 +1,13 @@
 <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
 	<TemplateData>
-		<Name>CordovaWP7_3_3_0-rc1</Name>
+		<Name>CordovaWP7_3_3_0</Name>
 		<Description>Starter project for building a Cordova app for Windows Phone version: 3.1.0-rc1</Description>
 		<ProjectType>CSharp</ProjectType>
 		<ProjectSubType>
 		</ProjectSubType>
 		<SortOrder>1000</SortOrder>
 		<CreateNewFolder>true</CreateNewFolder>
-		<DefaultName>CordovaWP7_3_3_0-rc1_</DefaultName>
+		<DefaultName>CordovaWP7_3_3_0_</DefaultName>
 		<ProvideDefaultName>true</ProvideDefaultName>
 		<LocationField>Enabled</LocationField>
 		<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
diff --git a/wp8/template/MyTemplate.vstemplate b/wp8/template/MyTemplate.vstemplate
index 36ce506..d53cab7 100644
--- a/wp8/template/MyTemplate.vstemplate
+++ b/wp8/template/MyTemplate.vstemplate
@@ -1,13 +1,13 @@
 <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
 	<TemplateData>
-		<Name>CordovaWP8_3_3_0-rc1</Name>
+		<Name>CordovaWP8_3_3_0</Name>
 		<Description>Starter project for building a Cordova app for Windows Phone 8 version: 3.1.0-rc1</Description>
 		<ProjectType>CSharp</ProjectType>
 		<ProjectSubType>
 		</ProjectSubType>
 		<SortOrder>1000</SortOrder>
 		<CreateNewFolder>true</CreateNewFolder>
-		<DefaultName>CordovaWP8_3.3.0-rc1</DefaultName>
+		<DefaultName>CordovaWP8_3.3.0</DefaultName>
 		<ProvideDefaultName>true</ProvideDefaultName>
 		<LocationField>Enabled</LocationField>
 		<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
