---
layout: post
author:
    name: Steve Gill
    url: https://twitter.com/stevesgill
title:  "Apache Cordova 2.9.1"
categories: blog releases
tags: news releases
---

The [Apache Cordova](http://cordova.apache.org/) team has just released Cordova 2.9.1. Wait what?! You read right! We have backported some bug fixes to the Cordova 2 series for all of you that haven't upgraded to the Cordova 3 series yet. Hurray! Among other fixes, this release backports iOS 7 support.

Users can download the source zip from [https://www.apache.org/dist/cordova/cordova-2.9.1-src.zip](https://www.apache.org/dist/cordova/cordova-2.9.1-src.zip)

We will continue to backport fixes for a few more months, but we highly suggest upgrading to the Cordova 3 series.

<!--more-->

## What's new in Android

* Update JS snapshot to version 2.9.1 (via coho)
* [CB-5193](https://issues.apache.org/jira/browse/CB-5193) Fix Android WebSQL sometime throwing SECURITY_ERR.
* Move java files back into api/ directory.
* [CB-4817](https://issues.apache.org/jira/browse/CB-4817) Remove unused assets in project template.
* Update InAppBrowser.java 
* Update snapshot of CameraLauncher.java 
* Update snapshot of FileTransfer.java
* [CB-5080](https://issues.apache.org/jira/browse/CB-5080) Find resources in a way that works with aapt's --rename-manifest-package (cherry picked fro
* Tweak the online bridge to not send excess online events.
* [CB-4495](https://issues.apache.org/jira/browse/CB-4495) Modify start-emulator script to exit immediately on a fatal emulator error. (cherry picke
* Fix data URI decoding in CordovaResourceApi
* [CB-4466](https://issues.apache.org/jira/browse/CB-4466) fixed jscript check_reqs to get target from project.properties
* [CB-4463](https://issues.apache.org/jira/browse/CB-4463) Updated bin/check_reqs to looks for android-18 target.Also fixed an issue in unix version
* [CB-4198](https://issues.apache.org/jira/browse/CB-4198) bin/create script should be better at handling non-word characters in activity name. Patc
* [CB-4198](https://issues.apache.org/jira/browse/CB-4198) bin/create should handle spaces in activity better.
* [CB-3384](https://issues.apache.org/jira/browse/CB-3384) Fix thread assertion when plugins remap URIs (cherry picked from commit b915aafb5be319121
* [CB-3384](https://issues.apache.org/jira/browse/CB-3384) Use the ExposedJsApi to detect webCore thread instead of IceCreamCordovaWebViewClient.
* [CB-3384](https://issues.apache.org/jira/browse/CB-3384) Reworked UriResolver into CordovaResourceApi.
* [CB-3384](https://issues.apache.org/jira/browse/CB-3384) Add a length getter for UriResolver. Change from interface -> abstract class.
* [CB-3384](https://issues.apache.org/jira/browse/CB-3384) Make UriResolver assert that IO is not on the UI nor WebCore threads. (cherry picked from
* Backporting FileUtils fixes to 2.9
* [CB-4633](https://issues.apache.org/jira/browse/CB-4633): Backporting to Android 2.9.x
* [CB-4013](https://issues.apache.org/jira/browse/CB-4013) Fixed loadUrlTimeoutValue preference.
* [CB-4155](https://issues.apache.org/jira/browse/CB-4155): Cordova Android - navigator.app.clearCache(); is called on (prospectively unsupported) Web
* [CB-4103](https://issues.apache.org/jira/browse/CB-4103) Made config parameters case-insensitive.
* [CB-4038](https://issues.apache.org/jira/browse/CB-4038) Move non-deprecated classes from the api package into the main package. (cherry picked fr
* [CB-3384](https://issues.apache.org/jira/browse/CB-3384) Rewrite of DataResource into UriResolver + UriResolvers
* [CB-3998](https://issues.apache.org/jira/browse/CB-3998) video duration is an int
* [CB-3927](https://issues.apache.org/jira/browse/CB-3927) Fix start-up race condition that could cause exec() responses to be dropped.
* [CB-3949](https://issues.apache.org/jira/browse/CB-3949): Adding code to mitigate broken intents with the application installer
* [CB-3854](https://issues.apache.org/jira/browse/CB-3854): Added support for wildcard. 
* [CB-3932](https://issues.apache.org/jira/browse/CB-3932) Remove baseUrl comment in handleDestroy method made redundant by [CB-3766](https://issues.apache.org/jira/browse/CB-3766)
* [CB-3902](https://issues.apache.org/jira/browse/CB-3902): Explicitly add market URIs to CordovaWebViewClient so this always works, not just sometime
* [CB-3625](https://issues.apache.org/jira/browse/CB-3625) [CB-3338](https://issues.apache.org/jira/browse/CB-3338) updated windows cli scripts and added version option
* [CB-3998](https://issues.apache.org/jira/browse/CB-3998) video duration is an int

## What's new in iOS

* [CB-5199](https://issues.apache.org/jira/browse/CB-5199) - Media Capture - UI issues under iOS 7 (uncrustify style fix-ups as well)
* [CB-5189](https://issues.apache.org/jira/browse/CB-5189) - ios - Backport of v2.9.1 - add CoreMotion.framework to the default template
* [CB-5189](https://issues.apache.org/jira/browse/CB-5189) - ios - Backport of v2.9.1 from [CB-4825](https://issues.apache.org/jira/browse/CB-4825), [CB-5035](https://issues.apache.org/jira/browse/CB-5035) (Device Motion / Accelerometer)
* [CB-5189](https://issues.apache.org/jira/browse/CB-5189) - ios - Backport of v2.9.1 from [CB-4847](https://issues.apache.org/jira/browse/CB-4847) (Media only)
* [CB-5189](https://issues.apache.org/jira/browse/CB-5189) - ios - Backport of v2.9.1 from [CB-4847](https://issues.apache.org/jira/browse/CB-4847) (Media Capture only)
* [CB-5189](https://issues.apache.org/jira/browse/CB-5189) - ios - Backport for v2.9.1 of [CB-4806](https://issues.apache.org/jira/browse/CB-4806), [CB-4355](https://issues.apache.org/jira/browse/CB-4355) (Splashscreen)
* [CB-5189](https://issues.apache.org/jira/browse/CB-5189) - ios - Backport for v2.9.1 of [CB-4930](https://issues.apache.org/jira/browse/CB-4930) (InAppBrowser)
* [CB-5189](https://issues.apache.org/jira/browse/CB-5189) - ios - Backport for v2.9.1 of [CB-4958](https://issues.apache.org/jira/browse/CB-4958), [CB-3482](https://issues.apache.org/jira/browse/CB-3482) and [CB-3453](https://issues.apache.org/jira/browse/CB-3453) changes
* [CB-4480](https://issues.apache.org/jira/browse/CB-4480) Using 64 bit ints to store file size
* [CB-3448](https://issues.apache.org/jira/browse/CB-3448) bin/diagnose_project script fails if CORDOVALIB variable not in prefs plist
* [CB-3567](https://issues.apache.org/jira/browse/CB-3567) Redirect initiated in JavaScript fails the app from loading
* [CB-4147](https://issues.apache.org/jira/browse/CB-4147) Fixing crash when calling show() on an already open InAppBrowser window.
* [CB-4104](https://issues.apache.org/jira/browse/CB-4104) Made config parameters case-insensitive.
* [CB-4033](https://issues.apache.org/jira/browse/CB-4033) Relaxed case-sensitivity of "UTF-8".
* [CB-4037](https://issues.apache.org/jira/browse/CB-4037) Unable to Archive iOS projects for upload to App Store in 2.9
* [CB-4025](https://issues.apache.org/jira/browse/CB-4025) iOS emulate command broken when run inside the cordova folder

## What's new in Windows Phone 7 & 8

* support namespace, and deprecated plugin tags in config.xml
* Update File.write method with additional params
* bumped version to 2.9.1 and removed dupe geolocation from config.xml for wp7+8 [CB-4090](https://issues.apache.org/jira/browse/CB-4090)
* [CB-4090](https://issues.apache.org/jira/browse/CB-4090) Broken notification handling
* update templates to include all plugins for 2.9.1
* update cordova.js for 2.9.1
* Fix null reference exception
* update Audio/Media plugins
* add callback id to compass callbacks
* add callback id to callbacks
* update FileTransfer plug from plugin repo
* add plugns back, and remove dupe classes

## What's new in Windows 8

* Cordova JS has been updated to 2.9.1

For a full list of changes, refer to RELEASENOTES.md included in the download.