You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by mw...@apache.org on 2012/08/24 20:33:02 UTC

[8/9] Version 2.1.0rc1

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/plugin-development/ios/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/plugin-development/ios/index.md b/docs/en/2.1.0rc1/guide/plugin-development/ios/index.md
new file mode 100644
index 0000000..4d1891d
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/plugin-development/ios/index.md
@@ -0,0 +1,175 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements. See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership. The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License. You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied. See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Developing a Plugin on iOS
+
+Writing a plugin requires an understanding of the architecture of Cordova-iOS. Cordova-iOS consists of a UIWebView where intercept commands passed in as url changes. These plugins are represented as class mappings in the Cordova.plist file, under the Plugins key.
+
+A plugin is an Objective-C class that extends the `CDVPlugin` class.
+
+## Plugin Class Mapping 
+
+The JavaScript portion of a plugin always uses the `cordova.exec` method as follows:
+
+    exec(<successFunction>, <failFunction>, <service>, <action>, [<args>]);
+
+This will marshall a request from the UIWebView to the iOS native side, more or less boiling down to calling the `action` method on the `service` class, with the arguments passed in the `args` Array. 
+
+The plugin must be added to `Plugins` key (a Dictionary) of the `Cordova.plist` file in your Cordova-iOS application's project folder.
+
+    <key>service_name</key>
+    <string>PluginClassName</string>
+
+The key `service_name` should match what you use in the JavaScript `exec` call, and the value will be the name of the Objective-C class of the plugin. Without this added, the plugin may compile but will not be reachable by Cordova.
+
+## Writing an iOS Cordova Plugin
+
+We have JavaScript fire off a plugin request to the native side. We have the iOS Objective-C plugin mapped properly via the `Cordova.plist` file. So what does the final iOS Objective-C Plugin class look like?
+
+What gets dispatched to the plugin via JavaScript's `exec` function gets passed into the corresponding Plugin class's `action` method. A plugin method has this signature:
+
+    - (void) myMethod:(CDVInvokedUrlCommand*)command
+    {
+        CDVPluginResult* pluginResult = nil;
+        NSString* javaScript = nil;
+
+        @try {
+            NSString* myarg = [command.arguments objectAtIndex:0];
+
+            if (myarg != nil) {
+                pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
+                javaScript = [pluginResult toSuccessCallbackString:command.callbackId];
+            } 
+        } @catch (id exception) {
+            pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_JSON_EXCEPTION messageAsString:[exception reason]];
+            javaScript = [pluginResult toErrorCallbackString:command.callbackId];
+        }
+
+        [self writeJavascript:javaScript];
+    }
+    
+1. [CDVInvokedUrlCommand.h](https://github.com/apache/incubator-cordova-ios/blob/master/CordovaLib/Classes/CDVInvokedUrlCommand.h)
+2. [CDVPluginResult.h](https://github.com/apache/incubator-cordova-ios/blob/master/CordovaLib/Classes/CDVPluginResult.h)
+
+  
+## Plugin Signatures
+
+The **new signature** supported beginning in **Cordova 2.1.0** is:
+
+        - (void) myMethod:(CDVInvokedUrlCommand*)command;
+
+The **old (deprecated)** signature is:
+
+        - (void) myMethod:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
+
+Basically, the options dictionary has been removed for the new signature, and the callbackId is not the 0th index item for the arguments array, but it is now in a separate property. 
+
+## Echo Plugin iOS Plugin
+
+We would add the following to the `Plugins` key (a Dictionary) of the project's `Cordova.plist` file:
+
+    <key>Echo</key>
+    <string>Echo</string>
+
+Then we would add the following files (`Echo.h` and `Echo.m`) to the Plugins folder inside our Cordova-iOS
+application folder:
+
+    /********* Echo.h Cordova Plugin Header *******/
+
+    #import <Cordova/CDV.h>
+
+    @interface Echo : CDVPlugin
+
+    - (void) echo:(CDVInvokedUrlCommand*)command;
+
+    @end
+    
+    /********* Echo.m Cordova Plugin Implementation *******/
+    
+    #import "Echo.h"
+    #import <Cordova/CDV.h>
+
+    @implementation Echo
+
+    - (void) echo:(CDVInvokedUrlCommand*)command
+    {
+        CDVPluginResult* pluginResult = nil;
+        NSString* javaScript = nil;
+
+        @try {
+            NSString* echo = [command.arguments objectAtIndex:0];
+
+            if (echo != nil && [echo length] > 0) {
+                pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:echo];
+                javaScript = [pluginResult toSuccessCallbackString:command.callbackId];
+            } else {
+                pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];
+                javaScript = [pluginResult toErrorCallbackString:command.callbackId];
+            }
+        } @catch (NSException* exception) {
+            pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_JSON_EXCEPTION messageAsString:[exception reason]];
+            javaScript = [pluginResult toErrorCallbackString:command.callbackId];
+        }
+
+        [self writeJavascript:javaScript];
+    }
+
+    @end
+
+
+Let's take a look at the code. At the top we have all of the necessary Cordova imports. Our class extends from `CDVPlugin` - very important. 
+
+This plugin only supports one action, the `echo` action. First, we grab the echo string using the `objectAtIndex` method on our `args`, telling it we want to get the 0th parameter in the arguments array. We do a bit of parameter checking: make sure it is not `nil`, and make sure it is not a zero-length string.
+
+If it is, we return a `PluginResult` with an `ERROR` status. If all of those checks pass, then we return a `PluginResult` with an `OK` status, and pass in the `echo` string we received in the first place as a parameter. Then, we convert the `PluginResult` to JavaScript by calling either the `toSuccessCallbackString` (if it was OK) or `toErrorCallbackString` (if it was an error) methods.
+
+Finally we write the JavaScript back to the UIWebView, which will execute the JavaScript that will callback to success or failure callbacks of the exec method on the JavaScript side. If the success callback was called, it will pass the `echo` parameter as a parameter.
+
+## Advanced Plugin Functionality
+
+See other methods that you can override in:
+
+1. [CDVPlugin.h](https://github.com/apache/incubator-cordova-ios/blob/master/CordovaLib/Classes/CDVPlugin.h)
+2. [CDVPlugin.m](https://github.com/apache/incubator-cordova-ios/blob/master/CordovaLib/Classes/CDVPlugin.m)
+
+For example, you can hook into the pause, resume, app terminate and handleOpenURL events.
+
+## Debugging Plugins
+
+To debug the Objective-C side, you would use Xcode's built in debugger. For JavaScript, you can use [Weinre, an Apache Cordova Project](https://github.com/apache/incubator-cordova-weinre) or [iWebInspector, a third-party utility](http://www.iwebinspector.com/)
+
+For iOS 6, you would use Safari 6.0 to simply attach to your app running in the iOS 6 Simulator.
+
+## Common Pitfalls
+
+* Don't forget to add your plugin's mapping to Cordova.plist - if you forgot, an error will be printed to the Xcode console log
+* Don't forget to add any hosts you connect to in the [whitelist](guide_whitelist_index.md.html#Domain%20Whitelist%20Guide) - if you forgot, an error will be printed to the Xcode console log
+* If you handle the resume event, and the app resumes, you can hang the app if you send out a JavaScript call that executes a native function, like alerts. To be safe, wrap your JavaScript call in a setTimeout call, with a timeout value of zero:
+
+        setTimeout(function() {
+            // do your thing here!
+        }, 0);
+
+## Deprecated Plugin Signature Note
+
+The **old (deprecated)** signature is:
+
+        - (void) myMethod:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;
+
+The options parameter for the Objective-C plugin method is being deprecated, and it should not be used. For legacy reasons - the last JavaScript object passed in the args Array will be passed in as the options dictionary of the method in Objective-C. You must make sure that any JavaScript object that is passed in as an element in the args array occurs as the last item in the Array, if not it will throw off the array index of all subsequent parameters of the Array in Objective-C. Only one JavaScript object is supported for the options dictionary, and only the last one encountered will be passed to the native method. It is because of these error-prone reasons that they are being deprecated.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/plugin-development/webos/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/plugin-development/webos/index.md b/docs/en/2.1.0rc1/guide/plugin-development/webos/index.md
new file mode 100644
index 0000000..a66ef9f
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/plugin-development/webos/index.md
@@ -0,0 +1,23 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Developing a Plugin on webOS
+============================
+
+Plugins are currently not supported by the webOS platform.

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/plugin-development/windows-phone/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/plugin-development/windows-phone/index.md b/docs/en/2.1.0rc1/guide/plugin-development/windows-phone/index.md
new file mode 100644
index 0000000..c33a54f
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/plugin-development/windows-phone/index.md
@@ -0,0 +1,191 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Developing a Plugin on Windows Phone
+====================================
+
+Writing a plugin for Cordova on Windows Phone requires a basic understanding of
+the architecture of Cordova. Cordova-WP7 consists of a WebBrowser which hosts the
+application javascript code and manages native API calls. There is a BaseCommand
+(`WP7CordovaClassLib.Cordova.Commands.BaseCommand`) class in C# which you can extend,
+and it comes with the majority of the 'plumbing' built for you already.
+
+1. Select your project, and right click choose 'Add -> New Item ...'
+    - Preferably add it to the 'Plugins' folder, but it is up to you
+2. Select 'Class' and name it `Echo.cs`
+    - The name of this class must EXACTLY match what you call into `cordova.exec(win, fail, "Echo", ...)`
+3. Include the base classes implementation
+
+        using WP7CordovaClassLib.Cordova;
+        using WP7CordovaClassLib.Cordova.Commands;
+        using WP7CordovaClassLib.Cordova.JSON;
+
+4. Extend your class from BaseCommand
+
+        public class Echo : BaseCommand
+        {
+            // ...
+        }
+
+5. Add a method that is callable from JS
+
+        public class Echo : BaseCommand
+        {
+            public void echo(string options)
+            {
+                // all JS callable plugin methods MUST have this signature!
+                // public, returning void, 1 argument that is a string
+            }
+        }
+
+Namespaces
+----------
+
+The default namespace for unqualified commands is:
+
+    namespace Cordova.Extension.Commands
+    {
+        // ...
+    }
+
+If you would like to use your own namespace, you will need to make a fully qualified
+call to `cordova.exec`. For example, if you wanted to define your C# class like this:
+
+    namespace com.mydomain.cordovaExtensions
+    {
+        public class Echo : BaseCommand
+        {
+            // ...
+        }
+    }
+
+Then, in JS you would need to call exec like this:
+
+    codova.exec(win, fail, "com.mydomain.cordovaExtensions.Echo", ...);
+
+Interpretting your arguments in C#
+----------------------------------
+
+The data received by your plugin method is a string value, but in actuallality
+looking at our JavaScript code, we see our intention was to pass an array of strings.
+Looking back at our JS call to `cordova.exec`, we see we passed `[str]`:
+
+    cordova.exec(win, fail, "Echo", "echo", ["input string"]);
+
+If we inspect the options string passed in to our `Echo.echo` method, we will
+see that the value is actually:
+
+    "[\"input string\"]"
+
+All javascript exec arguments are JSON encoded before being passed into C#.
+
+If we want to treat this as the string we were expecting, we need to decode it.
+We can use simple JSON deserialization.
+
+    string optVal = JsonHelper.Deserialize<string[]>(options)[0];
+    // optVal now has the value of "input string"
+
+Passing results from C# to JS
+-----------------------------
+
+The base class BaseCommand provides methods for passing data to your JS callback handlers.
+To simply signal that the command has succeeded, when no additional result info is needed,
+you can can simply call:
+
+    DispatchCommandResult(); // calls back with an empty plugin result, considered a success callback
+
+To pass data back, you will need to call a different version of `DispatchCommandResult`:
+
+    DispatchCommandResult(new PluginResult(PluginResult.Status.OK, "Everything went as planned, this is a result that is passed to the success handler."));
+
+To pass structured object data back to JS, it should be encoded as a JSON string:
+
+    DispatchCommandResult(new PluginResult(PluginResult.Status.OK, "{result:\"super awesome!\"}"));
+
+If you need to signal that an error has occured, you can call `DispatchCommandResult` with a `PluginResult` object:
+
+    DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, "Echo signalled an error"));
+
+Handling serialization errors in your plugin's C# method
+--------------------------------------------------------
+
+When interpretting your arguments, it is a good idea to use a try/catch block
+in case we have bad input. This is a pattern used throughout the Cordova C# code:
+
+    string optVal = null;
+
+    try 
+    {
+        optVal = JsonHelper.Deserialize<string[]>(options)[0];
+    }
+    catch(Exception)
+    {
+        // simply catch the exception, we will handle null values and exceptions together
+    }
+
+    if (optVal == null)
+    {
+        DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION));
+    }
+    else
+    {
+        // ... continue on to do our work
+    }
+
+Advanced Plugin Functionality
+-----------------------------
+
+See other methods that you can override in:
+
+1. [BaseCommand.cs](https://github.com/apache/incubator-cordova-wp7/blob/master/templates/standalone/cordovalib/Commands/BaseCommand.cs)
+
+For example, you can hook into the 'pause' and 'resume' application events.
+
+### Debugging Plugins
+
+To debug the C# side, you can use Visual Studio's debugger, just set a break point
+at any of the methods exposed by your class.
+
+Javascript is a little more difficult to debug on Windows Phone, you will need to
+use `console.log` to output the state of your plugin, or inform yourself of errors.
+
+Common Pitfalls
+---------------
+
+- Be careful when deciding on the arguments you pass to native in your JavaScript
+  implementation. Most device platforms expect the args passed to cordova.exec
+  to be an array, but if you have different types of objects in this array, it
+  becomes difficult or impossible to deserialize.
+
+        cordova.exec(win, fail, "ServiceName", "MethodName", ["this is a string", 54, {literal:'trouble'}]);
+
+    - This will mean that your C# code will receive a difficult to decode string value, such as:
+
+            "[\"this is a string\", 54, { literal:'trouble' }]"
+
+    - Consider converting ALL parameters to strings before calling exec:
+
+            cordova.exec(win, fail, "ServiceName", "MethodName", ["this is a string", "54", "{literal:'trouble'}"])	;
+
+            string[] optValues = JsonHelper.Deserialize<string[]>(options);
+
+- It is usually a good idea to do parameter checking in your JavaScript code,
+  before you call exec.  This will let you re-use more JS code between different
+  native implementations of your plugin.
+

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/upgrading/android/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/upgrading/android/index.md b/docs/en/2.1.0rc1/guide/upgrading/android/index.md
new file mode 100644
index 0000000..1c8f6de
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/upgrading/android/index.md
@@ -0,0 +1,168 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Upgrading Cordova Android
+=========================
+
+
+This document is for people who need to upgrade their Cordova versions from an older version to a current version of Cordova.
+
+## Upgrade to 2.0.0 from 1.9.0 ##
+
+1. Remove cordova-1.9.0.jar from the libs directory in your project
+2. Add cordova-2.0.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new cordova-2.0.0.js into your project
+5. Update your HTML to use the new cordova-2.0.0.js file
+6. Copy the res/xml/config.xml to be the same as the one found in framework/res/xml/config.xmll
+
+### Notes about 2.0.0 release
+config.xml will be replacing cordova.xml and plugins.xml.  This new file is a combination of the previous two.  However, the
+old files are deprecated, and and while currently still work, will cease working in a future release.
+
+## Upgrade to 1.9.0 from 1.8.1 ##
+
+1. Remove cordova-1.8.0.jar from the libs directory in your project
+2. Add cordova-1.9.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new cordova-1.9.0.js into your project
+5. Update your HTML to use the new cordova-1.9.0.js file
+6. Update the res/xml/plugins.xml to be the same as the one found in framework/res/xml/plugins.xml
+
+### Notes about 1.9.0 release
+
+- Third-Party plugins may or may not work.  This is because of the introduction of the CordovaWebView.  These plugins need to get a context from the CordovaInterface using
+getContext() or getActivity().  If you are not an experienced Android developer, please contact the plugin maintainer and add this task to their bug tracker.
+
+## Upgrade to 1.8.0 from 1.8.0 ##
+
+1. Remove cordova-1.8.0.jar from the libs directory in your project
+2. Add cordova-1.8.1.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new cordova-1.8.1.js into your project
+5. Update your HTML to use the new cordova-1.8.1.js file
+6. Update the res/xml/plugins.xml to be the same as the one found in framework/res/xml/plugins.xml
+
+
+## Upgrade to 1.8.0 from 1.7.0 ##
+
+1. Remove cordova-1.7.0.jar from the libs directory in your project
+2. Add cordova-1.8.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new cordova-1.8.0.js into your project
+5. Update your HTML to use the new cordova-1.8.0.js file
+6. Update the res/xml/plugins.xml to be the same as the one found in framework/res/xml/plugins.xml
+
+
+
+
+## Upgrade to 1.8.0 from 1.7.0 ##
+
+1. Remove cordova-1.7.0.jar from the libs directory in your project
+2. Add cordova-1.8.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new cordova-1.8.0.js into your project
+5. Update your HTML to use the new cordova-1.8.0.js file
+6. Update the res/xml/plugins.xml to be the same as the one found in framework/res/xml/plugins.xml
+
+
+## Upgrade to 1.7.0 from 1.6.1 ##
+
+1. Remove cordova-1.6.1.jar from the libs directory in your project
+2. Add cordova-1.7.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new cordova-1.7.0.js into your project
+5. Update the res/xml/plugins.xml to be the same as the one found in framework/res/xml/plugins.xml
+
+
+## Upgrade to 1.6.1 from 1.6.0 ##
+
+1. Remove cordova-1.6.0.jar from the libs directory in your project
+2. Add cordova-1.6.1.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new cordova-1.6.1.js into your project
+5. Update the res/xml/plugins.xml to be the same as the one found in framework/res/xml/plugins.xml
+
+## Upgrade to 1.6.0 from 1.5.0 ##
+1. Remove cordova-1.5.0.jar from the libs directory in your project
+2. Add cordova-1.6.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new cordova-1.6.0.js into your project
+5. Update your HTML to use the new cordova-1.6.0.js file
+6. Update the res/xml/plugins.xml so that it is the same as the one found in framework/res/xml/plugins.xml
+7. Replace the res/xml/phonegap.xml with res/xml/cordova.xml so that it is the same as the one found in framework/res/xml/cordova.xml
+
+
+## Upgrade to 1.5.0 from 1.4.0##
+1. Remove phonegap-1.4.0.jar from the libs directory in your project
+2. Add cordova-1.5.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new cordova-1.5.0.js into your project
+5. Update your HTML to use the new cordova-1.5.0.js file
+6. Update the res/xml/plugins.xml so that it is the same as the one found in framework/res/xml/plugins.xml
+7. Replace the res/xml/phonegap.xml with res/xml/cordova.xml so that it is the same as the one found in framework/res/xml/cordova.xml
+
+## Upgrade to 1.4.0 from 1.3.0 ##
+1. Remove phonegap-1.3.0.jar from the libs directory in your project
+2. Add phonegap-1.4.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new phonegap-1.4.0.js into your project
+5. Update your HTML to use the new phonegap-1.4.0.js file
+6. Update the res/xml/plugins.xml so that it is the same as the one found in framework/res/xml/plugins.xml
+7. Update the res/xml/phonegap.xml so that it is the same as the one found in framework/res/xml/phonegap.xml
+
+
+## Upgrade to 1.3.0 from 1.2.0 ##
+1. Remove phonegap-1.2.0.jar from the libs directory in your project
+2. Add phonegap-1.3.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new phonegap-1.3.0.js into your project
+5. Update your HTML to use the new phonegap-1.2.0.js file
+6. Update the res/xml/plugins.xml so that it is the same as the one found in framework/res/xml/plugins.xml
+7. Update the res/xml/phonegap.xml so that it is the same as the one found in framework/res/xml/phonegap.xml
+
+
+## Upgrade to 1.2.0 from 1.1.0 ##
+1. Remove phonegap-1.1.0.jar from the libs directory in your project
+2. Add phonegap-1.2.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new phonegap-1.2.0.js into your project
+5. Update your HTML to use the new phonegap-1.2.0.js file
+6. Update the res/xml/plugins.xml so that it is the same as the one found in framework/res/xml/plugins.xml
+7. Update the res/xml/phonegap.xml so that it is the same as the one found in framework/res/xml/phonegap.xml
+
+
+## Upgrade to 1.1.0 from 1.0.0 ##
+1. Remove phonegap-1.0.0.jar from the libs directory in your project
+2. Add phonegap-1.1.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new phonegap-1.1.0.js into your project
+5. Update your HTML to use the new phonegap-1.1.0.js file
+6. Update the res/xml/plugins.xml so that it is the same as the one found in framework/res/xml/plugins.xml
+
+
+## Upgrade to 1.0.0 from 0.9.6 ##
+1. Remove phonegap-0.9.6.jar from the libs directory in your project
+2. Add phonegap-1.0.0.jar to the libs directory in your project
+3. If you are using Eclipse, please refresh your eclipse project and do a clean
+4. Copy the new phonegap-1.0.0.js into your project
+5. Update your HTML to use the new phonegap-1.0.0.js file
+6. Add the res/xml/plugins.xml so that it is the same as the one found in framework/res/xml/plugins.xml
+
+

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/upgrading/bada/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/upgrading/bada/index.md b/docs/en/2.1.0rc1/guide/upgrading/bada/index.md
new file mode 100644
index 0000000..52d73ab
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/upgrading/bada/index.md
@@ -0,0 +1,48 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Upgrading Cordova Bada
+======================
+
+This document is for people who need to upgrade their Cordova versions from an
+older version to a current version of Cordova.
+
+## Upgrade to 1.9.0 from 2.0.0 ##
+
+1. Update `Res/js/cordova.js` with the new JavaScript file.
+
+## Upgrade to 1.9.0 from 1.8.x ##
+
+1. Update `Res/js/cordova.js` with the new JavaScript file.
+
+## Upgrade to 1.8.x from 1.7.0 ##
+
+1. Remove the cordova.bada.js file from the Res/js directory 
+2. Add the new cordova.js file to your Res/js directory 
+3. Update your Res/index.html to reference cordova.js instead of cordova.bada.js 
+
+Change this line:
+
+    <script type="text/javascript" src="./js/cordova.bada.js"></script>
+to:
+
+    <script type="text/javascript" src="./js/cordova.js"></script>
+
+As of Cordova 1.8, Bada 1.2 is no longer supported! The repository will be kept
+there as an archive for people who still want to use it. It contains some outdated APIs.

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/upgrading/blackberry/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/upgrading/blackberry/index.md b/docs/en/2.1.0rc1/guide/upgrading/blackberry/index.md
new file mode 100644
index 0000000..e7853e6
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/upgrading/blackberry/index.md
@@ -0,0 +1,117 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Upgrading Cordova BlackBerry
+============================
+
+This document is for people who need to upgrade their Cordova versions from an older version to a current version of Cordova.
+
+## Upgrade to 2.0.0 from 1.9.0 ##
+
+Updating just the www folder:
+
+1. Open your `www/` folder, which contains your app.
+2. Remove and update the .jar file in the `ext/` folder.
+3. Update the contents of the `ext-air/` folder.
+4. Copy the new `cordova-2.0.0.js` into your project.
+    - If playbook, then update the .js file in the `playbook/` folder.
+5. Update your HTML to use the new `cordova-2.0.0.js` file.
+6. Update your `www/plugins.xml` file. Two plugins changed their
+   namespace/service label. Change the old entries for the Capture and
+   Contact plugins from:
+
+        <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/>
+        <plugin name="Contact" value="org.apache.cordova.pim.Contact"/>
+
+   To:
+
+        <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/>
+        <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/>
+
+
+Updating the sample folder (ie, updating using the ant tools):
+
+1. Open the `sample/lib/` folder.
+2. Update the .jar file in the `cordova.1.9.0/ext/` folder.
+3. Update the contents of the `cordova.1.9.0/ext-air/` folder.
+4. Update the .js file in the `cordova.1.9.0/javascript/` folder.
+5. Open the `sample/lib/` folder and rename the `cordova.1.9.0/` folder to `cordova.2.0.0/`.
+6. Type `ant blackberry build` or `ant playbook build` to update the `www/` folder with updated Cordova.
+7. Open the `www/` folder and update your HTML to use the new `cordova-2.0.0.js` file.
+8. Open the `www/` folder and update the `plugins.xml` file. Two plugins
+   changed their namespace/service label. Change the old entries for the
+   Capture and Contact plugins from:
+
+         <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/>
+         <plugin name="Contact" value="org.apache.cordova.pim.Contact"/>
+
+   To:
+
+         <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/>
+         <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/>
+
+
+
+
+- To upgrade to 1.8.0, please go from 1.7.0
+
+## Upgrade to 1.8.0 from 1.7.0 ##
+
+Updating just the www folder:
+
+1. Open your `www/` folder, which contains your app.
+2. Remove and update the .jar file in the `ext/` folder.
+3. Update the contents of the `ext-air/` folder.
+4. Copy the new `cordova-1.8.0.js` into your project.
+    - If playbook, then update the .js file in the `playbook/` folder.
+5. Update your HTML to use the new `cordova-1.8.0.js` file.
+6. Update your `www/plugins.xml` file. Two plugins changed their
+   namespace/service label. Change the old entries for the Capture and
+   Contact plugins from:
+
+        <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/>
+        <plugin name="Contact" value="org.apache.cordova.pim.Contact"/>
+
+   To:
+
+        <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/>
+        <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/>
+
+
+Updating the sample folder (ie, updating using the ant tools):
+
+1. Open the `sample/lib/` folder.
+2. Update the .jar file in the `cordova.1.7.0/ext/` folder.
+3. Update the contents of the `cordova.1.7.0/ext-air/` folder.
+4. Update the .js file in the `cordova.1.7.0/javascript/` folder.
+5. Open the `sample/lib/` folder and rename the `cordova.1.7.0/` folder to `cordova.1.8.0/`.
+6. Type `ant blackberry build` or `ant playbook build` to update the `www/` folder with updated Cordova.
+7. Open the `www/` folder and update your HTML to use the new `cordova-1.8.0.js` file.
+8. Open the `www/` folder and update the `plugins.xml` file. Two plugins
+   changed their namespace/service label. Change the old entries for the
+   Capture and Contact plugins from:
+
+         <plugin name="Capture" value="org.apache.cordova.media.MediaCapture"/>
+         <plugin name="Contact" value="org.apache.cordova.pim.Contact"/>
+
+   To:
+
+         <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture"/>
+         <plugin name="Contacts" value="org.apache.cordova.pim.Contact"/>
+

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/upgrading/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/upgrading/index.md b/docs/en/2.1.0rc1/guide/upgrading/index.md
new file mode 100644
index 0000000..9e035de
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/upgrading/index.md
@@ -0,0 +1,31 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Upgrading Guides
+================
+
+> Learn how to upgrade an application to the latest Apache Cordova release.
+
+- Upgrading Cordova Android
+- Upgrading Cordova BlackBerry
+- Upgrading Cordova iOS
+- Upgrading Cordova Symbian
+- Upgrading Cordova webOS
+- Upgrading Cordova Windows Phone
+- Upgrading Cordova Bada

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/upgrading/ios/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/upgrading/ios/index.md b/docs/en/2.1.0rc1/guide/upgrading/ios/index.md
new file mode 100644
index 0000000..8ef3897
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/upgrading/ios/index.md
@@ -0,0 +1,287 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Upgrading Cordova iOS
+=====================
+
+Please note that **Xcode 4 is required**. To submit to the Apple App Store, you must use the latest shipped version of the iOS SDK, which is iOS 5.1. The iOS 5.1 SDK requires Xcode 4.
+
+## Upgrading Cordova 2.0.0 projects to 2.1.0 ##
+
+1. **Download and extract the Cordova 2.1.0 source** to a **permanent folder location** on your hard drive (say to ~/Documents/Cordova-2.1.0)
+2. **Quit Xcode** if it is running.
+3. **Navigate** to the directory where you put the downloaded source above, using **Terminal.app**.
+4. Type **make** and press **Enter**. This will update the **$(CORDOVALIB)** build setting in Xcode to point to the CordovaLib in the permanent folder location above.
+5. [**Create a new project**](guide_command-line_index.md.html#Command-Line%20Usage_ios) from the command-line tools - you will have to grab the assets from this new project
+6. **Copy** the **www/cordova-2.1.0.js** file from the new project into your **www** folder, and delete your **www/cordova-2.0.0.js** file
+7. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new **cordova-2.1.0.js** file
+8. Copy the **"cordova"** folder from the new project into your project's root folder **(in 2.1.0, this has the updated scripts to support paths with spaces)** 
+9. Remove the **VERSION** file reference from your **project** (**NOT** the one in CordovaLib)
+
+    With **Cordova 2.1.0**, CordovaLib has been upgraded to use **Automatic Reference Counting (ARC)**. You don't need to upgrade to **ARC** to use CordovaLib, but if you want to upgrade your project to use **ARC**, please use the Xcode migration wizard from the menu: **Edit -> Refactor -> Convert to Objective-C ARC…**, **de-select libCordova.a**, then run the wizard to completion. 
+
+## Upgrading Cordova 1.9.0 projects to 2.0.0 ##
+
+1. **Install** Cordova 2.0.0
+2. [**Create a new project**](guide_command-line_index.md.html#Command-Line%20Usage_ios) from the command-line tools - you will have to grab the assets from this new project
+3. **Copy** the **www/cordova-2.0.0.js** file from the new project into your **www** folder, and delete your **www/cordova-1.9.0.js** file
+4. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new **cordova-2.0.0.js** file
+5. Copy the **"cordova"** folder from the new project into your project's root folder (if you want the project command-line tools) 
+6. **Add** a new entry under **Plugins** in your **Cordova.plist** file (under the **Supporting Files** group) - the key is **Device** and the value is **CDVDevice**
+7. Remove **Cordova.framework**
+8. Remove **verify.sh** from the **Supporting Files** group
+9. Select the **project icon** in the Project Navigator, select your project **Target**, then select the **"Build Settings"** tab
+10. Search for **"Preprocessor Macros"**, then remove all **"CORDOVA_FRAMEWORK=1"** values
+11. Locate the **CordovaLib** folder that was installed in your hard-drive under your home folder's **Documents** sub-folder.
+12. Locate the **CordovaLib.xcodeproj** file in the **CordovaLib** folder, then **drag and drop** the file into your project - it should appear as a **sub-project**.
+13. **Build** your project, you should get some **errors** relating to **#import** directives
+14. For the **#import errors**, change any **quote-based** imports in this style:
+
+        #import "CDV.h"
+        
+    to this **brackets-based** style:
+    
+        #import <Cordova/CDV.h>
+        
+    and remove any **#ifdef** wrappers around any Cordova imports, they are not needed anymore (the imports are **unified** now)    
+15. **Build** your project again, and it should not have any **#import** errors.
+16. Select the **project icon** in the Project Navigator, select your project **Target**, then select the **"Build Phases"** tab
+17. Expand the **"Target Dependencies"** phase, then select the **"+"** button
+18. Select the **"CordovaLib"** target, then select the **"Add"** button
+19. Expand the **first** **"Link Binary with Libraries"** phase (it should already contain a bunch of frameworks), then select the **"+"** button
+20. Select the **libCordova.a** static library, then select the **"Add"** button
+21. Delete the **"Run Script"** phase.
+22. Select the **project icon** in the Project Navigator, select your project **Target**, then select the **"Build Settings"** tab
+23. Search for **"Other Linker Flags"**, and add the values **-all_load** and **-Obj-C**
+24. Expand the **"CordovaLib" sub-project**
+25. Locate the **"VERSION"** file, drag it into your main project (we want to create a link to it, not a copy)
+26. Select the **"Create groups for any added folders"** radiobutton, then select the **"Finish"** button
+27. Select the **"VERSION"** file that you just dragged in a previous step
+28. Press the key combination **Option-Command-1** to show the **File Inspector** (or menuitem **View -> Utilities -> Show File Inspector**)
+29. Choose **"Relative to CORDOVALIB"** in the **File Inspector** for the drop-down menu for **Location**
+30. Set the Xcode preference **"Xcode Preferences -> Locations -> Derived Data -> Advanced…"** to **"Unique"** (this is so the unified headers can be found)
+31. Select the **project icon** in the Project Navigator, select your **Target**, then select the **"Build Settings"** tab
+32. Search for **"Header Search Paths"**. For that setting, add these three values below (with quotes):
+
+        "$(TARGET_BUILD_DIR)/usr/local/lib/include"
+    
+        "$(OBJROOT)/UninstalledProducts/include"
+    
+        "$(BUILT_PRODUCTS_DIR)"
+
+33. **Build** your project, it should compile and link with **no issues**.
+34. **Select your project** from the **Scheme** drop-down, and then select **"iPhone 5.1 Simulator"**
+35. Select the **Run** button
+
+**NOTE:**<br /> 
+If your project is **not working** as expected in the Simulator, please **take a note of any errors** in the **console log in Xcode** for clues.
+
+## Upgrading Cordova 1.8.x projects to 1.9.0 ##
+
+1. **Install** Cordova 1.9.0
+2. **Create a new project** - you will have to grab assets from this new project
+3. **Copy** the **www/cordova-1.9.0.js** file from the new project into your **www** folder, and delete your **www/cordova-1.8.x.js** file
+4. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new **cordova-1.9.0.js** file
+
+**Note:**
+
+1.9.0 supports the new **"BackupWebStorage"** boolean setting in Cordova.plist. By default, this setting is turned on, set it to "false" to turn it off - especially for iOS 6 - see [Release Notes - Safari and UIKit Section](https://developer.apple.com/library/prerelease/ios/#releasenotes/General/RN-iOSSDK-6_0/_index.html)
+
+
+## Upgrading Cordova 1.7.0 projects to 1.8.x ##
+
+1. **Install** Cordova 1.8.0
+2. **Create a new project** - you will have to grab assets from this new project
+3. **Copy** the **www/cordova-1.8.0.js** file from the new project into your **www** folder, and delete your **www/cordova-1.7.x.js** file
+4. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new **cordova-1.8.0.js** file
+
+If you intend on using the **Capture API**, you will need the new **iPad retina-display** assets:
+
+1.  **Copy** the **Resources/Capture.bundle** item from the new project into your project folder, over-writing your existing **Resources/Capture.bundle** item
+2.  In your project, select the **Capture.bundle** item into Xcode into your Project Navigator, and press the **Delete** key, then select **Remove Reference** from the dialog that pops up.
+3.  Drag the new **Capture.bundle** from Step 1. above into Xcode into your Project Navigator, and select the **Create groups for any added folders** radio-button
+
+## Upgrading Cordova 1.6.x projects to 1.7.0 ##
+
+1. **Install** Cordova 1.7.0
+2. **Create a new project** - you will have to grab assets from this new project
+3. **Copy** the **www/cordova-1.7.0.js** file from the new project into your **www** folder, and delete your **www/cordova-1.6.0.js** file
+4. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new **cordova-1.7.0.js** file
+
+## Upgrading Cordova 1.5.0 projects to 1.6.x ##
+
+1. **Install** Cordova 1.6.1
+2. **Make a backup** of **AppDelegate.m**, **AppDelegate.h**, **MainViewController.m**, **MainViewController.h**, and **Cordova.plist** in your project
+3. **Create a new project** - you will have to grab assets from this new project
+4. **Copy** these files from the **new** project into your 1.5.0 based project folder on disk, **replacing** any old files (**backup** your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        Cordova.plist
+5. **Add** all the new **MainViewController** and **AppDelegate** files into your Xcode project
+6. **Copy** the **www/cordova-1.6.1.js** file from the new project into your **www** folder, and delete your **www/cordova-1.5.0.js** file
+7. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new **cordova-1.6.1.js** file
+8. **Add** the new **Cordova.plist** file into your project - this is because the core plugin service names needed to be changed to match the ones from Android and Blackberry, for a unified Cordova JavaScript file (cordova-js). 
+9. **Integrate** any settings, **Plugins** and **ExternalHosts** entries that you had in your **backed-up Cordova.plist** into the new **Cordova.plist**
+10. **Integrate** any project specific code that you have in your **backed-up AppDelegate.h and AppDelegate.m** into the new AppDelegate files. Any **UIWebViewDelegate** or **CDVCommandDelegate** code in **AppDelegate.m** will need to go into MainViewController.m now (see commented out sections in that file)
+11. **Integrate** any project specific code that you have in your **backed-up MainViewController.h and MainViewController.m** into the new MainViewController files
+12. Click on the **project icon** in the Project Navigator, select your **Project**, then select the **"Build Settings"** tab
+13. Enter **"Compiler for C/C++/Objective-C"** in the search field
+14. Select the **"Apple LLVM Compiler 3.1"** value
+
+
+## Upgrading Cordova 1.4.x projects to 1.5.0 ##
+
+1. **Install** Cordova 1.5.0
+2. **Create a new project** and run it once - you will have to grab assets from this new project
+3. **Copy** the **www/cordova-1.5.0.js** file from the new project into your **www** folder, and delete your **www/phonegap-1.4.x.js** file
+4. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new Cordova **cordova-1.5.0.js** file
+5. Find **"PhoneGap.framework"** in your Project Navigator, select it
+6. Press the **Delete** key and delete the **"PhoneGap.framework"** reference in the Project Navigator
+7. Press the key combination **Option-Command-A**, which should drop down a sheet to add files to your project (the **"Add Files..." sheet**). Make sure the **"Created groups for any added folders"** radio-button is selected
+8. Press the key combination **Shift-Command-G**, which should drop down another sheet for you to go to a folder (the **"Go to the folder:" sheet**)
+9. Enter **"/Users/Shared/Cordova/Frameworks/Cordova.framework"** in the **"Go to the folder:" sheet** and then press the **"Go"** button
+10. Press the **"Add"** button in the **"Add Files..." sheet**
+11. **Select "Cordova.framework"** in the Project Navigator
+12. Press the key combination **Option-Command-1** to show the **File Inspector**
+13. Choose **"Absolute Path"** in the **File Inspector** for the drop-down menu for **Location**
+14. Press the key combination **Option-Command-A**, which should drop down a sheet to add files to your project (the **"Add Files..." sheet**). Make sure the **"Created groups for any added folders"** radio-button is selected
+15. Press the key combination **Shift-Command-G**, which should drop down another sheet for you to go to a folder (the **"Go to the folder:" sheet**)
+16. Enter **"~/Documents/CordovaLib/Classes/deprecated"** in the **"Go to the folder:" sheet** and then press the **"Go"** button
+17. Press the **"Add"** button in the **"Add Files..." sheet**
+18. In your **AppDelegate.h, AppDelegate.m, and MainViewController.h** files - replace the whole **#ifdef PHONEGAP_FRAMEWORK** block with:
+
+        #import "CDVDeprecated.h"
+19. Click on the **project icon** in the Project Navigator, select your **Target**, then select the **"Build Settings"** tab
+20. Search for **"Framework Search Paths"**
+21. Replace the existing value with **"/Users/Shared/Cordova/Frameworks"** 
+22. Search for **"Preprocessor Macros"**
+23. For the first (combined) value, replace the value with **"CORDOVA_FRAMEWORK=YES"**
+24. Select the **"Build Phases"** tab
+25. Expand **"Run Script"**
+26. Replace any occurrences of **PhoneGap** with **Cordova**
+27. Find your **"PhoneGap.plist"** file in the Project Navigator, and click on the filename once to enter name edit mode
+28. Rename **"PhoneGap.plist"** to **"Cordova.plist"**
+29. Right-click on **"Cordova.plist"** and choose **"Open As" --> "Source Code"**
+30. Press **Option-Command-F**, choose **"Replace"** from the drop-down on the top left of the Source window
+31. Enter **com.phonegap** for the Find string, and **org.apache.cordova** for the Replace string - then press the **"Replace All"** button
+32. Enter **PG** for the Find string, and **CDV** for the Replace string - then press the **"Replace All"** button
+33. Press **Command-B** to build, you will still have deprecations that you can get rid of in the future (see **CDVDeprecated.h** - replace classes in your code that use PG* to CDV*, for example)
+
+## Upgrading Cordova 1.4.0 projects to 1.4.1 ##
+
+1. **Install** Cordova 1.4.1
+2. **Make a backup** of **MainViewController.m**
+3. **Create a new project** - you will have to grab assets from this new project
+4. **Copy** the **MainViewController.m** file from the **new** project into your 1.4.0 based project folder on disk, **replacing** the old file (**backup** your files first from step 2 above).
+5. **Add** the **MainViewController.m** file into your Xcode project
+6. **Integrate** any project specific code that you have in your **backed-up MainViewController.m** into the new file
+7. Updating the phonegap-X.X.X.js file is optional, nothing has changed in the JavaScript between 1.4.0 and 1.4.1
+
+## Upgrading Cordova 1.3.0 projects to 1.4.0 ##
+
+1. **Install** Cordova 1.4.0
+2. **Make a backup** of **AppDelegate.m** and **AppDelegate.h** in your project
+3. **Create a new project** - you will have to grab assets from this new project
+4. **Copy** these files from the **new** project into your 1.3.0 based project folder on disk, **replacing** any old files (**backup** your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        MainViewController.xib
+5. **Add** all the **MainViewController** files into your Xcode project
+6. **Copy** the **www/phonegap-1.4.0.js** file from the new project into your **www** folder, and delete your **www/phonegap-1.3.0.js** file
+7. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new **phonegap-1.4.0.js** file
+8. **Add** a new entry under **Plugins** in your **PhoneGap.plist** file - key is **com.phonegap.battery** and the value is **PGBattery**
+9. **Integrate** any project specific code that you have in your **backed-up AppDelegate.h and AppDelegate.m** into the new AppDelegate files
+
+## Upgrading Cordova 1.2.0 projects to 1.3.0 ##
+
+1. **Install** Cordova 1.3.0
+2. **Make a backup** of **AppDelegate.m** and **AppDelegate.h** in your project
+3. **Create a new project** - you will have to grab assets from this new project
+4. **Copy** these files from the **new** project into your 1.2.0 based project folder on disk, **replacing** any old files (**backup** your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        MainViewController.xib
+5. **Add** all the **MainViewController** files into your Xcode project
+6. **Copy** the **www/phonegap-1.3.0.js** file from the new project into your **www** folder, and delete your **www/phonegap-1.2.0.js** file
+7. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new **phonegap-1.3.0.js** file
+8. **Add** a new entry under **Plugins** in your **PhoneGap.plist** file - key is **com.phonegap.battery** and the value is **PGBattery**
+9. **Integrate** any project specific code that you have in your **backed-up AppDelegate.h and AppDelegate.m** into the new AppDelegate files
+
+## Upgrading Cordova 1.1.0 projects to 1.2.0 ##
+
+1. **Install** Cordova 1.2.0
+2. **Make a backup** of **AppDelegate.m** and **AppDelegate.h** in your project
+3. **Create a new project** - you will have to grab assets from this new project
+4. **Copy** these files from the **new** project into your 1.1.0 based project folder on disk, **replacing** any old files (**backup** your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        MainViewController.xib
+5. **Add** all the **MainViewController** files into your Xcode project
+6. **Copy** the **www/phonegap-1.2.0.js** file from the new project into your **www** folder, and delete your **www/phonegap-1.1.0.js** file
+7. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new **phonegap-1.2.0.js** file
+8. **Add** a new entry under **Plugins** in your **PhoneGap.plist** file - key is **com.phonegap.battery** and the value is **PGBattery**
+9. **Integrate** any project specific code that you have in your **backed-up AppDelegate.h and AppDelegate.m** into the new AppDelegate files
+
+## Upgrading Cordova 1.0.0 projects to 1.1.0 ##
+
+1. **Install** Cordova 1.1.0
+2. **Make a backup** of **AppDelegate.m** and **AppDelegate.h** in your project
+3. **Create a new project** - you will have to grab assets from this new project
+4. **Copy** these files from the **new** project into your 1.0.0 based project folder on disk, **replacing** any old files (**backup** your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        MainViewController.xib
+5. **Add** all the **MainViewController** files into your Xcode project
+6. **Copy** the **www/phonegap-1.1.0.js** file from the new project into your **www** folder, and delete your **www/phonegap-1.0.0.js** file
+7. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new **phonegap-1.1.0.js** file
+8. **Add** a new entry under **Plugins** in your **PhoneGap.plist** file - key is **com.phonegap.battery** and the value is **PGBattery**
+9. **Integrate** any project specific code that you have in your **backed-up AppDelegate.h and AppDelegate.m** into the new AppDelegate files
+
+## Upgrading Cordova 0.9.6 projects to 1.0.0 ##
+
+1. **Install** Cordova 1.0.0
+2. **Make a backup** of **AppDelegate.m** and **AppDelegate.h** in your project
+3. **Create a new project** - you will have to grab assets from this new project
+4. **Copy** these files from the **new** project into your 0.9.6 based project folder on disk, **replacing** any old files (**backup** your files first from step 2 above):
+
+        AppDelegate.h
+        AppDelegate.m
+        MainViewController.h
+        MainViewController.m
+        MainViewController.xib
+5. **Add** all the **MainViewController** files into your Xcode project
+6. **Copy** the **www/phonegap-1.0.0.js** file from the new project into your **www** folder, and delete your **www/phonegap-0.9.6.js** file
+7. **Update** the Cordova script reference in your **www/index.html** file (and any other files that contain the script reference) to point to the new **phonegap-1.0.0.js** file
+8. **Add** a new entry under **Plugins** in your **PhoneGap.plist** file - key is **com.phonegap.battery** and the value is **PGBattery**
+9. **Integrate** any project specific code that you have in your **backed-up AppDelegate.h and AppDelegate.m** into the new AppDelegate files

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/upgrading/symbian/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/upgrading/symbian/index.md b/docs/en/2.1.0rc1/guide/upgrading/symbian/index.md
new file mode 100644
index 0000000..77c3d0e
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/upgrading/symbian/index.md
@@ -0,0 +1,21 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Upgrading Cordova Symbian
+=========================

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/upgrading/webos/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/upgrading/webos/index.md b/docs/en/2.1.0rc1/guide/upgrading/webos/index.md
new file mode 100644
index 0000000..36d7d8b
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/upgrading/webos/index.md
@@ -0,0 +1,51 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Upgrading Cordova webOS
+=======================
+
+This document is for people who need to upgrade their Cordova versions from an older version to a current version of Cordova.
+
+## Upgrade to 2.0.0 from 1.9.0 ##
+
+1. remove cordova-1.9.0.js from your project
+
+2. update the following line in your index.html:
+
+    change this:
+    <script type="text/javascript" src="cordova-1.9.0.js"></script> 
+    
+    to:
+    <script type="text/javascript" src="cordova-2.0.0.js"></script> 
+
+3. run the makefile to generate the newest version of the cordova-2.0.0.js file
+
+## Upgrade to 1.9.0 from 1.8.1 ##
+
+1. remove cordova-1.8.1.js from your project
+
+2. update the following line in your index.html:
+
+    change this:
+    <script type="text/javascript" src="cordova-1.8.1.js"></script> 
+    
+    to:
+    <script type="text/javascript" src="cordova-1.9.0.js"></script> 
+
+3. run the makefile to generate the newest version of the cordova-1.9.0.js file
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/upgrading/windows-phone/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/upgrading/windows-phone/index.md b/docs/en/2.1.0rc1/guide/upgrading/windows-phone/index.md
new file mode 100644
index 0000000..74cbaf3
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/upgrading/windows-phone/index.md
@@ -0,0 +1,147 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Upgrading Cordova Windows Phone
+===============================
+
+This document is for people who need to upgrade their Cordova versions from an older version to a current version of Cordova.
+
+## Upgrade to 2.0.0 from 1.9.0 ##
+
+There have been considerable changes to the WP7 project structure in Apache Cordova 2.0.0 which make this upgrade a little more involved that the others. Essentially this is not an upgrade but creation of a new project and copy over of existing source files.
+
+### In Visual Studio's Solution Explorer window:
+1. Create a new Apache Cordova WP7 2.0 Project
+2. Copy the contents of your 'www' folder to the new project, and be sure these items are added to the VS project.
+3. Update your HTML to use the new cordova-2.0.0.js file.
+4. Copy and overwrite any splash screen, or icon images.
+5. Copy over any plugins from the plugins folder to the new project and ensure that they are also added to the VS project.
+6. Build and test.
+
+
+## Upgrade to 1.9.0 from 1.8.0 ##
+
+### In Visual Studio's Solution Explorer window:
+1. Delete the file GapLib/WP7CordovaClassLib.dll from your project.
+2. Remove the reference to WP7CordovaClassLib in the References folder.
+3. Right-Click on References and Select 'Add Reference'
+4. Navigate to the new distribution and add the file 'WP7CordovaClassLib.dll'
+    - note: you can view the version of the DLL by right-clicking on the reference, and selecting Properties.
+5. Copy the new cordova-1.9.0.js into your project ( be sure it is marked as Content )
+6. Update your HTML to use the new cordova-1.9.0.js file.
+
+
+## Upgrade to 1.8.0 from 1.7.0 ##
+
+### In Visual Studio's Solution Explorer window:
+1. Delete the file GapLib/WP7CordovaClassLib.dll from your project.
+2. Remove the reference to WP7CordovaClassLib in the References folder.
+3. Right-Click on References and Select 'Add Reference'
+4. Navigate to the new distribution and add the file 'WP7CordovaClassLib.dll'
+    - note: you can view the version of the DLL by right-clicking on the reference, and selecting Properties.
+5. Copy the new cordova-1.8.0.js into your project ( be sure it is marked as Content )
+6. Update your HTML to use the new cordova-1.8.0.js file.
+
+## Upgrade to 1.7.0 from 1.6.0 ##
+
+### In Visual Studio's Solution Explorer window:
+1. Delete the file GapLib/WP7CordovaClassLib.dll from your project.
+2. Remove the reference to WP7CordovaClassLib in the References folder.
+3. Right-Click on References and Select 'Add Reference'
+4. Navigate to the new distribution and add the file 'WP7CordovaClassLib.dll'
+    - note: you can view the version of the DLL by right-clicking on the reference, and selecting Properties.
+5. Copy the new cordova-1.7.0.js into your project ( be sure it is marked as Content )
+6. Update your HTML to use the new cordova-1.7.0.js file.
+
+## Upgrade to 1.6.1 from 1.6.0 ##
+
+### In Visual Studio's Solution Explorer window:
+1. Delete the file GapLib/WP7CordovaClassLib.dll from your project.
+2. Remove the reference to WP7CordovaClassLib in the References folder.
+3. Right-Click on References and Select 'Add Reference'
+4. Navigate to the new distribution and add the file 'WP7CordovaClassLib.dll'
+    - note: you can view the version of the DLL by right-clicking on the reference, and selecting Properties.
+5. Copy the new cordova-1.6.1.js into your project ( be sure it is marked as Content )
+6. Update your HTML to use the new cordova-1.6.1.js file.
+
+## Upgrade to 1.6.0 from 1.5.0 ##
+
+### In Visual Studio's Solution Explorer window:
+1. Delete the file GapLib/WP7CordovaClassLib.dll from your project.
+2. Remove the reference to WP7CordovaClassLib in the References folder.
+3. Right-Click on References and Select 'Add Reference'
+4. Navigate to the new distribution and add the file 'WP7CordovaClassLib.dll'
+    - note: you can view the version of the DLL by right-clicking on the reference, and selecting Properties.
+5. Copy the new cordova-1.6.0.js into your project ( be sure it is marked as Content )
+6. Update your HTML to use the new cordova-1.6.0.js file.
+
+## Upgrade to 1.5.0 from 1.4.0 ##
+
+### In Visual Studio's Solution Explorer window:
+1. Delete the file GapLib/WP7CordovaClassLib.dll from your project.
+2. Remove the reference to WP7CordovaClassLib in the References folder.
+3. Right-Click on References and Select 'Add Reference'
+4. Navigate to the new distribution and add the file 'WP7CordovaClassLib.dll'
+    - note: you can view the version of the DLL by right-clicking on the reference, and selecting Properties.
+5. Copy the new cordova-1.5.0.js into your project ( be sure it is marked as Content )
+6. Update your HTML to use the new cordova-1.5.0.js file.
+
+## Upgrade to 1.4.0 from 1.3.0 ##
+
+### In Visual Studio's Solution Explorer window:
+1. Delete the file GapLib/WP7CordovaClassLib.dll from your project.
+2. Remove the reference to WP7CordovaClassLib in the References folder.
+3. Right-Click on References and Select 'Add Reference'
+4. Navigate to the new distribution and add the file 'WP7CordovaClassLib.dll'
+    - note: you can view the version of the DLL by right-clicking on the reference, and selecting Properties.
+5. Copy the new cordova-1.4.0.js into your project ( be sure it is marked as Content )
+6. Update your HTML to use the new cordova-1.4.0.js file.
+
+## Upgrade to 1.3.0 from 1.2.0 ##
+
+### In Visual Studio's Solution Explorer window:
+1. Delete the file GapLib/WP7CordovaClassLib.dll from your project.
+2. Remove the reference to WP7CordovaClassLib in the References folder.
+3. Right-Click on References and Select 'Add Reference'
+4. Navigate to the new distribution and add the file 'WP7CordovaClassLib.dll'
+    - note: you can view the version of the DLL by right-clicking on the reference, and selecting Properties.
+5. Copy the new cordova-1.3.0.js into your project ( be sure it is marked as Content )
+6. Update your HTML to use the new cordova-1.3.0.js file.
+
+## Upgrade to 1.2.0 from 1.1.0 ##
+
+### In Visual Studio's Solution Explorer window:
+1. Delete the file GapLib/WP7CordovaClassLib.dll from your project.
+2. Remove the reference to WP7CordovaClassLib in the References folder.
+3. Right-Click on References and Select 'Add Reference'
+4. Navigate to the new distribution and add the file 'WP7CordovaClassLib.dll'
+    - note: you can view the version of the DLL by right-clicking on the reference, and selecting Properties.
+5. Copy the new cordova-1.2.0.js into your project ( be sure it is marked as Content )
+6. Update your HTML to use the new cordova-1.2.0.js file.
+
+## Upgrade to 1.1.0 from 1.0.0 ##
+
+### In Visual Studio's Solution Explorer window:
+1. Delete the file GapLib/WP7CordovaClassLib.dll from your project.
+2. Remove the reference to WP7CordovaClassLib in the References folder.
+3. Right-Click on References and Select 'Add Reference'
+4. Navigate to the new distribution and add the file 'WP7CordovaClassLib.dll'
+    - note: you can view the version of the DLL by right-clicking on the reference, and selecting Properties.
+5. Copy the new cordova-1.1.0.js into your project ( be sure it is marked as Content )
+6. Update your HTML to use the new cordova-1.1.0.js file.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/guide/whitelist/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/guide/whitelist/index.md b/docs/en/2.1.0rc1/guide/whitelist/index.md
new file mode 100644
index 0000000..9b24e39
--- /dev/null
+++ b/docs/en/2.1.0rc1/guide/whitelist/index.md
@@ -0,0 +1,161 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Domain Whitelist Guide
+=====================
+
+Overview
+--------
+
+Domain whitelisting in Apache Cordova is a security model that controls access to outside domains, such as `http://google.com`. The default security policy is to block all network access. The application developer can then delcare access to specific network domains and subdomains.
+
+Specification
+-------------
+
+Domain whitelisting lays the ground work for the [W3C Widget Access][1] specification. In the Widget Access specification, the `<access>` element is used to declare access to specific network domains. In the future, Apache Cordova will abstract the platform whitelisting implementations to the W3C Widget Access specification. However, for now each platform must implement it's own domain whitelisting.
+
+Syntax
+------
+
+Access to [google.com][2]:
+
+    http://google.com
+
+Access to the secure [google.com][3] (`https://`):
+
+    https://google.com
+
+Access to the subdomain [maps.google.com][4]:
+
+    http://maps.google.com
+
+Access to all the subdomains on [google.com][2] (e.g. [mail.google.com][5] and [docs.google.com][6]):
+
+    http://*.google.com
+
+Access to all domains (e.g. [google.com][2] and [developer.mozilla.org][7]):
+
+    *
+
+Android
+-------
+
+### Details
+
+The whitelisting rules are found in `res/xml/cordova.xml` and declared with the element `<access origin="..." />`.
+
+Android has full support for the whitelisting syntax.
+
+### Syntax
+
+Access to [google.com][2]:
+
+    <access origin="http://google.com" />
+
+Bada
+----
+
+Domain whitelisting is unsupported on Bada. By default, all domains are accessible.
+
+BlackBerry
+----------
+
+### Details
+
+The whitelisting rules are found in `www/config.xml` and declared with the element `<access uri="..." />`.
+
+For a complete reference, see the [BlackBerry WebWorks Access Element documentation][8].
+
+### Syntax
+
+Access to [google.com][2]:
+
+    <access uri="http://google.com" subdomains="false" />
+
+Access to  [maps.google.com][4]:
+
+    <access uri="http://maps.google.com" subdomains="false" />
+
+Access to all the subdomains on [google.com][2]:
+
+    <access uri="http://google.com" subdomains="true" />
+
+Access to all domains, including `file://` protocol:
+
+    <access uri="*" subdomains="true" />
+
+iOS
+---
+
+### Details
+
+1. Open `Cordova.plist`.
+    - In Xcode, it is found at `AppName/Resources/Cordova.plist`
+    - In the directory, it is found at `AppName/Cordova.plist`
+2. Add a new `String` value under the `ExternalHosts` key.
+    - We recommend using Xcode to avoid editing raw XML.
+
+
+### Syntax
+
+Access to [google.com][2] and the secure [google.com][3] (`https://`):
+
+    google.com
+
+Access to the subdomain [maps.google.com][4]:
+
+    maps.google.com
+
+Access to all the subdomains on [google.com][2] (e.g. [mail.google.com][5] and [docs.google.com][6]):
+
+    *.google.com
+
+Access to all domains (e.g. [google.com][2] and [developer.mozilla.org][7]):
+
+    *
+
+Wildcards on iOS (`*`) are more flexible than the [W3C Widget Access][1] specification.
+
+Access to all subdomains and TLDs (`.com`, `.net`, etc):
+
+    *.google.*
+
+Symbian
+-------
+
+Domain whitelisting is unsupported on Symbian. By default, all domains are accessible.
+
+webOS
+-----
+
+Domain whitelisting is unsupported on webOS. By default, all domains are accessible.
+
+Windows Phone
+-------------
+
+Domain whitelisting is unsupported on Windows Phone. By default, all domains are accessible.
+
+[1]: http://www.w3.org/TR/widgets-access/
+[2]: http://google.com
+[3]: https://google.com
+[4]: http://maps.google.com
+[5]: http://mail.google.com
+[6]: http://docs.google.com
+[7]: http://developer.mozilla.org
+[8]: https://developer.blackberry.com/html5/documentation/ww_developing/Access_element_834677_11.html

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/2.1.0rc1/index.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0rc1/index.md b/docs/en/2.1.0rc1/index.md
new file mode 100644
index 0000000..8bfe824
--- /dev/null
+++ b/docs/en/2.1.0rc1/index.md
@@ -0,0 +1,107 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+<div id="home">
+    <h1>API Reference</h1>
+    <ul>
+        <li>
+            <h2>Accelerometer</h2>
+            <span>Tap into the device's motion sensor.</span>
+        </li>
+        <li>
+            <h2>Camera</h2>
+            <span>Capture a photo using the device's camera.</span>
+        </li>
+        <li>
+            <h2>Capture</h2>
+            <span>Capture media files using device's media capture applications.</span>
+        </li>
+        <li>
+            <h2>Compass</h2>
+            <span>Obtain the direction that the device is pointing.</span>
+        </li>
+        <li>
+            <h2>Connection</h2>
+            <span>Quickly check the network state, and cellular network information.</span>
+        </li>
+        <li>
+            <h2>Contacts</h2>
+            <span>Work with the devices contact database.</span>
+        </li>
+        <li>
+            <h2>Device</h2>
+            <span>Gather device specific information.</span>
+        </li>
+        <li>
+            <h2>Events</h2>
+            <span>Hook into native events through JavaScript.</span>
+        </li>
+        <li>
+            <h2>File</h2>
+            <span>Hook into native file system through JavaScript.</span>
+        </li>
+        <li>
+            <h2>Geolocation</h2>
+            <span>Make your application location aware.</span>
+        </li>
+        <li>
+            <h2>Media</h2>
+            <span>Record and play back audio files.</span>
+        </li>
+        <li>
+            <h2>Notification</h2>
+            <span>Visual, audible, and tactile device notifications.</span>
+        </li>
+        <li>
+            <h2>Storage</h2>
+            <span>Hook into the devices native storage options.</span>
+        </li>
+    </ul>
+    <h1>Guides</h1>
+    <ul>
+        <li>
+            <h2>Getting Started Guides</h2>
+            <span>Setup each SDK and create your first Cordova app.</span>
+        </li>
+        <li>
+            <h2>Command-Line Usage</h2>
+            <span>Create, build, deploy, and debug from the command-line.</span>
+        </li>
+        <li>
+            <h2>Upgrading Guides</h2>
+            <span>Upgrade an application to the latest Cordova release.</span>
+        </li>
+        <li>
+            <h2>Plugin Development Guide</h2>
+            <span>Develop your first Cordova plugin.</span>
+        </li>
+        <li>
+            <h2>Domain Whitelist Guide</h2>
+            <span>Grant an application access to external domains.</span>
+        </li>
+        <li>
+            <h2>Embedding WebView</h2>
+            <span>Implement the Cordova WebView in your project.</span>
+        </li>
+        <li>
+            <h2><a href="_index.html">Keyword Index</a></h2>
+            <span>Full index of the Cordova Documentation.</span>
+        </li>
+    </ul>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/edge/cordova/accelerometer/acceleration/acceleration.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/cordova/accelerometer/acceleration/acceleration.md b/docs/en/edge/cordova/accelerometer/acceleration/acceleration.md
index 15bd02d..805ad51 100644
--- a/docs/en/edge/cordova/accelerometer/acceleration/acceleration.md
+++ b/docs/en/edge/cordova/accelerometer/acceleration/acceleration.md
@@ -69,7 +69,7 @@ Full Example
       <head>
         <title>Acceleration Example</title>
 
-        <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
         <script type="text/javascript" charset="utf-8">
 
         // Wait for Cordova to load

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/edge/cordova/accelerometer/accelerometer.clearWatch.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/cordova/accelerometer/accelerometer.clearWatch.md b/docs/en/edge/cordova/accelerometer/accelerometer.clearWatch.md
index d48feef..60d005e 100644
--- a/docs/en/edge/cordova/accelerometer/accelerometer.clearWatch.md
+++ b/docs/en/edge/cordova/accelerometer/accelerometer.clearWatch.md
@@ -52,7 +52,7 @@ Full Example
       <head>
         <title>Acceleration Example</title>
 
-        <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
         <script type="text/javascript" charset="utf-8">
 
         // The watch id references the current `watchAcceleration`

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/edge/cordova/accelerometer/accelerometer.getCurrentAcceleration.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/cordova/accelerometer/accelerometer.getCurrentAcceleration.md b/docs/en/edge/cordova/accelerometer/accelerometer.getCurrentAcceleration.md
index fcb7b24..a8349e6 100644
--- a/docs/en/edge/cordova/accelerometer/accelerometer.getCurrentAcceleration.md
+++ b/docs/en/edge/cordova/accelerometer/accelerometer.getCurrentAcceleration.md
@@ -64,7 +64,7 @@ Full Example
       <head>
         <title>Acceleration Example</title>
 
-        <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
         <script type="text/javascript" charset="utf-8">
 
         // Wait for Cordova to load

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/edge/cordova/accelerometer/accelerometer.watchAcceleration.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/cordova/accelerometer/accelerometer.watchAcceleration.md b/docs/en/edge/cordova/accelerometer/accelerometer.watchAcceleration.md
index 244c34c..d535085 100644
--- a/docs/en/edge/cordova/accelerometer/accelerometer.watchAcceleration.md
+++ b/docs/en/edge/cordova/accelerometer/accelerometer.watchAcceleration.md
@@ -71,7 +71,7 @@ Full Example
       <head>
         <title>Acceleration Example</title>
 
-        <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
         <script type="text/javascript" charset="utf-8">
 
         // The watch id references the current `watchAcceleration`

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/edge/cordova/camera/camera.getPicture.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/cordova/camera/camera.getPicture.md b/docs/en/edge/cordova/camera/camera.getPicture.md
index 73b2c3c..80544fe 100644
--- a/docs/en/edge/cordova/camera/camera.getPicture.md
+++ b/docs/en/edge/cordova/camera/camera.getPicture.md
@@ -106,7 +106,7 @@ Full Example
       <head>
         <title>Capture Photo</title>
 
-        <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
         <script type="text/javascript" charset="utf-8">
 
         var pictureSource;   // picture source

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/edge/cordova/compass/compass.clearWatch.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/cordova/compass/compass.clearWatch.md b/docs/en/edge/cordova/compass/compass.clearWatch.md
index e4f79e5..9743807 100755
--- a/docs/en/edge/cordova/compass/compass.clearWatch.md
+++ b/docs/en/edge/cordova/compass/compass.clearWatch.md
@@ -52,7 +52,7 @@ Full Example
       <head>
         <title>Compass Example</title>
 
-        <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
         <script type="text/javascript" charset="utf-8">
 
         // The watch id references the current `watchHeading`

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/edge/cordova/compass/compass.getCurrentHeading.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/cordova/compass/compass.getCurrentHeading.md b/docs/en/edge/cordova/compass/compass.getCurrentHeading.md
index 69a0791..34e1ff7 100755
--- a/docs/en/edge/cordova/compass/compass.getCurrentHeading.md
+++ b/docs/en/edge/cordova/compass/compass.getCurrentHeading.md
@@ -61,7 +61,7 @@ Full Example
       <head>
         <title>Compass Example</title>
 
-        <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
         <script type="text/javascript" charset="utf-8">
 
         // Wait for Cordova to load

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/edge/cordova/compass/compass.watchHeading.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/cordova/compass/compass.watchHeading.md b/docs/en/edge/cordova/compass/compass.watchHeading.md
index 2eeb7cc..d914ac4 100755
--- a/docs/en/edge/cordova/compass/compass.watchHeading.md
+++ b/docs/en/edge/cordova/compass/compass.watchHeading.md
@@ -67,7 +67,7 @@ Full Example
       <head>
         <title>Compass Example</title>
 
-        <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
         <script type="text/javascript" charset="utf-8">
 
         // The watch id references the current `watchHeading`

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/3ae91718/docs/en/edge/cordova/connection/connection.type.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/cordova/connection/connection.type.md b/docs/en/edge/cordova/connection/connection.type.md
index fcece06..e2c14c7 100644
--- a/docs/en/edge/cordova/connection/connection.type.md
+++ b/docs/en/edge/cordova/connection/connection.type.md
@@ -65,7 +65,7 @@ Full Example
       <head>
         <title>navigator.network.connection.type Example</title>
         
-        <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
         <script type="text/javascript" charset="utf-8">
             
         // Wait for Cordova to load