blob: 36dd8927dccf393725812f75055bb815469bf3c2 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width" />
<meta name="description" content=" ">
<title>
Blog - Apache Cordova
</title>
<link rel="SHORTCUT ICON" href="/favicon.ico"/>
<link rel="canonical" href="https://cordova.apache.org/blog/">
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="/static/css/main.css">
<link rel="stylesheet" type="text/css" href="/static/css/lib/syntax.css">
<!-- Fonts -->
<!-- For attribution information, see www/attributions.html -->
<link href='https://fonts.googleapis.com/css?family=Raleway:700,400,300,700italic,400italic,300italic' rel='stylesheet' type='text/css'>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<script type="text/javascript">
var disqus_developer = 1; // this would set it to developer mode
</script>
<!-- JS -->
<script defer type="text/javascript" src="/static/js/lib/jquery-2.1.1.min.js"></script>
<script defer type="text/javascript" src="/static/js/lib/bootstrap.min.js"></script>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '16']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
</head>
<body>
<header>
<a class="scroll-point pt-top" name="top"></a>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/"><img id="logo_top" src="/static/img/cordova-logo-newbrand.svg"/></a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<div class="nav_bar_center">
<ul class="nav navbar-nav">
<li >
<a href="/docs/en/latest/">Documentation</a>
</li>
<li >
<a href="/plugins">Plugins</a>
</li>
<li class="active">
<a href="/blog" id="blog_button">Blog<span class="badge" id="new_blog_count"></span></a>
</li>
<li >
<a href="/contribute">Contribute</a>
</li>
<li >
<a href="/contribute/team.html">Team</a>
</li>
<li>
<a href="/#getstarted">Get Started</a>
</li>
<li>
<form class="navbar-form navbar-right" id="header-search-form" role="search">
<div class="input-group">
</div>
</form>
</li>
</ul>
</div>
</div><!--/.navbar-collapse -->
</div>
</nav>
<div id="_fixed_navbar_spacer" style="padding-top:50px"></div>
</header>
<div class="page container">
<div class="blog">
<div class="row">
<div class="col-sm-8 blog-list">
<h1 class="blogHeader">
Blog
<span class="rss">
<img src="/static/img/subscribe.png"><a href="/feed.xml">RSS Feed</a>
</span>
</h1>
<ul class="posts">
<li>
<header>
<div class="adorner" blogTime="Wed, 03 Apr 2024 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2024/04/03/cordova-ios-7.1.0.html">Cordova iOS 7.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">03 Apr 2024</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2024/04/03/cordova-ios-7.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova iOS 7.1.0</code>! This is one of Cordova&#39;s supported platforms for building iOS applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-ios">cordova-ios@7.1.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove ios
cordova platform add ios@7.1.0
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@7.1.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<h3>Features</h3>
<ul>
<li>
<p><strong><code>SplashScreenBackgroundColor</code> preference support</strong></p>
<p>This preference allows you to set the splashscreen&#39;s background colour. If no <code>SplashScreenBackgroundColor</code> is provided, it will fall back to the <code>BackgroundColor</code>, which is the current behavior, and then fallback to the system background colour when nothing is defined.</p>
</li>
<li>
<p><strong><code>privacy-manifest</code> Support</strong></p>
<p>This release supplies the templated blank privacy manifest file, <code>PrivacyInfo.xcprivacy</code> which can be configured from <code>config.xml</code>.</p>
<p>This release focuses specifically on providing support for app developers to set this configuration, while a later release will introduce support for plugin developers.</p>
<p>It is recommended that plugin developers help app developers by providing in their plugin documentation the necessary configuration setup.</p>
<p>Below is an example config.xml entry that app developers can define to configure the privacy manifest file.</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;platform</span> <span class="na">name=</span><span class="s">"ios"</span><span class="nt">&gt;</span>
<span class="nt">&lt;privacy-manifest&gt;</span>
<span class="nt">&lt;key&gt;</span>NSPrivacyTracking<span class="nt">&lt;/key&gt;</span>
<span class="nt">&lt;true/&gt;</span>
<span class="nt">&lt;key&gt;</span>NSPrivacyCollectedDataTypes<span class="nt">&lt;/key&gt;</span>
<span class="nt">&lt;array/&gt;</span>
<span class="nt">&lt;key&gt;</span>NSPrivacyAccessedAPITypes<span class="nt">&lt;/key&gt;</span>
<span class="nt">&lt;array/&gt;</span>
<span class="nt">&lt;key&gt;</span>NSPrivacyTrackingDomains<span class="nt">&lt;/key&gt;</span>
<span class="nt">&lt;array/&gt;</span>
<span class="nt">&lt;/privacy-manifest&gt;</span>
<span class="nt">&lt;/platform&gt;</span>
</code></pre></div> </div>
<p>The contents and values of <code>NSPrivacyTracking</code>, <code>NSPrivacyCollectedDataTypes</code>, <code>NSPrivacyAccessedAPITypes</code>, and <code>NSPrivacyTrackingDomains</code> will depend on the specific native APIs being utilized.</p>
<p>It is recommended to read the Apple Developer documentation to better understand these parameters.</p>
<ul>
<li><a href="https://developer.apple.com/documentation/bundleresources/privacy_manifest_files">Privacy manifest files</a></li>
<li><a href="https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api">Describing use of required reason API</a></li>
<li><a href="https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests">Describing data use in privacy manifests</a></li>
</ul>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>
<p><strong>Use <code>PROVISIONING_PROFILE_SPECIFIER</code> for manual codesigning</strong></p>
<p>Allows you to use either the UUID or name value from the provisioning profile for the build flag <code>provisioningProfile</code> in either the <code>build.json</code> configuration file or via the CLI command.</p>
</li>
<li>
<p><strong>WASM MIME type error</strong></p>
<p>Enables WebAssembly support in Cordova WebView.</p>
</li>
</ul>
<p>Please report any issues you find on our <a href="https://github.com/apache/cordova-iOS/issues">Cordova-iOS</a> GitHub issue tracker!</p>
</p>
<div><a href="/announcements/2024/04/03/cordova-ios-7.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 11 Mar 2024 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2024/03/11/cordova-electron-release-4.0.0.html">Cordova Electron 4.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">11 Mar 2024</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2024/03/11/cordova-electron-release-4.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Electron 4.0.0</code>! This is one of Cordova&#39;s supported platforms for building Electron applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-electron">cordova-electron@4.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove electron
cordova platform add electron@4.0.0
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add electron@4.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>Some of the notable breaking changes in this release are:</p>
<p><strong>Node.js Requirement:</strong></p>
<p>This release requires the environment to have <strong>Node.js</strong> <code>18.0.0</code> or higher. It is recommended to use the current LTS, which is <code>20.11.1</code> at the time of this release.</p>
<p><strong>Electron Update:</strong></p>
<p>The <strong>Electron</strong> core dependencies have been updated to <code>29.0.0</code>. This version of Electron comes with the following app stack:</p>
<ul>
<li>Chromium 122.0.6261.39</li>
<li>Node v20.9.0</li>
<li>V8 12.2</li>
</ul>
<p>More information about Electron 29.0.0 can be read on their <a href="https://www.electronjs.org/blog/electron-29-0">blog post here</a>.</p>
<p><strong>Removed Plugin Argument&#39;s Accidental Multidimensional Array Wrapping:</strong></p>
<p>In Cordova-Electron 3.0.0, plugin support was introduced, but an unintentional multidimensional array wrapping of the plugin arguments occurred. This wrapping may not have been noticeable to app developers, but it affected plugin developers.</p>
<p>Typically, a plugin includes a set of APIs that may accept arguments, and these arguments are forwarded to the native side of the plugin. Due to improper argument spreading, plugin developers had to consistently access index 0 at the first level to retrieve the actual arguments, as in <code>args[0][0]</code>. There was never an <code>args[n+1]</code> scenario.</p>
<p>This release corrected this issue. Plugin developers will need to update their plugins if the plugins are designed to read passed-in arguments.</p>
<p>For a quick start guide and in-depth configuration setup, please check out our <a href="https://cordova.apache.org/docs/en/12.x/guide/platforms/electron/index.html">Cordova Electron Documentation</a>!</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2024/03/11/cordova-electron-release-4.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 12 Jan 2024 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2024/01/12/survey-results.html">Cordova Survey 2023 Results</a>
</h2>
<div class="details">
<span class="date">12 Jan 2024</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/announcements/2024/01/12/survey-results.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Thank you very much for taking part in our user &amp; contributor survey. We received 228 submissions. Let&#39;s dive straight into the data.</p>
<p>This survey got over 200 responses and considering only a fraction of people who actually see the survey will respond, there are probably quite a lot of happy Cordova users and new and long-running app projects out there. We got some good feedback of the most requested improvements and biggest pain points.</p>
</p>
<div><a href="/announcements/2024/01/12/survey-results.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 24 Nov 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2023/11/24/survey.html">Announcing the Cordova User & Contributor Survey!</a>
</h2>
<div class="details">
<span class="date">24 Nov 2023</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/announcements/2023/11/24/survey.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The Apache Cordova projects wants to understand the users and contributors better. Therefore, we invite you take part in a short survey for app developers and contributors of Cordova plugins.</p>
<p>The survey questions are designed to not contain any personal information and can be answered anonymously. <em>Please take note that the survey is using Google Forms to process the responses. The <a href="https://policies.google.com/privacy?hl=en">Google privacy policy</a> is applicable for the data processed.</em></p>
<p><strong><a href="https://forms.gle/2HKWATLcRQdw85mE6">Take survey</a></strong></p>
<p>Thank you very much for taking part in this survey. The goal of this survey is to identify areas that can be improved by the Cordova community together. The survey is open from now on to December 24, 2023. The results will be shared on the Cordova blog.</p>
</p>
<div><a href="/announcements/2023/11/24/survey.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 23 Nov 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2023/11/23/inappbrowser-release-6.0.0.html">Cordova Plugin InAppBrowser 6.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">23 Nov 2023</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/announcements/2023/11/23/inappbrowser-release-6.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to <code>cordova-plugin-inappbrowser</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-inappbrowser">cordova-plugin-inappbrowser@6.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>This is a new major version with breaking changes which requires at least <code>cordova-android@10.0.0</code> and <code>cordova-ios@6.0.0</code>. Make sure to check and update your platforms.</p>
<p>The most notable improvements in this major release are:</p>
<ul>
<li>Permission requests for Android</li>
<li>Removal of deprecated code and platforms</li>
<li>Make WebView inspectable on iOS</li>
<li>Make system open tel, sms, mailto and geo links on iOS</li>
</ul>
<p>Please report any issues you find on <a href="http://https://github.com/apache/cordova-plugin-inappbrowser/issues">GitHub</a>!</p>
</p>
<div><a href="/announcements/2023/11/23/inappbrowser-release-6.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 21 Sep 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2023/09/21/geolocation-plugin-5.0.0.html">Geolocation Plugin 5.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">21 Sep 2023</span>
- by
<span class="author">
Norman Breau
</span>
<a class="comment" href="/news/2023/09/21/geolocation-plugin-5.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update for <code>cordova-plugin-geolocation</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-geolocation">cordova-plugin-geolocation@5.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin remove cordova-plugin-geolocation
cordova plugin add cordova-plugin-geolocation@5.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<h3>Breaking Changes</h3>
<ul>
<li><strong>Modern JavaScript</strong></li>
</ul>
<p>The JavaScript of the plugin has been upgraded to use ES6 features, such as <code>let</code> and <code>const</code>.</p>
<p><strong>NOTE</strong>: This release has failed to upgrade required engines. Despite the declared requirement on <code>cordova-android</code> &gt;= 6.3.0 and no declared requirement on iOS, the new minimum requirements will be:</p>
<ul>
<li>cordova-ios 6 or later</li>
<li>cordova-android 10 or later</li>
</ul>
<p>Earlier versions of these platforms may not work as expected. As always, it will be recommended to use the latest version available.
The engines <em>may be corrected</em> in a patch release at a later date.</p>
<ul>
<li><strong>Cordova Windows Support Drop</strong></li>
</ul>
<p>Support for the deprecated <a href="https://github.com/apache/cordova-windows">cordova-windows</a> platform has been dropped and entirely removed in this release.</p>
<h3>Notable Fixes</h3>
<ul>
<li>
<p><strong>Sanity check on Geolocation serialization on iOS</strong></p>
<p>A rare occurrence of <code>Infinity</code> values would cause a crash during JSON serialization on iOS. This is now caught and will now produce a Position Unavailable error gracefully.</p>
</li>
<li>
<p><strong>Improved Android Permission Handling</strong></p>
<p>Android has received fixes for when handling coarse vs fine location permissions for improved compatibility on Android 12+ devices. Android will now handle the following situations:</p>
<ol>
<li>Permission request that consists of only <code>COARSE</code> location.</li>
<li>Permission request that consists of both <code>COARSE</code> and <code>FINE</code> (high accuracy) location.</li>
<li>Permission upgrade for when <code>COARSE</code> is granted, but <code>FINE</code> is required.</li>
</ol>
</li>
</ul>
<p>For more details on these changes, see the <a href="https://github.com/apache/cordova-plugin-geolocation/pull/250">PR</a>.</p>
<ul>
<li><strong>Improved W3C Compliance</strong></li>
</ul>
<p>Fixes has been made to the <code>heading</code> and <code>speed</code> to better conform to the <a href="https://www.w3.org/TR/geolocation/#constructing-a-geolocationposition">W3C Geolocation API</a> specification. If either of these values are not determined to be expected valid range, they will now return <code>null</code> to provide better consistency between Cordova and other web environments.</p>
<p>Please report any issues you find by following the this <a href="https://github.com/apache/cordova#filing-a-bug">How to File a Bug</a> guide!</p>
</p>
<div><a href="/news/2023/09/21/geolocation-plugin-5.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 12 Sep 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2023/09/12/camera-media-file-transfer-plugin-release.html">Camera 7.0.0, Media 7.0.0 & File-Transfer 2.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">12 Sep 2023</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2023/09/12/camera-media-file-transfer-plugin-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update for the following plugins!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-camera">cordova-plugin-camera@7.0.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-plugin-media">cordova-plugin-media@7.0.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-plugin-file-transfer">cordova-plugin-file-transfer@2.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin remove cordova-plugin-camera
cordova plugin add cordova-plugin-camera@7.0.0
cordova plugin remove cordova-plugin-media
cordova plugin add cordova-plugin-media@7.0.0
cordova plugin remove cordova-plugin-file-transfer
cordova plugin add cordova-plugin-file-transfer@2.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<h3><code>cordova-plugin-camera</code></h3>
<ul>
<li>
<p><strong>Android 13 Support</strong></p>
<p>In this release of the <code>camera</code> plugin, the <code>maxSdkTarget</code> for the <code>WRITE_EXTERNAL_STORAGE</code> permission has been set to <code>32</code>. This change was made as the permission has been deprecated and replaced by Android 13&#39;s more granular permissions, <code>READ_MEDIA_IMAGES</code> and <code>READ_MEDIA_VIDEO</code>. Additionally, the <code>getPermissions</code> method has been improved to accurately fetch the required permissions based on the Android version. If Android 13 and above, it will also fetch based on media type.</p>
<p>Furthermore, to support the new granular permissions on Android 13 (SDK 33), we have raised the minimum requirement for <code>cordova-android</code> to version <code>12.0.0</code>. This version of Cordova-Android specifically includes the necessary updates to handle Android 13 and compile your project with the new permissions successfully.</p>
</li>
<li>
<p><strong>Removed Deprecated Platforms</strong></p>
<p>As the Cordova-Windows and Cordova-OSX platform has been deprecated, the supporting logic for these platforms has been removed from this plugin.</p>
</li>
<li>
<p><strong>Retain Image Exif Data from Photo Library (iOS)</strong></p>
<p>This release contains a fix to preserve image&#39;s EXIF data for iOS.</p>
</li>
</ul>
<h3><code>cordova-plugin-media</code></h3>
<ul>
<li>
<p><strong>Android 13 Support</strong></p>
<p>In this release of the <code>media</code> plugin, the dependency of the file plugin has been bumped to <code>8.0.0</code> which introduced Android 13 support. This support includes the Android 13&#39;s more granular permissions <code>READ_MEDIA_IMAGES</code>, <code>READ_MEDIA_VIDEO</code>, and <code>READ_MEDIA_AUDIO</code>.</p>
<p>Additionally we have raised the minimum requirement for <code>cordova-android</code> to version <code>12.0.0</code>.</p>
<p>For more information, check out the <a href="https://cordova.apache.org/news/2023/07/11/file-plugin-8.0.0.html">Cordova&#39;s File Plugin 8.0.0 release blog post</a>.</p>
</li>
<li>
<p><strong>Removed Deprecated Windows Platforms</strong></p>
<p>As the Cordova-Windows platform has been deprecated, the supporting logic for that platform has been removed from this plugin.</p>
</li>
<li>
<p><strong>Ability to load files from custom scheme and leading slash directory paths</strong></p>
<p>The file plugin can now accept URL constructed with a custom scheme or a leading slash.</p>
<p><strong>Custom Scheme Example:</strong></p>
<p>By default, iOS uses the following custom scheme <code>app://localhost/</code>. You can now pass in <code>app://localhost/file.mp4</code> to prepresent a media file located in the root directory of which the app content is loaded from, <code>www</code>.</p>
<p><strong>Leading Slash Example:</strong></p>
<p>It can also load the same file <code>file.mp4</code> from the above example if the provided URL was <code>/file.mp4</code>. It will navigate from the root directory of which the app content is loaded from, <code>www</code>.</p>
</li>
<li>
<p><strong>Increased Android&#39;s Audio Quality</strong></p>
<p>From this plugin&#39;s version and onward, the Android&#39;s captured audio quality has been increased significantly. This was achieved by increasing the bit rate to 96 Kbps and the sampling rate to 44.1 kHz.</p>
<blockquote>
<p><strong>PR&#39;s Note:</strong> This plugin uses the AAC encoder, which generally provides better quality audio at a lower bitrate compared against MP3 encoder. While researching acceptable bitrate of AAC compared against MP3, some suggest using 96 Kbps for AAC while MP3 would be 128 Kbps. But this does not mean it is identical. In terms of quality, it will always depend on the source and underlying equipment.</p>
</blockquote>
</li>
</ul>
<h3><code>cordova-plugin-file-transfer</code></h3>
<ul>
<li>
<p><strong>Bumped File Dependecy for Android 13 Support</strong></p>
<p>In this release of the <code>file-transfer</code> plugin, the dependency on the file plugin has been updated to version <code>8.0.0</code>, enabling Android 13 support. Consequently, the minimum requirement for <code>cordova-android</code> has been raised to version <code>12.0.0</code> to align with the updated file plugin.</p>
<p>For more information, check out the <a href="https://cordova.apache.org/news/2023/07/11/file-plugin-8.0.0.html">Cordova&#39;s File Plugin 8.0.0 release blog post</a>.</p>
</li>
<li>
<p><strong>Removed Deprecated Platforms</strong></p>
<p>As the Cordova Windows/WP8, OSX, Amazon Fire OS, Blackberry 10, Windows Phone &amp; Firefox OS platform has been deprecated, the supporting logic for these platforms has been removed from this plugin.</p>
</li>
<li>
<p><strong>Removed Deprecated <code>whitelist</code> Plugin</strong></p>
<p>The legacy <code>whitelist</code> plugin has been deprecated for a long time and is no longer needed in the <code>file-transfer</code> plugin. This plugin will continue call and check against the <code>shouldAllowRequest</code> method which is apart of the platform core coding.</p>
<p>Refer to the <a href="https://cordova.apache.org/docs/en/12.x/guide/appdev/allowlist/index.html">Allow List</a> page of the Cordova Documentation for more information in how to configure the list.</p>
</li>
<li>
<p><strong>Fixed Download Functionality for Android Q+</strong></p>
</li>
<li>
<p><strong>Removed Hardcoded <code>X-Requested-With</code> Header</strong></p>
<p>This hardcoded header was removed from the Android platform. This header was also not set in any other platform. It is up to the app developer to set the header if it is desired to &#39;disguise&#39; the HTTP call as an XMLHttpRequest.</p>
</li>
<li>
<p><strong>Fixed Missing Headers on File Upload</strong></p>
<p>In iOS, header data was not properly being set during file upload. In this release, the <code>applyRequestHeaders</code> method was updated to ensure that the headers were being applied.</p>
</li>
<li>
<p><strong>Re-implemented UserAgent Overwrites</strong></p>
<p>In iOS, the ability to overwrite the UserAgent using the <code>navigator.userAgent</code> value from the WebView was re-implemented.</p>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2023/09/12/camera-media-file-transfer-plugin-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 06 Sep 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2023/09/06/cordova-ios-7.0.1.html">Cordova iOS 7.0.1 Released!</a>
</h2>
<div class="details">
<span class="date">06 Sep 2023</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2023/09/06/cordova-ios-7.0.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova iOS 7.0.1</code>! This is one of Cordova&#39;s supported platforms for building iOS applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-ios">cordova-ios@7.0.1</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove ios
cordova platform add ios@7.0.1
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@7.0.1
</code></pre></div></div>
<p><strong>Fixes:</strong></p>
<ul>
<li>
<p><strong>Building on Xcode 11</strong></p>
<p>Cordova-iOS 7 is documented to support Xcode 11 and later. However, due to recent changes to support <code>LimitsNavigationsToAppBoundDomains</code>, builds fail on Xcode 11. To address this issue, we have added conditional checks to ensure that the app can be built with Xcode 11. Please note that the <code>LimitsNavigationsToAppBoundDomains</code> feature will not be available when building with Xcode 11.</p>
</li>
<li>
<p><strong>Fix paths in the Xcode pbxproj</strong></p>
<p>Cordova-iOS 7.0.0&#39;s Xcode project file was missing path information for some files. While this worked fine within the Xcode app, it caused problems for plugins and hooks that were attempting to modify the project file programmatically. We&#39;ve fixed this issue by ensuring that all files in the Xcode project include a path property.</p>
</li>
</ul>
<p>Please report any issues you find on our <a href="https://github.com/apache/cordova-iOS/issues">Cordova-iOS</a> GitHub issue tracker!</p>
</p>
<div><a href="/announcements/2023/09/06/cordova-ios-7.0.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 28 Aug 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2023/08/28/cordova-android-12.0.1.html">Cordova Android 12.0.1 Released!</a>
</h2>
<div class="details">
<span class="date">28 Aug 2023</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2023/08/28/cordova-android-12.0.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Android 12.0.1</code>! This is one of Cordova&#39;s supported platforms for building Android applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@12.0.1</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@12.0.1
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@12.0.1
</code></pre></div></div>
<p><strong>Fixes:</strong></p>
<ul>
<li>
<p><strong>Adaptive Icon Fix</strong></p>
<p>In Cordova-Android 12.0.0, an issue arose with the introduction of Android 13&#39;s Themed Icons support. This issue resulted in adaptive icons not being generated due to an incorrect validation check.</p>
<p>In this release, the problematic validation check was rectified. As a result, the adaptive icon will be generated even when monochrome attributes are not provided.</p>
</li>
</ul>
<p>Please report any issues you find on our <a href="https://github.com/apache/cordova-android/issues">Cordova-Android</a> GitHub issue tracker!</p>
</p>
<div><a href="/announcements/2023/08/28/cordova-android-12.0.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 18 Aug 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2023/08/18/media-capture-plugin-5.0.0.html">Media-Capture Plugin 5.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">18 Aug 2023</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2023/08/18/media-capture-plugin-5.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update for <code>cordova-plugin-media-capture</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-media-capture">cordova-plugin-media-capture@5.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin remove cordova-plugin-media-capture
cordova plugin add cordova-plugin-media-capture@5.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<h3>Breaking Changes</h3>
<ul>
<li>
<p><strong>Android 13+ Support</strong></p>
<p>Beginning from Android 13 (SDK 33), the <code>READ_EXTERNAL_STORAGE</code> permission no longer has any effect. Instead, this permission has been replaced with more granular permissions: <code>READ_MEDIA_IMAGES</code>, <code>READ_MEDIA_VIDEO</code>, and <code>READ_MEDIA_AUDIO</code>. Also the <code>WRITE_EXTERNAL_STORAGE</code> has <a href="https://developer.android.com/reference/android/Manifest.permission#WRITE_EXTERNAL_STORAGE">stopped providing write access starting from API level 30 and above</a>.</p>
<p>To adapt to this change, we have introduced these three new permissions. This ensures that the existing functionality and behavior related to reading various media file are maintained for Android 13 and higher versions.</p>
<p>The <code>READ_EXTERNAL_STORAGE</code> and <code>WRITE_EXTERNAL_STORAGE</code> permissions are still defined but has declared the <code>maxSdkVersion</code> attribute with the value of <code>32</code> to ensure that the are not used in API 33 of higher.</p>
<p>Furthermore, to support the new granular permissions on Android 13 (SDK 33), we have raised the minimum requirement for <code>cordova-android</code> to version <code>12.0.0</code>. This version of Cordova-Android specifically includes the necessary updates to handle Android 13 and compile your project with the new permissions successfully.</p>
</li>
</ul>
<h3>Features &amp; Fixes</h3>
<ul>
<li>
<p><strong>Added video <code>quality</code> option for iOS</strong></p>
<p>You can now change the quality of the video that is being captured for iOS. By default, it will capture the highest quality.</p>
</li>
<li>
<p><strong>Fixes for various iOS crashes</strong></p>
<p>Various fixes were implemented to enhance stability and user experience on iOS. Here are some example changes:</p>
<ol>
<li>Implement an alert dialog to guide users to enable necessary permissions if they had previously denied them. This will occur when users attempt to use the capture feature.</li>
<li>Improve the layout of the audio capture interface to fit and use the entire device screen.</li>
<li>Implement safeguards to prevent application crashes in scenarios where audio data is unavailable ensuring a smoother and more reliable user experience.</li>
<li>Implement measures to maintain the functionality of the capture feature even when users dismiss the capture window by swiping, ensuring consistent and uninterrupted functionality.</li>
</ol>
</li>
</ul>
<p>Please report any issues you find by following the this <a href="https://github.com/apache/cordova#filing-a-bug">How to File a Bug</a> guide!</p>
</p>
<div><a href="/news/2023/08/18/media-capture-plugin-5.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 11 Jul 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2023/07/11/file-plugin-8.0.0.html">File Plugin 8.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">11 Jul 2023</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2023/07/11/file-plugin-8.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update for <code>cordova-plugin-file</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-file">cordova-plugin-file@8.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin remove cordova-plugin-file
cordova plugin add cordova-plugin-file@8.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<h3>Breaking Changes</h3>
<ul>
<li>
<p><strong>Removed <code>WRITE_EXTERNAL_STORAGE</code> permission</strong></p>
<p>According to the official documentation on <a href="https://developer.android.com/about/versions/11/privacy/storage">Storage updates in Android 11</a>, the <a href="https://developer.android.com/reference/android/Manifest.permission#WRITE_EXTERNAL_STORAGE"><code>WRITE_EXTERNAL_STORAGE</code></a> permission is no longer operational and does not grant access to write to external storage.</p>
<blockquote>
<p>If this permission is not allowlisted for an app that targets an API level before <a href="https://developer.android.com/reference/android/os/Build.VERSION_CODES#Q"><code>Build.VERSION_CODES.Q</code></a> (SDK 29) this permission cannot be granted to apps.</p>
</blockquote>
<p>Although Cordova has removed this permission from the plugin by default, you can still add it back if needed by using the <code>config-file</code> tag in your project&#39;s <code>config.xml</code> file.</p>
<p>Example:</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;config-file</span> <span class="na">target=</span><span class="s">"AndroidManifest.xml"</span> <span class="na">parent=</span><span class="s">"/*"</span> <span class="na">xmlns:android=</span><span class="s">"http://schemas.android.com/apk/res/android"</span><span class="nt">&gt;</span>
<span class="nt">&lt;uses-permission</span> <span class="na">android:name=</span><span class="s">"android.permission.WRITE_EXTERNAL_STORAGE"</span> <span class="na">android:maxSdkVersion=</span><span class="s">"32"</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;/config-file&gt;</span>
</code></pre></div> </div>
<p>It&#39;s important to note that other plugins used in your Cordova project may still include the <code>WRITE_EXTERNAL_STORAGE</code> permission. To verify whether the permission is added by other plugins, you can check the merged <code>AndroidManifest.xml</code> file.</p>
<p>The merged <code>AndroidManifest.xml</code> file can be found at the following location:</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code> platforms/android/app/build/intermediates/merged_manifest/debug/AndroidManifest.xml
</code></pre></div> </div>
<p>Please keep in mind that the example file path provided above is specific to debug builds. For release builds or different build variants, the file path may vary slightly.</p>
</li>
<li>
<p><strong>Android 13+ Support</strong></p>
<p>Beginning from Android 13 (SDK 33), the <code>READ_EXTERNAL_STORAGE</code> permission no longer has any effect. Instead, this permission has been replaced with more granular permissions: <code>READ_MEDIA_IMAGES</code>, <code>READ_MEDIA_VIDEO</code>, and <code>READ_MEDIA_AUDIO</code>.</p>
<p>To adapt to this change, we have introduced these three new permissions. This ensures that the existing functionality and behavior related to reading various media file are maintained for Android 13 and higher versions.</p>
<p>Furthermore, to support the new granular permissions and Android 13 (SDK 33), we have raised the minimum requirement for <code>cordova-android</code> to version <code>12.0.0</code>. This version of Cordova-Android specifically includes the necessary updates to handle Android 13 and compile your project with the new permissions successfully.</p>
</li>
</ul>
<p>Please report any issues you find by following the this <a href="https://github.com/apache/cordova#filing-a-bug">How to File a Bug</a> guide!</p>
</p>
<div><a href="/news/2023/07/11/file-plugin-8.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 10 Jul 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2023/07/10/cordova-ios-7.0.0.html">Cordova iOS 7.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">10 Jul 2023</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2023/07/10/cordova-ios-7.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova iOS 7.0.0</code>! This is one of Cordova&#39;s supported platforms for building iOS applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-ios">cordova-ios@7.0.0</a></li>
</ul>
<p><strong>Upgrade steps:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove ios
cordova platform add ios@7.0.0
</code></pre></div></div>
<p><strong>New install steps:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@7.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<h3>Breaking Changes</h3>
<ul>
<li>
<p><strong>Removal of <code>podspec</code> type from <code>framework</code> tag</strong></p>
<p>Since Cordova-iOS 5.0.0, the new <code>podspec</code> tag was added to improve the readability and support of features that CocoaPods provided.</p>
<p>This release officially removes the old <code>type="podspec"</code> implementation of the <code>framework</code> tag. If you maintain plugins and still using the <code>framework</code> tag to load pod specs, it is recommended to migrate to the newer implementation.</p>
<p>For implementation specifications, please see our <a href="https://cordova.apache.org/docs/en/dev/plugin_ref/spec.html#podspec-">Apache Cordova - Podspec</a> docs.</p>
</li>
<li>
<p><strong>Removed default <code>CONFIGURATION_BUILD_DIR</code> overrides</strong></p>
<p>This will change the location of where the output files are generated.</p>
<ul>
<li><code>build/emulator</code> will become <code>build/Debug-iphonesimulator</code></li>
<li><code>build/device</code> will become <code>build/Release-iphoneos</code></li>
</ul>
<p>This will help ensure that debug and release files are never mixed up in the same directory and improves support for macOS <code>maccatalyst</code> builds.</p>
</li>
<li>
<p><strong>Update supported NodeJS versions</strong></p>
<p>We have dropped support for NodeJS 14.x and increase the minimum NodeJS requirement to greater than or equal to 16.13.0.</p>
</li>
<li>
<p><strong>Dropped Platform Binaries</strong></p>
<p>We no longer supply or package platform-centric workflow binaries in the <code>cordova-ios</code> npm package or GitHub repository.</p>
<p>Please use the <code>cordova</code> CLI tool for managing your Cordova project plugins and platform configuration.</p>
</li>
<li>
<p><strong>Rename <code>Images.xcassets</code> to <code>Assets.xcassets</code></strong></p>
</li>
<li><strong>Remove deprecated API <code>colorFromColorString</code> from <code>CDVViewController</code></strong></li>
<li><strong>Remove the <code>CDVCommandDelegateImpl</code> class from public API</strong></li>
</ul>
<h3>New Features</h3>
<ul>
<li>
<p><strong>Added <code>LimitsNavigationsToAppBoundDomains</code> preference configuration</strong></p>
<p>This preference allows you to use cookie authentication or browser APIs but requires the value to be set to <code>YES</code>. The default value is <code>NO</code>.</p>
</li>
<li>
<p><strong>Support Apple Cloud Distribution Signing</strong></p>
<p>Apple Cloud Distribution Signing allows using AppStore Connect API keys to automatically manage the distribution signing certificate and provisioning profiles. With Cordova-iOS 7.0.0, you can specify AppStore Connect API credentials in <code>build.json</code> or as command-line parameters to the <code>cordova</code> tool.</p>
<p>These options are <code>authenticationKeyPath</code>, <code>authenticationKeyID</code>, and <code>authenticationKeyIssuerID</code>, and they work in combination with the existing <code>automaticProvisioning</code> option.</p>
</li>
<li>
<p><strong>Enable Mac Catalyst Support</strong></p>
<p>Apps built with Cordova-iOS can now target macOS using the Catalyst runtime. This can be enabled by checking the &quot;macOS - Catalyst&quot; checkbox in the Xcode project settings and then building for the macOS target in Xcode.</p>
<p>Currently, building for Catalyst from Cordova&#39;s command-line tool is not supported.</p>
</li>
</ul>
<p>Please report any issues you find on our <a href="https://github.com/apache/cordova-ios/issues">Cordova-iOS</a> GitHub issue tracker!</p>
</p>
<div><a href="/announcements/2023/07/10/cordova-ios-7.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 22 May 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2023/05/22/cordova-cli-12.0.0.html">Cordova CLI 12.0.0 & Internal Packages Released!</a>
</h2>
<div class="details">
<span class="date">22 May 2023</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2023/05/22/cordova-cli-12.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released a major update to our Cordova CLI!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova">cordova@12.0.0</a></li>
</ul>
<p>In this CLI release, it also includes the latest internal libraries:</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-lib">cordova-lib@12.0.1</a></li>
<li><a href="https://www.npmjs.com/package/cordova-create">cordova-create@5.0.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-common">cordova-common@5.0.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-fetch">cordova-fetch@4.0.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-serve">cordova-serve@4.0.1</a></li>
</ul>
<h2>Release Highlights</h2>
<p>This release drops Nodejs 14 support. The minimum supported version that Cordova requires is greater than or equal to 16.13.0.</p>
<p>In all releases, we have updated all npm packages to the possible latest release that Cordova can support.</p>
<p><strong>BREAKING CHANGES:</strong></p>
<p>We have removed the deprecated platforms <strong>OSX</strong> and <strong>Windows</strong> from the platform listing. While you can still install these platforms, you will need to use the full npm package names <code>cordova-osx</code> and <code>cordova-windows</code>. Please note that these platforms are no longer actively maintained, and there is a possibility that they may not function as expected and could break in the future. As a result, they will not receive any further support.</p>
<p>Additionally, we have removed all internal platform pinnings. When running the <code>cordova platform add &lt;PLATFORM&gt;</code> command, it will always fetch the latest available platform from the npm registry. This allows for immediate access to newly released platforms. If you require the command to consistently fetch a specific version, you will need to update your command to include the version pinning, like this: <code>cordova platform add &lt;PLATFORM&gt;@&lt;VERSION&gt;</code>.</p>
<p>Please report any issues you find on our GitHub issue tracker! Please select below the appropriate repo when submitting.</p>
<ul>
<li><a href="https://github.com/apache/cordova-cli/issues">Cordova CLI - Issue Tracker</a></li>
<li><a href="https://github.com/apache/cordova-lib/issues">Cordova Lib - Issue Tracker</a></li>
<li><a href="https://github.com/apache/cordova-create/issues">Cordova Create - Issue Tracker</a></li>
<li><a href="https://github.com/apache/cordova-fetch/issues">Cordova Fetch - Issue Tracker</a></li>
<li><a href="https://github.com/apache/cordova-serve/issues">Cordova Serve - Issue Tracker</a></li>
<li><a href="https://github.com/apache/cordova-common/issues">Cordova Common - Issue Tracker</a></li>
</ul>
</p>
<div><a href="/news/2023/05/22/cordova-cli-12.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 22 May 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2023/05/22/cordova-android-12.0.0.html">Cordova Android 12.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">22 May 2023</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2023/05/22/cordova-android-12.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Android 12.0.0</code>! This is one of Cordova&#39;s supported platforms for building Android applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@12.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@12.0.0
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@12.0.0
</code></pre></div></div>
<p><strong>BREAKING CHANGES:</strong></p>
<ul>
<li>
<p><strong>Increased Minimum &amp; Target SDK</strong></p>
<p>This release has increased the minimum supported SDK version to 24 which is Android 7.0. It also has increased the target SDK to 33, Android 13.</p>
</li>
<li>
<p><strong>Build Tools</strong></p>
<p>To use <code>cordova-android@12</code>, SDK Platform <code>33</code> and SDK Build Tools <code>33.0.2</code> must be installed. Older build tools version can be uninstalled if older versions of cordova-android is no longer used in your projects.</p>
<p>To install SDK Platform 33:</p>
<ol>
<li>Open Android Studio&#39;s <strong>SDK Manager</strong>:</li>
<li>Click on <code>SDK Platforms</code> tab</li>
<li>Check <code>Android 13.0 (Tiramisu)</code> which has the <code>API Level</code> of <code>33</code></li>
<li>Click <code>Apply</code></li>
</ol>
<p><img src="/static/img/blog/2023/cordova-android-12-platform-sdk-33.png" style="width: 100%;" alt="Android SDK Platform" /></p>
<p>To install SDK Build Tools 33.0.2:</p>
<ol>
<li>Open Android Studio&#39;s <strong>SDK Manager</strong>:</li>
<li>Click on <code>SDK Tools</code> tab</li>
<li>Check <code>Show Package Details</code></li>
<li>Expand <code>Android SDK Build-Tools</code></li>
<li>Check <code>33.0.2</code></li>
<li>Click <code>Apply</code></li>
</ol>
<p><img src="/static/img/blog/2023/cordova-android-12-sdk-build-tools-3302.png" style="width: 100%;" alt="Android SDK Build Tools" /></p>
</li>
<li>
<p><strong>Project Dependencies</strong></p>
<p>The following project dependencies were bumpped:</p>
<ul>
<li>Kotlin: <code>1.7.21</code></li>
<li>Gradle: <code>7.6</code></li>
<li>Android Gradle Plugin (AGP): <code>7.4.2</code></li>
<li>Google Services Gradle Plugin: <code>4.3.15</code></li>
<li>AndroidX App Compat Library: <code>1.6.1</code></li>
<li>AndroidX WebKit Library: <code>1.6.0</code></li>
<li>AndroidX SplashScreen Core Library: <code>1.0.0</code></li>
</ul>
<p>If you or a plugin has made changes to any of the following configuration preferences, the build results might not match the expected outcomes with this release:</p>
<ul>
<li><code>android-minSdkVersion</code></li>
<li><code>android-maxSdkVersion</code></li>
<li><code>android-targetSdkVersion</code></li>
<li><code>android-compileSdkVersion</code></li>
<li><code>android-buildToolsVersion</code></li>
<li><code>GradleVersion</code></li>
<li><code>AndroidGradlePluginVersion</code></li>
<li><code>GradlePluginKotlinVersion</code></li>
<li><code>AndroidXAppCompatVersion</code></li>
<li><code>AndroidXWebKitVersion</code></li>
<li><code>GradlePluginGoogleServicesVersion</code></li>
</ul>
<p>Please take note of the versions that have been updated in this release. If you have manually modified any of these values, it is recommended to review and update the preference values accordingly.</p>
</li>
<li>
<p><strong>Node Support</strong></p>
<p>We have dropped support for Node 14.x and increase the minimum Node requirement to greater than or equal to 16.13.0.</p>
</li>
</ul>
<p><strong>New Features:</strong></p>
<ul>
<li>
<p><strong>Monochrome Support</strong></p>
<p>Android 13 has added Themed Icons support which is also known as Monochrome. This release has introduced support for Themed icons.</p>
</li>
</ul>
<p>Please report any issues you find on our <a href="https://github.com/apache/cordova-android/issues">Cordova-Android</a> GitHub issue tracker!</p>
</p>
<div><a href="/announcements/2023/05/22/cordova-android-12.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 13 May 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2023/05/13/cordova-browser-release-7.0.0.html">Cordova Browser 7.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">13 May 2023</span>
- by
<span class="author">
Norman Breau
</span>
<a class="comment" href="/announcements/2023/05/13/cordova-browser-release-7.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Browser 7.0.0</code>! This is one of Cordova&#39;s supported platforms for building browser targeted applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-browser">cordova-browser@7.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>This release contains updates for more modern NodeJS runtimes and contains a ShellJS security fix.</p>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove browser
cordova platform add browser@7
</code></pre></div></div>
<p>Please report any issues you find at <a href="https://github.com/apache/cordova-browser/issues">GitHub Issues</a>!</p>
<h2>Release Notes</h2>
<p>For a more detailed release notes, please see <a href="https://github.com/apache/cordova-browser/blob/master/RELEASENOTES.md">RELEASENOTES.md</a></p>
</p>
<div><a href="/announcements/2023/05/13/cordova-browser-release-7.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 15 Apr 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2023/04/15/cordova-ios-release-6.3.0.html">Cordova iOS 6.3.0 Released!</a>
</h2>
<div class="details">
<span class="date">15 Apr 2023</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/announcements/2023/04/15/cordova-ios-release-6.3.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova iOS 6.3.0</code>! This is Cordova&#39;s official platform for building iOS mobile applications. <strong>This minor release contains three important fixes in preparation for the upcoming major release.</strong></p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-ios">cordova-ios@6.3.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>This release contains a fix to allow inspecting of WebView content with the latest iOS and Xcode versions. It also fixes an iOS 16 bug and issues with NodeJS 18.</p>
<p>This release adds the preference <code>InspectableWebview</code> for iOS 16.4 or later. Please check out the <a href="https://github.com/apache/cordova-docs/pull/1291">Pull request</a> for the documentation.</p>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove ios
cordova platform add ios@6.3.0
</code></pre></div></div>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2023/04/15/cordova-ios-release-6.3.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 09 Mar 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2023/03/09/cordova-common-release-5.0.0.html">Cordova Common 5.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">09 Mar 2023</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2023/03/09/cordova-common-release-5.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-common@5.0.0</code> has been released. This is one of the libraries used behind-the-scenes by nearly all of the Cordova tooling and provides utilities for dealing with things like <code>config.xml</code> parsing.</p>
<h2>Release Highlights</h2>
<p>The most notable changes in this major release are:</p>
<ul>
<li><a href="https://github.com/apache/cordova-common/pull/186">GH-186</a> feat!: bump package requirement <code>node&gt;=16</code></li>
</ul>
<p>As Node.js 14 nears the end-of-life (April 2023), we have bumped the minimum requirement to 16.0.0. This update has also increased the minimum npm requirement to 7.10.0.</p>
<ul>
<li><a href="https://github.com/apache/cordova-common/pull/197">GH-197</a> feat(android): added <code>monochrome</code> attribute</li>
</ul>
<p>In preparation for Cordova-Android&#39;s next major release, supporting logic for Android&#39;s monochrome icons has been included.</p>
</p>
<div><a href="/announcements/2023/03/09/cordova-common-release-5.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 24 Feb 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2023/02/24/screen-orientation-plugin-3.0.3.html">Screen Orientation Plugin 3.0.3 Released!</a>
</h2>
<div class="details">
<span class="date">24 Feb 2023</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/news/2023/02/24/screen-orientation-plugin-3.0.3.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update for <code>cordova-plugin-screen-orientation</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-screen-orientation">cordova-plugin-screen-orientation@3.0.3</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin remove cordova-plugin-screen-orientation
cordova plugin add cordova-plugin-screen-orientation@3.0.3
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>This release improves compatibility with newer iOS versions (see (<a href="https://github.com/apache/cordova-plugin-screen-orientation/issues/107">#107</a>)) and contains miscellaneous version updates.</p>
<p>Please report any issues you find by following this <a href="https://github.com/apache/cordova#filing-a-bug">How to File a Bug</a> guide!</p>
</p>
<div><a href="/news/2023/02/24/screen-orientation-plugin-3.0.3.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 16 Jan 2023 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2023/01/16/cordova-cli-11.1.0-release.html">Cordova CLI 11.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">16 Jan 2023</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2023/01/16/cordova-cli-11.1.0-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released a minor update to our Cordova CLI!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova">cordova@11.1.0</a></li>
</ul>
<p>This release also pins our internal libraries to the latest releases:</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-lib">cordova-lib@11.1.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-create">cordova-create@4.1.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-fetch">cordova-fetch@3.1.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-common">cordova-common@4.1.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>This release officially appends the deprecation flag to the Windows &amp; OSX platforms on the available platforms output screen.</p>
<p>We have updated our internal process to pass all of the XML attribute values in <code>config.xml</code> to the platform packages so we can easily update the platforms without updating tooling and CLI.</p>
<p>We have updated all possible npm packages to the latest non-major release that Cordova can support.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2023/01/16/cordova-cli-11.1.0-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 15 Nov 2022 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2022/11/15/cordova-common-release-4.1.0.html">Cordova Common 4.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">15 Nov 2022</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2022/11/15/cordova-common-release-4.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-common@4.1.0</code> has been released. This is one of the libraries used behind-the-scenes by nearly all of the Cordova tooling and provides utilities for dealing with things like <code>config.xml</code> parsing.</p>
<h2>Release Highlights</h2>
<p>The most notable improvement in this minor release is the ability to pass nearly all XML DOM element attributes to the platform&#39;s JS tooling. By passing down all attribute data, Cordova-Common no longer needs to be updated for adding and supporting new platform attributes.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2022/11/15/cordova-common-release-4.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 09 Sep 2022 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2022/09/09/media-plugin-6.1.0.html">Media Plugin 6.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">09 Sep 2022</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2022/09/09/media-plugin-6.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update for <code>cordova-plugin-media</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-media">cordova-plugin-media@6.1.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin remove cordova-plugin-media
cordova plugin add cordova-plugin-media@6.1.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>For Android, we updated the media error response object to include the &quot;message&quot; property. This property will provide additional information about the error. It also syncs in line with the media error response object that iOS returns.</p>
<p>For iOS, file scheme support has been implemented. Two fixes were applied to prevent crashes that occured when fetching the position while the time was not defined and to ensured that the category was defined after the recording was released.</p>
<p>Please report any issues you find by following the this <a href="https://github.com/apache/cordova#filing-a-bug">How to File a Bug</a> guide!</p>
</p>
<div><a href="/news/2022/09/09/media-plugin-6.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 12 Jul 2022 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2022/07/12/cordova-android-release-11.0.0.html">Cordova Android 11.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">12 Jul 2022</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2022/07/12/cordova-android-release-11.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Android 11.0.0</code>! This is one of Cordova&#39;s supported platforms for building Android applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@11.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@11.0.0
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@11.0.0
</code></pre></div></div>
<ul>
<li>
<p><strong>Android 12 SplashScreen API Integration</strong></p>
<p>As of Android 12, all Android 12 or higher devices display the new app launch animation. Google has applied this requirement to bring a standard design to all app launch screens.</p>
<p>Due to this requirement, users have seen and reported the display of multiple SplashScreens during the app launch. Since the new SplashScreen API can not be disabled, the old SplashScreen plugin is deprecated for Cordova-Android 11+.</p>
<p>We have integrated the Android 12 SplashScreen API including the compatibility library into the core of the Cordova-Android platform to provide support for Android API 22+.</p>
<p>For more information, please refer to the <a href="https://github.com/apache/cordova-android/pull/1441">PR</a> and <a href="https://cordova.apache.org/docs/en/latest/core/features/splashscreen/index.html">Cordova Docs</a>.</p>
</li>
<li>
<p><strong>Tooling and Default Support Bump</strong></p>
<ul>
<li>Target SDK (<code>targetSdk</code>): <code>32</code></li>
<li>SDK Build Tool: <code>32.0.0</code></li>
<li>Gradle: <code>7.4.2</code></li>
<li>Kotlin: <code>1.5.21</code></li>
<li>Android Gradle Plugin (AGP): <code>7.2.1</code></li>
<li>Google Services Gradle Plugin: <code>4.3.10</code></li>
<li>AndroidX App Compat Library: <code>1.4.2</code></li>
<li>AndroidX WebKit Library: <code>1.4.0</code></li>
<li>AndroidX SplashScreen Core Library: <code>1.0.0-rc01</code></li>
</ul>
</li>
<li>
<p><strong>Environment Variable <code>ANDROID_HOME</code></strong></p>
<p>As of April 27, 2022, It appears Google has reversed its statement and declared that <code>ANDROID_HOME</code> is now the correct environment variable to set with the path of the SDK installation directory. It also notes that <code>ANDROID_SDK_ROOT</code> that also points to the SDK installation directory is deprecated.</p>
</li>
<li>
<p><strong>Custom Compile SDK</strong></p>
<p>We added back the ability to set a custom compileSdk value with the preference flag <code>android-compileSdkVersion</code>.</p>
<p>Example:</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"android-compileSdkVersion"</span> <span class="na">value=</span><span class="s">"31"</span> <span class="nt">/&gt;</span>
</code></pre></div> </div>
</li>
<li>
<p><strong>Node Support</strong></p>
<p>Since Node 12 is no longer being supported by the Node.js team, we have dropped support for Node 12.</p>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2022/07/12/cordova-android-release-11.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 30 May 2022 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2022/05/30/media-plugin-6.0.0-media-capture-plugin-4.0.0-release.html">Media Plugin 6.0.0 & Media Capture Plugin 4.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">30 May 2022</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2022/05/30/media-plugin-6.0.0-media-capture-plugin-4.0.0-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update for <code>cordova-plugin-media</code> &amp; <code>cordova-plugin-media-capture</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-media">cordova-plugin-media@6.0.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-plugin-media-capture">cordova-plugin-media-capture@4.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin remove cordova-plugin-media
cordova plugin add cordova-plugin-media@6.0.0
cordova plugin remove cordova-plugin-media-capture
cordova plugin add cordova-plugin-media-capture@4.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<h3><code>cordova-plugin-media</code></h3>
<p>For Android, the <code>WRITE_EXTERNAL_STORAGE</code> and <code>READ_PHONE_STATE</code> permissions have a protection level of dangerous. Because of this, we removed the declaration of these permissions.</p>
<p>The <code>cordova-plugin-file</code> dependency was updated to use version <code>^7.0.0</code>.</p>
<p>The <code>setRate</code> functionality, which was previously only supported on the iOS platform, is now supported on the Android platform. There was also a fix around this functionality for iOS.</p>
<h3><code>cordova-plugin-media-capture</code></h3>
<p>For Android, the <code>RECORD_VIDEO</code> permission definition was removed as it was never used and appears to never exist.</p>
<p>The <code>cordova-plugin-file</code> dependency was updated to use version <code>^7.0.0</code>.</p>
<p>Permission checks, for Android, has been unified to fix inconsistencies between the different capture methods.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2022/05/30/media-plugin-6.0.0-media-capture-plugin-4.0.0-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 30 May 2022 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2022/05/30/cordova-electron-release-3.1.0.html">Cordova Electron 3.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">30 May 2022</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2022/05/30/cordova-electron-release-3.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Electron 3.1.0</code>! This is one of Cordova&#39;s supported platforms for building Electron applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-electron">cordova-electron@3.1.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove electron
cordova platform add electron@3.1.0
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add electron@3.1.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>Some of the notable changes &amp; new features in this release are:</p>
<p><strong>Electron Update:</strong></p>
<p>The <strong>Electron</strong> core dependencies have been updated to <code>14.2.9</code>.</p>
<p><strong>Defining &amp; Pinning Electron Version</strong></p>
<p>The ability to define and pin specific Electron versions has been added. This feature leveraged the usage of npm&#39;s <code>overrides</code> property, which was introduced in npm 8.</p>
<p>Example:</p>
<p>In the Cordova app&#39;s <code>package.json</code> file, add the following:</p>
<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nl">"overrides"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"cordova-electron"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"electron"</span><span class="p">:</span><span class="w"> </span><span class="s2">"14.2.9"</span><span class="p">,</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>
<p>If you already have the platform added to the project, you will need to remove the platform or delete the <code>platforms</code> directory before running <code>cordova prepare electron</code> to recheckout the pinned version. If you also have in your project director the <code>package-lock.json</code> file, this will also need to be removed.</p>
<p>For a quick start guide and in-depth configuration setup, please check out our <a href="https://github.com/apache/cordova-electron/blob/rel/2.0.0/DOCUMENTATION.md">Cordova Electron Documentation</a>!</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2022/05/30/cordova-electron-release-3.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 15 Apr 2022 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2022/04/15/cordova-android-release-10.1.2.html">Cordova Android 10.1.2 Released!</a>
</h2>
<div class="details">
<span class="date">15 Apr 2022</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2022/04/15/cordova-android-release-10.1.2.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Android 10.1.2</code>! This is one of Cordova&#39;s supported platforms for building Android applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@10.1.2</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@10.1.2
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@10.1.2
</code></pre></div></div>
<p>The notable fixes in this release are to detect the <code>JAVA_HOME</code> environment variable with Java 11, properly escape the app&#39;s name, and explicitly define the <code>android:exported</code> attribute on the <code>activity</code>.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2022/04/15/cordova-android-release-10.1.2.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 11 Apr 2022 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2022/04/11/file-plugin-7.0.0-device-plugin-2.1.0-release.html">File Plugin 7.0.0 & Device Plugin 2.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">11 Apr 2022</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2022/04/11/file-plugin-7.0.0-device-plugin-2.1.0-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update for <code>cordova-plugin-file</code> &amp; <code>cordova-plugin-device</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-file">cordova-plugin-file@7.0.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-plugin-device">cordova-plugin-device@2.1.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin remove cordova-plugin-file
cordova plugin add cordova-plugin-file@7.0.0
cordova plugin remove cordova-plugin-device
cordova plugin add cordova-plugin-device@2.1.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<h3><code>cordova-plugin-file</code></h3>
<p>For Android, a <code>WebViewAssetLoader</code> proxy handler has been added to support loading <code>cdvfile</code> URLs while using a custom scheme. It is recommended to use the <code>toURL</code> method to fetch the consumable URL. When the app is served from the <code>http</code> or <code>https</code> protocol, the <code>toURL</code> will return the appropriate consumable <code>cdvfile</code> URL. If the app is used from the <code>file</code> protocol, <code>toURL</code> will return the native <code>file</code> URL.</p>
<h3><code>cordova-plugin-device</code></h3>
<p>Electron native support has been added.</p>
<p>For Android, the <code>sdkVersion</code> property is now included on the <code>window.device</code> object, and returned within the <code>getInfo</code> response object.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2022/04/11/file-plugin-7.0.0-device-plugin-2.1.0-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 06 Apr 2022 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2022/04/06/splashscreen-plugin-release.html">Splash Screen Plugin Released!</a>
</h2>
<div class="details">
<span class="date">06 Apr 2022</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/news/2022/04/06/splashscreen-plugin-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to our Splash Screen plugin!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-plugin-splashscreen">cordova-plugin-splashscreen@6.0.1</a></li>
</ul>
<h2>Release Highlights</h2>
<h3>Splash Screen</h3>
<p>This patch release fixes some bugs on Android, including an issue with the &quot;backbutton&quot; event <a href="https://github.com/apache/cordova-android/issues/1106">reported by some users</a>.</p>
<ul>
<li><a href="https://github.com/apache/cordova-plugin-splashscreen/pull/314">GH-314</a> fix: refocus after webview visible (#186)</li>
<li><a href="https://github.com/apache/cordova-plugin-splashscreen/pull/213">GH-213</a> fix(android): Fixes nav and title bars still appearing when app is fullscreen <a href="https://github.com/apache/cordova-plugin-splashscreen/pull/180">GH-180</a></li>
</ul>
</p>
<div><a href="/news/2022/04/06/splashscreen-plugin-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 22 Mar 2022 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2022/03/22/osx-deprecation.html">Deprecation of the Cordova OSX Platform</a>
</h2>
<div class="details">
<span class="date">22 Mar 2022</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/announcements/2022/03/22/osx-deprecation.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><h2>Deprecation of the Cordova OSX Platform</h2>
<p>We are hereby announcing the deprecation of <a href="https://github.com/apache/cordova-osx#readme">cordova-osx</a>.</p>
<p>This means that the Cordova development community will not be doing any more work on this platform. Please migrate to the <code>cordova-electron</code> platform or try Mac Catalyst with the <code>cordova-ios</code> platform.</p>
<p>The usage and activity around the osx platform have been quite low for a long time. Cordova&#39;s other solutions for building apps for macOS are actively maintained and especially cordova-ios offers better plugin support.</p>
<p>Your feedback is graciously accepted and appreciated!</p>
</p>
<div><a href="/announcements/2022/03/22/osx-deprecation.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 09 Mar 2022 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2022/03/09/osx-release-7.0.0.html">Cordova OSX 7.0.0 released and deprecation notice</a>
</h2>
<div class="details">
<span class="date">09 Mar 2022</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/announcements/2022/03/09/osx-release-7.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova OSX 7.0.0</code>! This is one of Cordova&#39;s supported platforms for building macOS desktop applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-osx">cordova-osx@7.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>This version includes various dependency updates and makes the platform run on AppleSilicon Macs.</p>
<p>We have raised the minimum required NodeJS version for this release to 12.x.</p>
<h2>Deprecation Notice</h2>
<p>We are planning to deprecate the <code>cordova-osx</code> platform soon. Please migrate to the <code>cordova-electron</code> platform or try Mac Catalyst with the <code>cordova-ios</code> platform.</p>
<p>Feel free to check out the discussions on the mailing list <a href="https://lists.apache.org/thread/wjwx2y9roptq941gg96809fvhwt3rdto">1</a> <a href="https://lists.apache.org/thread/lqq2xoy3pjqcyl052gv0qom2f31zgg8k">2</a> for more information and leave a comment if you have anything to add.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2022/03/09/osx-release-7.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 25 Jan 2022 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2022/01/25/media-plugin-5.0.4-release.html">Media Plugin 5.0.4 Released!</a>
</h2>
<div class="details">
<span class="date">25 Jan 2022</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2022/01/25/media-plugin-5.0.4-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update for <code>Cordova Media Plugin (5.0.4)</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-media">cordova-plugin-media@5.0.4</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin remove cordova-plugin-media
cordova plugin add cordova-plugin-media@5.0.4
</code></pre></div></div>
<h2>Release Highlights</h2>
<ul>
<li>
<p>Resolved Mounted Storage for <strong>Android 11</strong></p>
<p>Android 11 had deprecated the <code>Environment.getExternalStorageDirectory()</code> API that caused issues with fetching and mounting to the external directory. In this release, we changed the API with <code>context.getExternalFilesDir(null)</code>, the alternative suggested API for fetching and mounting with the external storage directory.</p>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2022/01/25/media-plugin-5.0.4-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 21 Dec 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2021/12/21/cordova-cli-11.0.0-release.html">Cordova CLI 11.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">21 Dec 2021</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2021/12/21/cordova-cli-11.0.0-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released a major update to our Cordova CLI!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova">cordova@11.0.0</a></li>
</ul>
<p>In this CLI release, it will also be using the latest internal libraries and template:</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-lib">cordova-lib@11.0.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-create">cordova-create@4.0.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-app-hello-world">cordova-app-hello-world@6.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>This release drops Nodejs 10 support. The minimum supported version which Cordova requires is 12.x.</p>
<p>In all releases, we have updated all npm packages to the possible latest release in which Cordova can support.</p>
<p><strong>Cordova CLI 11.0.0:</strong></p>
<p>In this release, we fixed an issue where users were unable to use Cordova CLI after upgrading their macOS environment to macOS Monterey. This issue was caused by one of the package dependencies, <code>insight</code>. The previous workaround was to reinstall Cordova CLI, but now this is no longer required with this release.</p>
<p><strong>Cordova Lib 11.0.0:</strong></p>
<p>We have bumped all platform pinnings to use the latest released platforms. This means new Cordova app projects will now use the latest major versions of the supported platforms.</p>
<ul>
<li><code>cordova-android@^10.1.1</code></li>
<li><code>cordova-electron@^3.0.0</code></li>
<li><code>cordova-ios@^6.2.0</code></li>
</ul>
<p><strong>Cordova Create 4.0.0:</strong></p>
<p>All new projects will now start with the newest App Hello World template.</p>
<p><strong>Cordova App Hello World Template 6.0.0:</strong></p>
<p>Please refer to the <a href="https://cordova.apache.org/news/2021/10/31/template-release.html">App Hello World Release Blog</a> post for more details.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
<h2>Greetings</h2>
<p>The Apache Cordova team wishes you Happy Holidays and a good start for the new year.</p>
</p>
<div><a href="/news/2021/12/21/cordova-cli-11.0.0-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sun, 31 Oct 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2021/10/31/template-release.html">Template 6.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">31 Oct 2021</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2021/10/31/template-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released a major update to our template!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-app-hello-world">cordova-app-hello-world@6.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>In this release, we have removed the deprecated <code>cordova-plugin-whitelist</code> from the default template. The functionality of the plugin was integrated into the core of Cordova Android since version 10.0.0.</p>
<p>If you create a new Cordova project and use an older version of Cordova Android (&lt;10), you will need to add the <code>cordova-plugin-whitelist</code> plugin.</p>
<p>Additionally, Cordova has removed the excessive <code>access</code> and <code>allow-intent</code> settings from the default <code>config.xml</code> file. Previously, the default template assumed what defaults users needed, but not all user apps required these settings.</p>
<p>Removing these excessive defaults will help promote a more secure application by default, reduce the default project configurations to a bare minimum, and promote an opt-in approach for defining access permissions.</p>
<p>Existing projects are not affected by these changes. The default template is used only during the initial project creation.</p>
</p>
<div><a href="/news/2021/10/31/template-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 08 Oct 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2021/10/08/cordova-lib-release-10.1.0.html">Cordova Lib 10.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">08 Oct 2021</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2021/10/08/cordova-lib-release-10.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>cordova-lib 10.1.0</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-lib">cordova-lib@10.1.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>In this minor release, we have introduced various improvements and fixes. The most notable changes within this release are:</p>
<ul>
<li>Updated the platform pinning to the latest minor/patch releases:
<ul>
<li><code>cordova-ios@^6.2.0</code></li>
<li><code>cordova-android@^9.1.0</code></li>
<li><code>cordova-electron@^1.1.1</code></li>
</ul>
</li>
<li>Fixed the restore process to ensure that the correct pinned platform versions in <code>package.json</code> are reinstalled.</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2021/10/08/cordova-lib-release-10.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 15 Sep 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2021/09/15/cordova-android-release-10.1.1.html">Cordova Android 10.1.1 Released!</a>
</h2>
<div class="details">
<span class="date">15 Sep 2021</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2021/09/15/cordova-android-release-10.1.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Android 10.1.1</code>! This is one of Cordova&#39;s supported platforms for building Android applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@10.1.1</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@10.1.1
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@10.1.1
</code></pre></div></div>
<p>The notable fixes in this release are around the handling of the default policy for the Allow Navigation &amp; Allow Bridge Access, which also covers the scheme &amp; hostname use cases.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2021/09/15/cordova-android-release-10.1.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 06 Sep 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2021/09/06/cordova-electron-release-3.0.0.html">Cordova Electron 3.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">06 Sep 2021</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2021/09/06/cordova-electron-release-3.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Electron 3.0.0</code>! This is one of Cordova&#39;s supported platforms for building Electron applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-electron">cordova-electron@3.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove electron
cordova platform add electron@3.0.0
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add electron@3.0.0
</code></pre></div></div>
<p>Some of the notable breaking changes &amp; new features in this release are:</p>
<ul>
<li>The <strong>Electron</strong> core dependencies have been updated.
<ul>
<li><strong>Electron</strong>: 14.0.0</li>
<li><strong>Chromium</strong>: 93.0.4577.58</li>
<li><strong>Node</strong>: v14.17.0</li>
<li><strong>V8</strong>: v9.3</li>
</ul>
</li>
<li><strong>Node.js</strong> 10 is no longer supported. This release requires the development environment to have <strong>Node.js</strong> 12.x or higher. It is recommended to use the current LTS, which is <code>14.17.6</code> at the time of this release.</li>
<li>
<p><strong>Cordova Plugin Support</strong></p>
<p>In the earlier releases of Cordova Electron, we didn&#39;t have a proper plugin system in place.</p>
<p>There was a temporary workaround solution, <code>nodeIntegration</code>, that allowed app developers and plugin developers to have access to node modules. This was meant to be temporary and is not highly recommended because it can lead to <a href="https://www.electronjs.org/docs/latest/tutorial/security#2-do-not-enable-nodejs-integration-for-remote-content">security issues</a>.</p>
<p>With the new support, the plugin will be preloaded and runs in a separate context from the web app. This feature is known as <a href="https://www.electronjs.org/docs/latest/tutorial/context-isolation/">Context Isolation</a>.</p>
<p>Additionally, this system follows our pre-existing plugin structure. This means the app code does not need to make any special calls for Electron vs any other platform.</p>
</li>
</ul>
<p>For a quick start guide and in-depth configuration setup, please check out our <a href="https://github.com/apache/cordova-electron/blob/rel/2.0.0/DOCUMENTATION.md">Cordova Electron Documentation</a>!</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2021/09/06/cordova-electron-release-3.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 25 Aug 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2021/08/25/translations.html">Declaring Translation Bankruptcy</a>
</h2>
<div class="details">
<span class="date">25 Aug 2021</span>
- by
<span class="author">
<a href="https://twitter.com/purplecabbage">Jesse MacFadyen</a>
</span>
<a class="comment" href="/announcements/2021/08/25/translations.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>It has been talked about for years, and even though we <a href="https://lists.apache.org/thread.html/4768b193b66d75d1c0c7c08303c54eb0fa15894c60e99b607f7e3e5d%40%3Cdev.cordova.apache.org%3E">agreed to do it</a>, we never really moved on it.
Taking things away is always harder than adding things.</p>
<p>Back in the day, we had active contributions from the community to translate our documentation, and we had a pretty robust system to pull them all together and publish the static HTML site. This system has run flawlessly for years, however, the community translations slowed, then stopped, while the system still carefully churned through it all. We have been providing translated docs since Cordova CLI 3.1.0 while the maintenance of these translated docs started to diverge around Cordova CLI 6.x</p>
<p>Over the next few weeks we will be making aggessive changes to the documentation system.</p>
<p>Including:</p>
<ul>
<li>archive all existing translated documentation to a new static <code>archive</code> site</li>
<li>remove all translations from the main repo, and update build tooling to only publish the main version</li>
</ul>
<p>We would like to thank the people who took the initiative in creating the translated docs and those who put time and effort into maintaining them.</p>
<p>We welcome your feedback and comments.</p>
<p>~ Apache Cordova Committers</p>
</p>
<div><a href="/announcements/2021/08/25/translations.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 23 Aug 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2021/08/23/camera-plugin-6.0.0-release.html">Camera Plugin 6.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">23 Aug 2021</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2021/08/23/camera-plugin-6.0.0-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to our Camera plugin!</p>
<p>We are happy to announce that we have just released an update for <code>Cordova Camera Plugin (6.0.0)</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-camera">cordova-plugin-camera@6.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin remove cordova-plugin-camera
cordova plugin add cordova-plugin-camera@6.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<ul>
<li>
<p>Requires <strong><code>Cordova-Android</code> 10.x of higher</strong></p>
<p>This major release has bumped the minimum Cordova-Android requirement to 10.x or higher. This requirement change was made for the <strong>AndroidX Only Support</strong> initiative.</p>
<p>If your project is using an older Cordova-Android release, please upgrade the Android platform before using it.</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code> cordova platform remove android
cordova platform add android@10.x
</code></pre></div> </div>
</li>
<li>
<p><strong><code>AndroidX</code> Only Support</strong></p>
<p>In this release, we have completely migrated to the AndroidX library and no longer support the Android Support Library.</p>
<p>If you were using the <a href="https://www.npmjs.com/package/cordova-plugin-androidx-adapter">cordova-plugin-androidx-adapter</a> plugin to migrate the Camera&#39;s legacy Android Support Library references to the new AndroidX references, it can be removed unless your project is using other third-party plugins that have not migrated to AndroidX.</p>
</li>
<li>
<p><strong>HEIC</strong> Support</p>
<p>We introduced support to encode the HEIC file formats to the defined <code>EncodingType</code> for WebView display.</p>
</li>
<li>
<p>Package Visibility Support</p>
<p>We have updated this plugin to support the breaking changes that were introduced in Android 11 around package visibility.</p>
<p>For more information on package visibility, please check out the following Google&#39;s resources:</p>
<ul>
<li><a href="ttps://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9">Package visibility in Android 11</a></li>
<li><a href="https://developer.android.com/training/package-visibility">Package visibility filtering on Android</a></li>
</ul>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2021/08/23/camera-plugin-6.0.0-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 16 Aug 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2021/08/16/cordova-android-10.1.0.html">Cordova Android 10.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">16 Aug 2021</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2021/08/16/cordova-android-10.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released a minor update for <code>Cordova Android (10.1.0)</code>! This is one of Cordova&#39;s supported platforms for building Android mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@10.1.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@10.1.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>In this minor release, we:</p>
<ul>
<li>
<p><strong>Bump Core Libraries</strong></p>
<ul>
<li>AndroidX AppCompat@1.3.1</li>
<li>Google Services Gradle Plugin@4.3.8</li>
<li>Kotlin@1.5.21</li>
</ul>
</li>
<li>
<p><strong>Added <code>HTTP</code> Scheme Support</strong></p>
<p>In the Cordova-Android 10.0.0 release, we introduced support for the <code>WebViewAssetLoader</code>. By default, we only supported the <code>https</code> scheme. Some users requested <code>http</code> scheme support; as not all users were able to loading resources through a secure protocol.</p>
<p>Users are now able to use either <code>https</code> (default) or <code>http</code> by setting the <code>scheme</code> <code>preference</code> flag.</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"scheme"</span> <span class="na">value=</span><span class="s">"http"</span> <span class="nt">/&gt;</span>
</code></pre></div> </div>
<p>The default <code>scheme</code> will remain as <code>https</code>, as we believe apps should be secure.</p>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2021/08/16/cordova-android-10.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 30 Jul 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2021/07/30/cordova-android-10.0.1.html">Cordova Android 10.0.1 Released!</a>
</h2>
<div class="details">
<span class="date">30 Jul 2021</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2021/07/30/cordova-android-10.0.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released a bugfix update for <code>Cordova Android (10.0.1)</code>! This is one of Cordova&#39;s supported platforms for building Android mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@10.0.1</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@10.0.1
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>In this patch release, we had fixed three reported issues that caused build issues.</p>
<ul>
<li>
<p><strong>Fixed <code>GradlePluginGoogleServicesEnabled</code> Invalid Version Error</strong></p>
<p>Projects that set the <code>GradlePluginGoogleServicesEnabled</code> config flag to <code>true</code> saw an invalid version error. The error was caused by the build process reading a bad variable reference.</p>
</li>
<li>
<p><strong>Fixed Incorrect Fetching of Latest Build Tools</strong></p>
<p>Users who have installed build tools 31.x noticed Cordova attempting to use the newer build tools by default.</p>
<p>By default, Cordova-Android 10.x tries to fetch the latest installed build tools, but it should be only selecting within the supported major release range.</p>
<p>For example, Cordova-Android 10.x supports SDK build tools 30.0.3. If a newer version of build tools within 30.x was released and installed, Cordova should fetch and use it. If the environment has 31.x or higher, those should be ignored.</p>
<p>Newer major release versions are not tested and may not be compatible with Cordova.</p>
<p>Only within the supported major range are now being discovered and used.</p>
</li>
<li>
<p><strong>Fixed Building with Pinned Build Tools</strong></p>
<p>This issue was also noticed by users who have installed the latest Android build tools SDK 31.</p>
<p>Since SDK 31 contains breaking that makes it incompatible with Cordova, users tried to pin the build tools version to 30.0.3.</p>
<p>Because of the above issue <strong>Fixed Incorrect Fetching of Latest Build Tools</strong>, the provided pinned version was being ignored.</p>
<p>Pinned versions now take higher priority over the fetched the latest version functionality.</p>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2021/07/30/cordova-android-10.0.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 20 Jul 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2021/07/20/cordova-android-10.0.0.html">Cordova Android 10.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">20 Jul 2021</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2021/07/20/cordova-android-10.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Android 10.0.0</code>! This is one of Cordova&#39;s supported platforms for building Android mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@10.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@10.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<ul>
<li>
<p><strong><code>AndroidX</code> Only Support</strong></p>
<p>In this release, we have completely migrated to the AndroidX library and no longer support the Android Support Library. All plugins that continue to use the Android Support Library will need to be updated to reference the new AndroidX library.</p>
<p>If plugins have not been updated, you can still use the <a href="https://www.npmjs.com/package/cordova-plugin-androidx-adapter">cordova-plugin-androidx-adapter</a> plugin, which can be used to migrate the legacy references to the new AndroidX references.</p>
</li>
<li>
<p><strong><code>WebViewAssetLoader</code> Support</strong></p>
<p>By default, the <code>WebViewAssetLoader</code> is enabled and allows apps to serve their content from a &#39;proper&#39; origin. This will makes routing work easily for frameworks like Angular.</p>
<p>With no additional configurations, the app content is served from <code>https://localhost/</code>. You can configure the hostname by setting the preference option <code>hostname</code>.</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"hostname"</span> <span class="na">value=</span><span class="s">"localhost"</span> <span class="nt">/&gt;</span>
</code></pre></div> </div>
<p>The scheme, <code>https</code>, is not configurable by nature.</p>
<p>Please note that this is a breaking change that will cause data associated with the <code>file://</code> scheme, such as cookies, local storage, local cache, and web-based databases, to be lost. You will need to handle the migration of data. If you are unable to migrate the data at this time, you can revert this setting by setting the <code>AndroidInsecureFileModeEnabled</code> preference flag.</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"AndroidInsecureFileModeEnabled"</span> <span class="na">value=</span><span class="s">"true"</span> <span class="nt">/&gt;</span>
</code></pre></div> </div>
<p>Setting this flag will keep the content on the <code>file://</code> scheme, which Google reports to be insecure.</p>
</li>
<li>
<p><strong>Android App Bundles <code>aab</code> Support</strong></p>
<p>By default, release builds will now generate an <code>aab</code> formatted package type for release.</p>
<p>By nature, <code>aab</code> packages can not be deployed or pushed manually to a device for testing. If you need to test a release build, you will need to change the package type back to <code>apk</code> with the <code>packageType</code> flag.</p>
<p>Debug builds will continue to create an <code>apk</code> formatted package.</p>
</li>
<li>
<p><strong>Tooling and Default Support Bump</strong></p>
<ul>
<li>Target SDK (<code>targetSdk</code>): <code>30</code></li>
<li>SDK Build Tool: <code>30.0.3</code></li>
<li>Gradle: <code>7.1.1</code></li>
<li>Kotlin: <code>1.5.20</code></li>
<li>Android Gradle Plugin (AGP): <code>4.2.2</code></li>
<li>Google Services Gradle Plugin: <code>4.3.5</code></li>
</ul>
</li>
<li>
<p><strong>Node Support</strong></p>
<p>Since Node 10 is no longer being supported by the Node.js team, we have dropped support for Node 10.</p>
</li>
<li>
<p><strong>Java 11 Support</strong></p>
<p>With the current release of Android Studio 4.2, the Android tooling can now support running on Java 11. Please note that this does not mean you can start compiling Java 11 source code.</p>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
<h2>Notice of Issue</h2>
<p>There is a known issue for users or plugins that enable the Google Services Gradle plugin.</p>
<p>https://github.com/apache/cordova-android/issues/1284</p>
<p>We are preparing and aiming for a patch release vote within the next three days.</p>
</p>
<div><a href="/announcements/2021/07/20/cordova-android-10.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 28 Jun 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2021/06/28/whitelist-plugin-release.html">Whitelist Plugin Released!</a>
</h2>
<div class="details">
<span class="date">28 Jun 2021</span>
- by
<span class="author">
Pieter Van Poyer
</span>
<a class="comment" href="/news/2021/06/28/whitelist-plugin-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to our Whitelist plugin!</p>
<ul>
<li><a href="https://github.com/apache/cordova-plugin-whitelist">cordova-plugin-whitelist@1.3.5</a></li>
</ul>
<h2>Release Highlights</h2>
<h3>Whitelist</h3>
<p>The 1.3.5 patches release is the final release of the Whitelist plugin.
The Whitelist plugin will be moved to the <code>cordova-android</code> repo.</p>
<ul>
<li><a href="https://github.com/apache/cordova-plugin-whitelist/pull/62">GH-62</a> Lock next patch release to <code>cordova-android</code> &lt;10</li>
<li><a href="https://github.com/apache/cordova-plugin-whitelist/pull/59">GH-59</a> Deprecate plugin.</li>
</ul>
</p>
<div><a href="/news/2021/06/28/whitelist-plugin-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 03 Jun 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2021/06/03/network-information-plugin-release.html">Network Information Plugin Released!</a>
</h2>
<div class="details">
<span class="date">03 Jun 2021</span>
- by
<span class="author">
Pieter Van Poyer
</span>
<a class="comment" href="/news/2021/06/03/network-information-plugin-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to our Network Information plugin!</p>
<ul>
<li><a href="https://github.com/apache/cordova-plugin-network-information">cordova-plugin-network-information@3.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<h3>Network Information</h3>
<p>The 3.0.0 major release fixes behaviour on Android.
The <code>online</code> event was running at unexpected times.</p>
<p>All references of the deprecated <code>navigator.network</code> are removed.</p>
<ul>
<li><a href="https://github.com/apache/cordova-plugin-network-information/pull/114">GH-114</a> Bugfix <a href="https://github.com/apache/cordova-plugin-network-information/issues/110">issue 110</a> - online event was firing at unexpected times on Android, due to a missing equals implementation on the Android JSONObject.</li>
<li><a href="https://github.com/apache/cordova-plugin-network-information/pull/117">GH-117</a> Removes deprecated navigator.network access.</li>
</ul>
</p>
<div><a href="/news/2021/06/03/network-information-plugin-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 11 May 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2021/05/11/camera-plugin-release.html">Camera Plugin Released!</a>
</h2>
<div class="details">
<span class="date">11 May 2021</span>
- by
<span class="author">
Pieter Van Poyer
</span>
<a class="comment" href="/news/2021/05/11/camera-plugin-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to our Camera plugin!</p>
<ul>
<li><a href="https://github.com/apache/cordova-plugin-camera">cordova-plugin-camera@5.0.2</a></li>
</ul>
<h2>Release Highlights</h2>
<h3>Camera</h3>
<p>The 5.0.2 patch release fixes a bug on Android.
After taking a picture with the camera plugin on Android, the app could occasionally crash.
This crash did occur when the main activity was destroyed by the Android OS to free up memory, when the app would resume afterwards with a PendingIntent the restoring of the state was not correctly handled.</p>
<ul>
<li><a href="https://github.com/apache/cordova-plugin-camera/pull/700">GH-700</a> Bugfix <a href="https://github.com/apache/cordova-plugin-camera/issues/665">issue 665</a> - app crashes after taking a picture due to a bug in the camera plugin when app is resumed</li>
</ul>
</p>
<div><a href="/news/2021/05/11/camera-plugin-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 13 Apr 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2021/04/13/cordova-android-9.1.0.html">Cordova Android 9.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">13 Apr 2021</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2021/04/13/cordova-android-9.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Android 9.1.0</code>! This is one of Cordova&#39;s supported platforms for building Android mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@9.1.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@9.1.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>In this minor release, there are various refactoring and bug fixes. Additionally, there were a few new features.</p>
<p>Some of the new feature highlights are:</p>
<ul>
<li>
<p><strong>Added Custom Gradle Repositories Support</strong></p>
<p>Sometimes there are third-party libraries that do not exist in the repositories that we have defined. With this feature, developers now have an easier way to override the default repository list that we have defined in the Gradle build scripts.</p>
<p>Additionally, as JFrog is sunsetting the JCenter repository, developers can remove it, at their own risk. Since this a minor release, we have not removed JCenter as one of the default repositories as it would be considered a breaking change.</p>
</li>
<li>
<p><strong>Support <code>webp</code> Images for SplashScreen</strong></p>
<p>Previously we only supported <code>png</code> file formats for splash screens as <code>webp</code> support was only introduced starting from API 17. Since <code>cordova-android@9.x</code> minimum SDK version was raised to 22, the introduction of <code>webp</code> support became possible.</p>
<p><code>webp</code> file formats are known to support transparency and provide the same or similar quality as <code>png</code> files, but its greatest benefit is that it can reduce the image file size by around 25%.</p>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2021/04/13/cordova-android-9.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 16 Feb 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2021/02/16/inappbrowser-release-5.0.0.html">Cordova Plugin InAppBrowser 5.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">16 Feb 2021</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/announcements/2021/02/16/inappbrowser-release-5.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to <code>cordova-plugin-inappbrowser</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-inappbrowser">cordova-plugin-inappbrowser@5.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>This is a new major version with breaking changes which requires at least <code>cordova-android@9.0.0</code> and <code>cordova-ios@6.0.0</code>. Make sure to check and update your platforms.</p>
<p>The most notable improvements in this major release are:</p>
<ul>
<li>The InAppBrowser and main webview now share web resources again (like cookies, sessions etc.).</li>
<li>You can now set <code>InAppBrowserStatusBarStyle</code> to &#39;darkcontent&#39;.</li>
<li>The Android part got some code cleanup.</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2021/02/16/inappbrowser-release-5.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sun, 07 Feb 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/2021/02/07/deprecate-wkwebview-engine.html">Deprecate Wkwebview Engine</a>
</h2>
<div class="details">
<span class="date">07 Feb 2021</span>
- by
<span class="author">
<a href="https://twitter.com/NormanBreau">Norman Breau</a>
</span>
<a class="comment" href="/2021/02/07/deprecate-wkwebview-engine.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><h2>Deprecation of the Cordova WKWebView Engine Plugin</h2>
<p>We are hereby annoucing the deprecation of <a href="https://github.com/apache/cordova-plugin-wkwebview-engine/blob/master/README.md#deprecation-notice">cordova-plugin-wkwebview-engine</a>.</p>
<p>This means that the Cordova development community will not be doing any more work on this plugin. You can continue to use this plugin as-is in existing and new applications running <code>cordova-ios@5.1.1</code> or earlier but any further issues will not be fixed by the Cordova team.</p>
<p>The WKWebView implementation has been moved to the core iOS platform as of <code>cordova-ios@6</code>. We encourage everyone to update to <code>cordova-ios@6</code> and to remove <code>cordova-plugin-wkwebview-engine</code>.</p>
<p>Your feedback is graciously accepted and appreciated!</p>
</p>
<div><a href="/2021/02/07/deprecate-wkwebview-engine.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 04 Feb 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2021/02/04/cordova-ios-release-6.2.0.html">Cordova iOS 6.2.0 Released!</a>
</h2>
<div class="details">
<span class="date">04 Feb 2021</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/announcements/2021/02/04/cordova-ios-release-6.2.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova iOS 6.2.0</code>! This is Cordova&#39;s official platform for building iOS mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-ios">cordova-ios@6.2.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>This release contains small bug fixes, dependency updates and resolves some splashscreen issues. Plugin developers can now hook into the <code>WKURLSchemeHandler</code> (<a href="https://github.com/apache/cordova-ios/pull/1030">learn more</a>).</p>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove ios
cordova platform add ios@6.2.0
</code></pre></div></div>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2021/02/04/cordova-ios-release-6.2.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 02 Feb 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2021/02/02/wkwebview-engine-release.html">WKWebView Engine Plugin Released!</a>
</h2>
<div class="details">
<span class="date">02 Feb 2021</span>
- by
<span class="author">
Norman Breau
</span>
<a class="comment" href="/news/2021/02/02/wkwebview-engine-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to our WKWebView Engine plugin!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-plugin-wkwebview-engine">cordova-plugin-wkwebview-engine@1.2.2</a></li>
</ul>
<h2>Release Highlights</h2>
<p>This plugin does not support <code>cordova-ios@6</code> because the iOS platform now has WKWebView Engine built in. Therefore this patch release updates the plugin to not install when <code>cordova-ios@6</code> or later is installed. It is safe to remove this plugin if running <code>cordova-ios@6</code> or later.</p>
</p>
<div><a href="/news/2021/02/02/wkwebview-engine-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 02 Feb 2021 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2021/02/02/cordova-fetch-3.0.1.html">Cordova Fetch 3.0.1 Released!</a>
</h2>
<div class="details">
<span class="date">02 Feb 2021</span>
- by
<span class="author">
<a href="https://twitter.com/dpogue">Darryl Pogue</a>
</span>
<a class="comment" href="/announcements/2021/02/02/cordova-fetch-3.0.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-fetch@3.0.1</code> was released in February 2021. This module is responsible for installing platforms and plugins from the npm package registry, and this release adds compatibility for npm version 7.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-fetch">cordova-fetch@3.0.1 on npm</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<p>Because <code>cordova-fetch</code> is a dependency of the <code>cordova</code> command-line tool, you&#39;ll need to reinstall the <code>cordova</code> package to update:</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm uninstall <span class="nt">-g</span> cordova
npm <span class="nb">install</span> <span class="nt">-g</span> cordova
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>The most notable fix in this patch release is a fix for plugin and platform installation with the newest version of npm. More details can be found in the <a href="https://github.com/apache/cordova-fetch/pull/91">pull request</a> and <a href="https://github.com/apache/cordova-lib/issues/859">original bug ticket</a>. Thanks Raphael for implementing this fix.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2021/02/02/cordova-fetch-3.0.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 30 Nov 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2020/11/30/cve-2020-11990.html">Security Advisory CVE-2020-11990</a>
</h2>
<div class="details">
<span class="date">30 Nov 2020</span>
- by
<span class="author">
Jesse MacFadyen
</span>
<a class="comment" href="/news/2020/11/30/cve-2020-11990.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We have resolved a security issue in the camera plugin that could have affected certain Cordova (Android) applications.</p>
<p><strong>CVE-2020-11990:</strong> Apache Cordova Plugin camera vulnerable to information disclosure</p>
<p><strong>Type of Vulnerability:</strong></p>
<p>CWE-200: Exposure of Sensitive Information to an Unauthorized Actor</p>
<p><strong>Severity:</strong> Low</p>
<p><strong>Vendor:</strong> The Apache Software Foundation</p>
<p><strong>Possible attackers condition:</strong></p>
<p>An attacker who can install (or lead the victim to install) the specially crafted (or malicious) Android application. Android documentation describes the external cache location as application specific, however,
<em>&quot;There is no security enforced with these files. For example, any application holding Manifest.permission.WRITE_EXTERNAL_STORAGE can write to these files.&quot;</em>
( and thereby read )</p>
<p><strong>Possible victims:</strong></p>
<p>Android users that take pictures with an Apache Cordova based application and attached removable storage.</p>
<p><strong>Possible Impacts:</strong></p>
<ul>
<li>Confidentiality is breached.</li>
<li>The image file (photo) taken by the Android apps that was developed using the Apache Cordova camera plugin will be disclosed.</li>
</ul>
<p><strong>Versions Affected:</strong></p>
<p>Cordova Android applications using the Camera plugin</p>
<p>( cordova-plugin-camera version 4.1.0 and below )</p>
<p><strong>Upgrade path:</strong></p>
<p>Developers who are concerned about this issue should install version 5.0.0 or higher of cordova-plugin-camera</p>
<p><strong>Mitigation Steps:</strong></p>
<p>Upgrade plugin and rebuild application, update deployments.</p>
<p><strong>Credit:</strong></p>
<p><em>[Edit: Changed credit to individual]</em></p>
<p><strong>Akihiro Matsumura of Saison Information Systems Co., Ltd.</strong> reported this vulnerability to IPA.</p>
<p>JPCERT/CC coordinated with the developer under Information Security Early Warning Partnership.</p>
<p><em>[Edit: Added links to JPCERT/CC advisory ]</em></p>
<p><a href="https://jvn.jp/jp/JVN59779918/">JVN#59779918 (Japanese)</a></p>
<p><a href="https://jvn.jp/en/jp/JVN59779918/">JVN#59779918 (English)</a></p>
</p>
<div><a href="/news/2020/11/30/cve-2020-11990.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 02 Oct 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/10/02/cordova-electron-release-2.0.0.html">Cordova Electron 2.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">02 Oct 2020</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2020/10/02/cordova-electron-release-2.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Electron 2.0.0</code>! This is one of Cordova&#39;s supported platforms for building Electron applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-electron">cordova-electron@2.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove electron
cordova platform add electron@2.0.0
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add electron@2.0.0
</code></pre></div></div>
<p>Some of the notable breaking changes &amp; new features in this release are:</p>
<ul>
<li>The <strong>Electron</strong> core dependencies have been updated.
<ul>
<li><strong>Electron</strong>: 10.1.2</li>
<li><strong>Chromium</strong>: 85.0.4183.98</li>
<li><strong>Node</strong>: v12.16.3</li>
<li><strong>V8</strong>: v8.5</li>
</ul>
</li>
<li><strong>NodeJS</strong> 6 and 8 is no longer supported. This release requires the development environment to have <strong>NodeJS</strong> 10.x or higher. It is recommended to use the current LTS, which is <code>12.18.4</code> at the time of this release.</li>
<li>DevTool extensions can now be added to debug builds to improve debugging capabilities. <a href="https://github.com/apache/cordova-electron/pull/160">GH-160</a></li>
<li>
<p>Support for using the custom <code>scheme</code> and <code>hostname</code> <code>preference</code> flags is now available. It can be easily configured in your Cordova project by setting the preference options <code>scheme</code> and <code>hostname</code> in the <code>config.xml</code> file.</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"scheme"</span> <span class="na">value=</span><span class="s">"app"</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"hostname"</span> <span class="na">value=</span><span class="s">"localhost"</span> <span class="nt">/&gt;</span>
</code></pre></div> </div>
</li>
<li>Support passing of <strong>Electron</strong> arguments to the <code>cordova run</code> command. This is useful to pass the inspect flag to debug the main process.</li>
</ul>
<p>For a quick start guide and in-depth configuration setup, please check out our <a href="https://github.com/apache/cordova-electron/blob/rel/2.0.0/DOCUMENTATION.md">Cordova Electron Documentation</a>!</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2020/10/02/cordova-electron-release-2.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 29 Sep 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2020/09/29/cve-2020-6506.html">Security Advisory CVE-2020-6506</a>
</h2>
<div class="details">
<span class="date">29 Sep 2020</span>
- by
<span class="author">
Jesse MacFadyen
</span>
<a class="comment" href="/news/2020/09/29/cve-2020-6506.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><h3>Formally Disclosed Advisory:</h3>
<ul>
<li><a href="https://bugs.chromium.org/p/chromium/issues/detail?id=1083819">https://bugs.chromium.org/p/chromium/issues/detail?id=1083819</a></li>
</ul>
<p>This vulnerability is a universal cross-site scripting (UXSS) vulnerability in Android WebView which allows cross-origin iframes to execute arbitrary JavaScript in the top-level document. Apache Cordova apps built for Android devices which allow the loading of http content from domains they do not control could be affected. Theoretically this would be either in an iframe, or by use of the InAppBrowser plugin (cordova-plugin-inappbrowser).</p>
<p>If your app loads a local page (e.g. index.html within Cordova app loads iframe from <a href="#">malicious-example.com</a>), no user interaction is required for this exploit.</p>
<p>This vulnerability has been fixed in Android WebView as of version 83.0.4103.106.
Users must update their Android WebView from the Google Play Store themselves.</p>
<h3>Mitigation</h3>
<p>There are precautions you can take to avoid this vulnerability.</p>
<ol>
<li>Use a restrictive an allow-list and content security policy (CSP) as possible.
<ul>
<li><a href="https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/">https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/</a></li>
<li>Ensure CSPs do not include &#39;unsafe-line&#39; for script-src/default-src unless necessary.</li>
</ul>
</li>
<li>Generally, always load local code into your application&#39;s main webview, and use InAppBrowser to display anything remote.
<ul>
<li>Always load untrusted content into an external browser (i.e. call InAppBrowser with <code>_system</code>)</li>
<li><a href="https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-inappbrowser/">https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-inappbrowser/</a></li>
</ul>
</li>
<li>
<p>Do not use iframes, and if you must, never do so in your application&#39;s main webview. Using the <code>sandbox</code> attribute will mitigate this vulnerability ( preferably with an empty value. ) Avoid using these sandbox attributes together <code>allow-popups allow-top-navigation allow-scripts</code> because they do NOT mitigate this vulnerability.</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="o">&lt;</span><span class="nx">iframe</span> <span class="nx">sandbox</span><span class="o">=</span><span class="dl">''</span> <span class="nx">src</span><span class="o">=</span><span class="dl">'</span><span class="s1">http://untrusted-source</span><span class="dl">'</span> <span class="o">/&gt;</span>
</code></pre></div> </div>
</li>
</ol>
<p>Most of these precautions have always been gentle recommendations of Apache Cordova, but were not reflected in the default values which were typically left open. The Apache Cordova committers are investigating preventing this vulnerability at the framework level, as well as tightening the default values to prevent inadvertant exposure. In the meantime, if you suspect your app is vulnerable, please follow the precautions above.</p>
<p>Credit ( and thanks ) go to Alesandro Ortiz for discovering this vulnerability and bringing it to our attention.</p>
<h3>Additional References</h3>
<ul>
<li><a href="https://alesandroortiz.com/articles/uxss-android-webview-cve-2020-6506/">https://alesandroortiz.com/articles/uxss-android-webview-cve-2020-6506/</a></li>
<li><a href="https://nvd.nist.gov/vuln/detail/CVE-2020-6506">https://nvd.nist.gov/vuln/detail/CVE-2020-6506</a></li>
</ul>
<p><em>edit: fixed links that weren&#39;t linking</em> -JM</p>
</p>
<div><a href="/news/2020/09/29/cve-2020-6506.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 18 Sep 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2020/09/18/camera-plugin-release.html">Camera Plugin Released!</a>
</h2>
<div class="details">
<span class="date">18 Sep 2020</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2020/09/18/camera-plugin-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to our camera plugin!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-plugin-camera">cordova-plugin-camera@5.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>In this major release, we have:</p>
<ul>
<li>removed the <code>DestinationType</code> of <code>NATIVE_URI</code> that was used only in the iOS and Windows platform. For iOS, the <code>NATIVE_URI</code> returned an <code>ALAssetsLibrary</code> that had been deprecated and does not work with the <code>WKWevView</code>.</li>
<li>removed the <code>CordovaUri</code> class helper that used fuzzy logic to guess the image path from the content URL. This process was not necessary as we know the file path beforehand.</li>
<li>bumped the project requirement definition. This plugin version requires Cordova CLI &gt;= 9.0.0. If building for Android, this plugin version will also require the Cordova Android platform &gt;= 9.0.0.</li>
<li>changed the location of the temporary saved images from external to internal cache.</li>
</ul>
</p>
<div><a href="/news/2020/09/18/camera-plugin-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 31 Aug 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/08/31/cordova-ios-6.1.1.html">Cordova iOS 6.1.1 Released!</a>
</h2>
<div class="details">
<span class="date">31 Aug 2020</span>
- by
<span class="author">
<a href="https://twitter.com/dpogue">Darryl Pogue</a>
</span>
<a class="comment" href="/announcements/2020/08/31/cordova-ios-6.1.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova iOS 6.1.1</code>! This is Cordova&#39;s official platform for building iOS mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-ios">cordova-ios@6.1.1 on npm</a></li>
<li><a href="https://cocoapods.org/pods/Cordova">Cordova@6.1.1 on CocoaPods</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove ios
cordova platform add ios@6.1.1
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>This release contains primarily a fix for deploying to devices, as well as an update to the cordova-common library which we hope will address several issues around <code>Info.plist</code> modifications.</p>
<ul>
<li>
<p><strong>Resolve deploying to a connected device</strong> <em>(since 6.0.0)</em></p>
<p>The Cordova iOS 6.0.0 release was unable to deploy apps to connected iPhone and iPad devices. Thanks to first-time contributor imgos for tracking down the source of the problem and providing a fix.</p>
</li>
<li>
<p><strong>Fix for identifying the correct <code>Info.plist</code> file</strong></p>
<p>This has been a long-standing pain point for Cordova iOS users, particularly when plugins attempt to use <code>edit-config</code> or <code>config-file</code> to add directives to the <code>Info.plist</code> file. In some cases, depending on which plugins and CocoaPods were installed, those config changes would end up in the wrong plist file.</p>
<p>This issue was fixed in Cordova Common 4.0.2, and we&#39;ve pulled that dependency into this release. More details can be found in the <a href="https://github.com/apache/cordova-common/pull/148">pull request</a> and <a href="https://github.com/apache/cordova-common/issues/144">original bug ticket</a>.</p>
</li>
<li>
<p><strong>Append <code>startURL</code> to the initial URL when using custom schemes</strong> <em>(since 6.0.0)</em></p>
<p>When using a custom scheme in Cordova iOS 6.0.0 and a <code>config.xml</code> <code>content</code> path that pointed to a subfolder of <code>www</code>, that subfolder would be treated as the root of the custom scheme. While this is not a common situation, it turns out that is how the <a href="https://github.com/apache/cordova-mobile-spec">mobilespec</a> test suite is implemented.</p>
<p>The fix here is that the root of the custom scheme will always map to the <code>www</code> folder. More details can be found in the <a href="https://github.com/apache/cordova-ios/pull/973">pull request</a>.</p>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2020/08/31/cordova-ios-6.1.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 14 Aug 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/08/14/goodbye-phonegap.html">Goodbye PhoneGap</a>
</h2>
<div class="details">
<span class="date">14 Aug 2020</span>
- by
<span class="author">
The Contributors of Apache Cordova
</span>
<a class="comment" href="/announcements/2020/08/14/goodbye-phonegap.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><h2>Goodbye PhoneGap</h2>
<p><a href="https://www.adobe.com/">Adobe</a> recently <a href="https://blog.phonegap.com/update-for-customers-using-phonegap-and-phonegap-build-cc701c77502c">announced</a> that <a href="https://phonegap.com/">PhoneGap</a> is shutting down. How is Cordova affected? In short: not much.</p>
<p><strong>Rest assured, Apache Cordova is still active and maintained!</strong></p>
<p>We want to take this opportunity to thank Adobe and the PhoneGap team for all the blood, sweat, and tears they have put forward into designing and building these tools, services, and community. Without them, hybrid mobile apps would not be the same.</p>
<p>Today, we are in the fortunate position that Cordova is an Open Source Software, which is entirely maintained by the community. PhoneGap originally started as an open-source project by Nitobi Software in 2008. Nitobi Software was acquired by Adobe in 2011 and shortly after donated PhoneGap to the <a href="https://apache.org/">Apache Software Foundation</a> as Cordova. Apache Cordova, which was a core tool of Adobe PhoneGap and PhoneGap Build for the past nine years, will continue to thrive as long as the health of the community remains strong and contributions are made. If you use, have used, or looking to start using Cordova, also consider contributing and taking part in this awesome community to help it grow.</p>
<p>We, the community, and contributors of Apache Cordova would like to sincerely thank Adobe and all of the PhoneGap team members for everything you have put into this hybrid mobile community and sharing Cordova to the Apache Software Foundation so it can continue to grow and prosper.</p>
<p>The Contributors of Apache Cordova</p>
</p>
<div><a href="/announcements/2020/08/14/goodbye-phonegap.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 04 Aug 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/08/04/cordova-cli-release-10.0.0.html">Cordova CLI 10.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">04 Aug 2020</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2020/08/04/cordova-cli-release-10.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>cordova 10.0.0</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova">cordova@10.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm uninstall <span class="nt">-g</span> cordova
npm <span class="nb">install</span> <span class="nt">-g</span> cordova@10.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>In addition to various improvements and fixes, this release has updated its core library.</p>
<p>The follow platforms have been updated to the latest pinning.</p>
<ul>
<li><code>cordova-android@^9.0.0</code></li>
<li><code>cordova-ios@^6.1.0</code></li>
<li><code>cordova-osx@^6.0.0</code></li>
</ul>
<p>In addition, this release has also:</p>
<ul>
<li>Removed the <code>plugin save</code> command, which had become the default behaviour since version 7.0.</li>
<li>Improved <code>cordova info</code> display.</li>
<li>Raised the minimum required NodeJS version for this release to 10.x.</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2020/08/04/cordova-cli-release-10.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 28 Jul 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/07/28/cordova-lib-release-10.0.0.html">Cordova Lib 10.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">28 Jul 2020</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2020/07/28/cordova-lib-release-10.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>cordova-lib 10.0.0</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-lib">cordova-lib@10.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>In addition to various improvements and fixes, this release has:</p>
<ul>
<li>Removed the <code>plugin save</code> command, which had become the default behaviour since version 7.0.</li>
<li>Updated the pinned platforms:
<ul>
<li>cordova-android@9.0.0</li>
<li>cordova-ios@6.1.0</li>
<li>cordova-osx@6.0.0</li>
</ul>
</li>
<li>Raised the minimum required NodeJS version for this release to 10.x.</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2020/07/28/cordova-lib-release-10.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 21 Jul 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2020/07/21/splashscreen-plugin-release.html">Splash Screen Plugin Released!</a>
</h2>
<div class="details">
<span class="date">21 Jul 2020</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2020/07/21/splashscreen-plugin-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to our Splash Screen plugin!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-plugin-splashscreen">cordova-plugin-splashscreen@6.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<h3>Splash Screen</h3>
<p>In this major release, the iOS related source code has been completely removed since it has been integrated into the core of the Cordova-iOS 6.x platform.</p>
<ul>
<li><a href="https://github.com/apache/cordova-plugin-splashscreen/pull/263">GH-263</a> breaking: remove <strong>iOS</strong> platform code from plugin repo</li>
<li><a href="https://github.com/apache/cordova-plugin-splashscreen/pull/282">GH-282</a> fix: js <code>clobber</code> only on supported platforms</li>
</ul>
</p>
<div><a href="/news/2020/07/21/splashscreen-plugin-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 18 Jul 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/howto/2020/07/18/uiwebview-warning.html">UPDATED: How to handle the 'Deprecated API Usage - UIWebView' warning while uploading to the App Store</a>
</h2>
<div class="details">
<span class="date">18 Jul 2020</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/howto/2020/07/18/uiwebview-warning.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We recently posted <a href="/howto/2020/03/18/wkwebviewonly.html">instructions</a> how to update your apps to remove all <code>UIWebView</code> references, because Apple now rejects all apps using <code>UIWebView</code>.</p>
<p>We are talking about this warning:</p>
<blockquote>
<p>ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs.</p>
</blockquote>
<p>Some things have changed and new versions of cordova-ios have been released since the last post.</p>
</p>
<div><a href="/howto/2020/07/18/uiwebview-warning.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 04 Jul 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/07/04/cordova-common-release-4.0.2.html">Cordova Common 4.0.2 Released!</a>
</h2>
<div class="details">
<span class="date">04 Jul 2020</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2020/07/04/cordova-common-release-4.0.2.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-common@4.0.2</code> was released in July 2020. This is one of the libraries used behind-the-scenes by nearly all of the Cordova tooling and provides utilities for dealing with things like <code>config.xml</code> parsing.</p>
<h2>Release Highlights</h2>
<p>The most notable fix in this patch release is the ability to update the correct app&#39;s <code>plist</code> file when multiple <code>plist</code> files are present within the project. More details can be found in the <a href="https://github.com/apache/cordova-common/pull/148">pull request</a> and <a href="https://github.com/apache/cordova-common/issues/144">original bug ticket</a>.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2020/07/04/cordova-common-release-4.0.2.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 29 Jun 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/06/29/cordova-android-9.0.0.html">Cordova Android 9.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">29 Jun 2020</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2020/06/29/cordova-android-9.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Android 9.0.0</code>! This is one of Cordova&#39;s supported platforms for building Android mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@9.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@9.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<ul>
<li>
<p><strong>Added Kotlin Support</strong></p>
<p>Kotlin is one of the newest statically typed languages for developing Android apps. It is designed to work fully with the existing language, Java.</p>
<p>By default, Cordova has Kotlin disabled but it can be enabled with <a href="https://cordova.apache.org/docs/en/latest/config_ref/index.html#preference">the <code>GradlePluginKotlinEnabled</code> preference</a> in <code>config.xml</code>.</p>
<p>Additionally, Kotlin’s coding style and version are configurable. By default, Cordova sets the coding style as <code>official</code> and uses version <code>1.3.50</code>.</p>
<p>Below is an example <code>config.xml</code> for enabling and configuring Kotlin.</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"GradlePluginKotlinEnabled"</span> <span class="na">value=</span><span class="s">"true"</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"GradlePluginKotlinCodeStyle"</span> <span class="na">value=</span><span class="s">"official"</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"GradlePluginKotlinVersion"</span> <span class="na">value=</span><span class="s">"1.3.50"</span> <span class="nt">/&gt;</span>
</code></pre></div> </div>
<p>For plugin developers, it is recommended to ensure that the Kotlin files are placed into the platforms <code>src/main/kotlin</code> directory.</p>
</li>
<li>
<p><strong>Added AndroidX Support</strong></p>
<p>AndroidX is the new and improved namespace for the Android Support Libraries. The original support libraries are no longer maintained.</p>
<p>It is recommended to use AndroidX so that your app is running the latest support libraries but, by default, Cordova has AndroidX support disabled for compatibility with existing plugins.</p>
<p>A lot of the Android supported plugins are still using the old support libraries which can not build when using the AndroidX support libraries. It is recommended to research each plugin to see if they support AndroidX before enabling this feature.</p>
<p>It is recommended for plugin developers to start migrating to support AndroidX. App developers could also use Jetifier to automatically migrates their existing third-party libraries to use AndroidX.</p>
<p>You can enable this feature by setting <a href="https://cordova.apache.org/docs/en/latest/config_ref/index.html#preference">the <code>AndroidXEnabled</code> preference</a> to <code>true</code> in <code>config.xml</code>.</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"AndroidXEnabled"</span> <span class="na">value=</span><span class="s">"true"</span> <span class="nt">/&gt;</span>
</code></pre></div> </div>
<p>If you were previously using the <a href="https://www.npmjs.com/package/cordova-plugin-androidx">cordova-plugin-androidx</a> plugin to enable AndroidX support, this plugin is no longer needed with this preference flag.</p>
<p>The <a href="https://www.npmjs.com/package/cordova-plugin-androidx-adapter">cordova-plugin-androidx-adapter</a> plugin can be used to migrate the legacy references to the new AndroidX references.</p>
</li>
<li>
<p><strong>Added Google Services Support</strong></p>
<p>To use Google APIs or Firebase services, the Gradle plugin <a href="https://developers.google.com/android/guides/google-services-plugin">Google Services</a> is required to be enabled when building your Android application.</p>
<p>For plugin developers, this can be enabled by setting to the app&#39;s <code>config.xml</code> the <code>GradlePluginGoogleServicesEnabled</code> <code>preference</code> flag. From the <code>plugin.xml</code> file, you can do this by adding the following lines:</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;config-file</span> <span class="na">target=</span><span class="s">"config.xml"</span> <span class="na">parent=</span><span class="s">"/*"</span><span class="nt">&gt;</span>
<span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"GradlePluginGoogleServicesEnabled"</span> <span class="na">value=</span><span class="s">"true"</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"GradlePluginGoogleServicesVersion"</span> <span class="na">value=</span><span class="s">"4.2.0"</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;/config-file&gt;</span>
</code></pre></div> </div>
</li>
<li>
<p><strong>Android Version Support Update</strong></p>
<ul>
<li>The default target SDK version is set to 29.</li>
<li>The minimum SDK version is set to 22.</li>
<li>The minimum supported Android version is 5.1.</li>
</ul>
<p><strong>NOTE:</strong> because Cordova has increased the minimum SDK version to 22, we <strong>no longer support or test</strong> with Android 5.0 or lower.</p>
</li>
<li>
<p><strong>Gradle and Gradle Plugin Version Support Update</strong></p>
<ul>
<li>Cordova has increased the default Gradle version to 6.5.</li>
<li>Cordova has increased the Gradle Plugin to version 4.0.0</li>
</ul>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2020/06/29/cordova-android-9.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 23 Jun 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/06/23/cordova-ios-6.1.0.html">Cordova iOS 6.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">23 Jun 2020</span>
- by
<span class="author">
<a href="https://twitter.com/dpogue">Darryl Pogue</a>
</span>
<a class="comment" href="/announcements/2020/06/23/cordova-ios-6.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova iOS 6.1.0</code>! This is Cordova&#39;s official platform for building iOS mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-ios">cordova-ios@6.1.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove ios
cordova platform add ios@6.1.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>This release contains primarily fixes for issues with the 6.0.0 release.</p>
<ul>
<li>
<p><strong>Resolve CocoaPods publishing issues</strong> <em>(since 6.0.0)</em></p>
<p>The Cordova iOS 6.0.0 release was unable to be published to CocoaPods due to issues with the Pod spec. These have been addressed and Cordova iOS 6.1.0 is available.</p>
</li>
<li>
<p><strong>Fix landscape orientation defaults</strong> <em>(since 6.0.0)</em></p>
<p>A change made in Cordova iOS 6.0.0 had the side effect of disabling landscape orientation for any apps that didn&#39;t specify an <code>Orientation</code> preference in <code>config.xml</code>. We&#39;ve reverted that change and new apps will match Xcode defaults (allowing both portrait and landscape orientations).</p>
<p>To ensure your app properly supports the orientations you want, we encourage setting <a href="https://cordova.apache.org/docs/en/latest/config_ref/index.html#preference">the <code>Orientation</code> preference</a>.</p>
</li>
<li>
<p><strong>Fix invisible SplashScreen bugs</strong> <em>(since 6.0.0)</em></p>
<p>A bug in Cordova iOS 6.0.0 would cause the splashscreen to be invisible unless a <code>BackgroundColor</code> preference was set in <code>config.xml</code>. This was not the intended behaviour, and caused a lot of confusion about not being able to interact with the webview behind the splashscreen.</p>
<p>In Cordova iOS 6.1.0, we&#39;ve fixed the splashscreen so that it will always have a background colour (defaulting to the system background colour) and so that the launch storyboard image should remain visible.</p>
<p>To customize the background colour of your app and its splashscreen, use <a href="https://cordova.apache.org/docs/en/latest/config_ref/index.html#preference">the <code>BackgroundColor</code> preference</a> in <code>config.xml</code>.</p>
</li>
<li>
<p><strong>Add support for dark mode splashscreens</strong> <em>(New Feature)</em></p>
<p>It is now possible to use optionally different splashscreen images when your app is running in dark mode. You can configure these images in <code>config.xml</code> with the <code>~dark</code> suffix (and <code>~light</code> is also supported).</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="c">&lt;!-- Default image to be used for all modes --&gt;</span>
<span class="nt">&lt;splash</span> <span class="na">src=</span><span class="s">"res/screen/ios/Default@2x~universal~anyany.png"</span> <span class="nt">/&gt;</span>
<span class="c">&lt;!-- Image to use specifically for dark mode devices --&gt;</span>
<span class="nt">&lt;splash</span> <span class="na">src=</span><span class="s">"res/screen/ios/Default@2x~universal~anyany~dark.png"</span> <span class="nt">/&gt;</span>
<span class="c">&lt;!-- Image to use specifically for light mode devices --&gt;</span>
<span class="nt">&lt;splash</span> <span class="na">src=</span><span class="s">"res/screen/ios/Default@2x~universal~anyany~light.png"</span> <span class="nt">/&gt;</span>
</code></pre></div> </div>
</li>
<li>
<p><strong>Add preference for iPad desktop layout behaviour</strong> <em>(New Feature)</em></p>
<p>iPadOS 13 defaults to using a desktop layout in webviews rather than a mobile layout. You can now control this behaviour in your apps with <a href="https://cordova.apache.org/docs/en/latest/config_ref/index.html#preference">the <code>PreferredContentMode</code> preference</a> in <code>config.xml</code>. Valid options are <code>mobile</code> and <code>desktop</code>.</p>
</li>
<li>
<p><strong>Add preference for webview window handling</strong> <em>(New Feature)</em></p>
<p>Historically, Cordova iOS has not supported the creation of new webview windows with APIs like <code>window.open</code> or links with <code>target="_blank"</code>. The default behaviour was inconsistent, with some links opening externally in Safari and some links being unclickable. There is now <a href="https://cordova.apache.org/docs/en/latest/config_ref/index.html#preference">an <code>AllowNewWindows</code> preference</a> in <code>config.xml</code> to control the behaviour of new windows within the application.</p>
<ul>
<li>
<p>When <strong>false</strong> (the default behaviour), links that would open a new window are instead opened in the same webview as if they had not requested a new window.</p>
</li>
<li>
<p>When <strong>true</strong>, links that would open a new window will create a new webview overtop of the app. This new webview provides no controls, so you must include a way to dismiss it with <code>window.close()</code>.</p>
</li>
</ul>
<p>Links that are outside the list of <a href="https://cordova.apache.org/docs/en/latest/config_ref/index.html#allow-navigation"><code>allow-navigation</code></a> URLs will continue to open in Safari.</p>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2020/06/23/cordova-ios-6.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 15 Jun 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/06/15/osx-release-6.0.0.html">Cordova OSX 6.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">15 Jun 2020</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/announcements/2020/06/15/osx-release-6.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova OSX 6.0.0</code>! This is one of Cordova&#39;s supported platforms for building macOS desktop applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-osx">cordova-osx@6.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>This version includes various dependency updates.</p>
<p>We have raised the minimum required NodeJS version for this release to 10.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2020/06/15/osx-release-6.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 13 Jun 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2020/06/13/plugins-release.html">Splash Screen and InAppBrowser plugin Released!</a>
</h2>
<div class="details">
<span class="date">13 Jun 2020</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/news/2020/06/13/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to some plugins!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-plugin-inappbrowser">cordova-plugin-inappbrowser@4.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-plugin-splashscreen">cordova-plugin-splashscreen@5.0.4</a></li>
</ul>
<h2>Release Highlights</h2>
<h3>InAppBrowser</h3>
<p>The most notable changes in this major release are:</p>
<ul>
<li>The Cordova-iOS 6.x platform removes all <code>UIWebView</code> code and this version also removes the <code>UIWebView</code> code from the InAppBrowser plugin <a href="https://github.com/apache/cordova-plugin-inappbrowser/pull/635">GH-635</a>.</li>
<li>For backwards compatibility, this plugin used to hook window.open. However, the plugin-installed hook of window.open could have unintended side effects (especially if this plugin is included only as a dependency of another plugin) and it has been removed in this release. <a href="https://github.com/apache/cordova-plugin-inappbrowser/issues/599">GH-599</a></li>
<li>The InAppBrowser plugin used to implement its own status bar. It has been removed in this release to correctly display the content of the iOS status bar without overlapping the content in the InAppBrowser on different devices. <a href="https://github.com/apache/cordova-plugin-inappbrowser/pull/656">GH-656</a></li>
</ul>
<h3>Splash Screen</h3>
<p>In the Cordova-iOS 6.x platform, the splash screen feature has been integrated into its core and no longer needs this plugin. This release prevents the plugin from being added to the iOS 6.x platform.</p>
<ul>
<li><a href="https://github.com/apache/cordova-plugin-splashscreen/pull/261">GH-261</a> chore: add <code>cordova-ios</code> requirement &lt;6.0.0</li>
</ul>
</p>
<div><a href="/news/2020/06/13/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 01 Jun 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2020/06/01/tools-release.html">Cordova Create, Common, and Xcode Released!</a>
</h2>
<div class="details">
<span class="date">01 Jun 2020</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2020/06/01/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to our tools!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-common">cordova-common@4.0.1</a></li>
<li><a href="https://www.npmjs.org/package/xcode">xcode@3.0.1</a></li>
<li><a href="https://www.npmjs.org/package/cordova-create">cordova-create@3.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<h3>cordova-common</h3>
<ul>
<li><a href="https://github.com/apache/cordova-common/pull/143">GH-143</a> fix: typo in <code>access</code> &amp; <code>allow navigation</code></li>
<li><a href="https://github.com/apache/cordova-common/pull/142">GH-142</a> fix(<code>ConfigParser</code>): <code>ImageResources</code> constructor</li>
</ul>
<h3>xcode</h3>
<ul>
<li><a href="https://github.com/apache/cordova-node-xcode/pull/109">GH-109</a> Add <code>targetName</code> to parameter to <code>getBuildProperty</code></li>
</ul>
<h3>cordova-create</h3>
<ul>
<li><a href="https://github.com/apache/cordova-create/pull/52">GH-52</a> Fix <code>isRemoteUri</code></li>
<li><a href="https://github.com/apache/cordova-create/pull/40">GH-40</a> breaking: major usability &amp; maintainability improvements
<ul>
<li>Write <code>package.json</code> with indentation of 2</li>
<li>Simplify interface of main export (§1)</li>
<li>New logic for setting attributes in <code>package.json</code> &amp; <code>config.xml</code> (§3)</li>
<li>Do not copy &quot;missing&quot; files from default template (§5)</li>
<li>Reduce number of supported template layouts (§7)</li>
<li>Drop support for linking (§8)</li>
<li>Use either <code>opts.events</code> or a no-op for logging (§4)</li>
</ul>
</li>
</ul>
</p>
<div><a href="/news/2020/06/01/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 01 Jun 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/06/01/cordova-ios-release-6.0.0.html">Cordova iOS 6.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">01 Jun 2020</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2020/06/01/cordova-ios-release-6.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova iOS 6.0.0</code>! This is Cordova&#39;s official platform for building iOS mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-ios">cordova-ios@6.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove ios
cordova platform add ios@6.0.0
</code></pre></div></div>
<p>The most notable changes in this major release are:</p>
<ul>
<li>
<p>Added Xcode 11 compatibility and bumped minimum iOS version to 11.0</p>
<p>As of April 2020, Apple requires all app store submissions to be built with Xcode 11 and target the iOS 13 SDK.</p>
<p>Apple has deprecated the <code>mediaPlaybackRequiresUserAction</code> property in iOS 8.0–9.0 and replaced it with <code>mediaTypesRequiringUserActionForPlayback</code>.
Apple has also deprecated the <code>mediaPlaybackAllowsAirPlay</code> property in iOS iOS 8.0-9.0 and replaced it with <code>allowsAirPlayForMediaPlayback</code>.</p>
<p>If you have configured any of these properties in your project&#39;s <code>config.xml</code> file, it is recommended that you update with the new preferences options <code>MediaTypesRequiringUserActionForPlayback</code> or <code>AllowsAirPlayForMediaPlayback</code>.</p>
<p>Additionally, the values for <code>MediaTypesRequiringUserActionForPlayback</code> has changed. It use to be a <code>boolean</code> value but is now a <code>string</code> value of either <code>all</code>, <code>audio</code>, <code>video</code>, or <code>none</code>.</p>
</li>
<li>
<p>Moved <code>WKWebView</code> support into Cordova-iOS and removed <code>UIWebView</code> code</p>
<p>Due to this change, the <code>cordova-plugin-wkwebview-engine</code> plugin is obsolete and will not work with this release. If you have this plugin installed, it is safe to remove with <code>cordova plugin remove cordova-plugin-wkwebview-engine</code>.</p>
<p>Additionaly, <code>WKURLSchemeHandler</code> support has been introduced with this release. Using a custom scheme to serve your app content through fixes CORS issues that exist because of the strict security policies that <code>WKWebView</code> has applied to the <code>file</code> scheme. You can easily configure your Cordova project to use a custom scheme by setting the preference options <code>scheme</code> and <code>hostname</code> in the <code>config.xml</code> file.</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"scheme"</span> <span class="na">value=</span><span class="s">"app"</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;preference</span> <span class="na">name=</span><span class="s">"hostname"</span> <span class="na">value=</span><span class="s">"localhost"</span> <span class="nt">/&gt;</span>
</code></pre></div> </div>
<p>It is important to know that with the introduction of <code>WKURLSchemeHandler</code>, iOS 10 support has been dropped.</p>
</li>
<li>
<p>Integrated <code>SplashScreen</code> plugin code &amp; replaced Launch Images with Launch Storyboards</p>
<p>If you&#39;re migrating from launch images, details on how to set up images for Launch Storyboards can be found in <a href="https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/index.html#launch-storyboard-images">the SplashScreen documentation</a>.</p>
</li>
<li>Fixed overwriting the bundle identifier when there are multiple Xcode build targets</li>
<li>
<p>Bumped minimum CocoaPods version requirements to 1.8.0</p>
<p>Since CocoaPods 1.7.0, CDN support was introduced. It was later finalized in 1.7.2 but was not configured as the default until 1.8.0. Using CDN to fetch podspecs over the traditional GitHub repo provides a huge performance enhancement. With CDN, Cordova users no longer need to wait for the CocoaPod&#39;s GH repo to be synced. Building a project with pods and a fresh CocoaPods installation takes under a minute now.</p>
<p>You can take a look at their <a href="http://blog.cocoapods.org/CocoaPods-1.8.0-beta/">demonstration video here</a> to see how fast CocoaPods has become with CDN.</p>
</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2020/06/01/cordova-ios-release-6.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 13 Apr 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2020/04/13/tools-template-release.html">Tools & Template Released!</a>
</h2>
<div class="details">
<span class="date">13 Apr 2020</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2020/04/13/tools-template-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to our tools and template!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-fetch">cordova-fetch@3.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@6.0.0</a></li>
<li><a href="https://www.npmjs.org/package/xcode">xcode@3.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-serve">cordova-serve@4.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-app-hello-world">cordova-app-hello-world@5.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>We have raised the minimum required Node.js version for all of our packages to 10.x and begun to modernize the node JavaScript to use supported ES6.</p>
<h3>cordova-fetch</h3>
<ul>
<li><a href="https://github.com/apache/cordova-fetch/pull/78">GH-78</a> Work around npm bug when uninstalling old cordova platforms</li>
<li><a href="https://github.com/apache/cordova-fetch/pull/65">GH-65</a> Save platforms and plugins to devDependencies</li>
<li><a href="https://github.com/apache/cordova-fetch/pull/65">GH-65</a> fix npm install package-name detection when a package has post-install</li>
</ul>
<h3>cordova-js</h3>
<ul>
<li><a href="https://github.com/apache/cordova-js/pull/211">GH-211</a> Improve callback error handling</li>
<li><a href="https://github.com/apache/cordova-js/pull/215">GH-215</a> Do not try to replace <code>window.navigator</code></li>
<li><a href="https://github.com/apache/cordova-js/pull/200">GH-200</a> Fix parsing of some parameter formats in <code>argscheck.checkArgs</code></li>
<li><a href="https://github.com/apache/cordova-js/pull/188">GH-188</a> Add <strong>Electron</strong> Support</li>
</ul>
<h3>xcode</h3>
<ul>
<li><a href="https://github.com/apache/cordova-node-xcode/pull/106">GH-106</a> Update build property by <code>targetname</code></li>
<li><a href="https://github.com/apache/cordova-node-xcode/pull/79">GH-79</a> feat: add new optional paramter to <code>pbxProject.addTarget</code></li>
</ul>
<h3>cordova-serve</h3>
<ul>
<li><a href="https://github.com/apache/cordova-serve/pull/30">GH-30</a> breaking: replace dependency <code>opn</code> w/ <code>open</code></li>
</ul>
<h3>cordova-app-hello-world</h3>
<ul>
<li><a href="https://github.com/apache/cordova-app-hello-world/pull/43">GH-43</a> feature: dark mode</li>
<li><a href="https://github.com/apache/cordova-app-hello-world/pull/58">GH-58</a> chore(index.html): add charset, prevent scaling, use default attributes</li>
<li><a href="https://github.com/apache/cordova-app-hello-world/pull/57">GH-57</a> Update <code>index.css</code>, fixes duplicated <code>env</code> right</li>
<li><a href="https://github.com/apache/cordova-app-hello-world/pull/55">GH-55</a> Simplify demo app JavaScript</li>
<li><a href="https://github.com/apache/cordova-app-hello-world/pull/52">GH-52</a> fix: remove unsupported hooks directory</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2020/04/13/tools-template-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 30 Mar 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/03/30/cordova-common-release-4.0.0.html">Cordova Common 4.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">30 Mar 2020</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2020/03/30/cordova-common-release-4.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-common@4.0.0</code> was released in March 2020. This is one of the libraries used behind-the-scenes by nearly all of the Cordova tooling and provides utilities for dealing with things like <code>config.xml</code> parsing.</p>
<h2>Release Highlights</h2>
<p>The most notable changes in this major release are:</p>
<ul>
<li><a href="https://github.com/apache/cordova-common/pull/94">GH-94</a> fix: <code>PluginInfoProvider</code> for scoped plugins</li>
<li><a href="https://github.com/apache/cordova-common/pull/90">GH-90</a> chore: drop node 6 and 8 support</li>
</ul>
<p>As Node.js 6.x and 8.x support has been dropped, we have raised the minimum required Node.js version for this release to 10.x.</p>
</p>
<div><a href="/announcements/2020/03/30/cordova-common-release-4.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 18 Mar 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/howto/2020/03/18/wkwebviewonly.html">How To Use 'WKWebViewOnly'</a>
</h2>
<div class="details">
<span class="date">18 Mar 2020</span>
- by
<span class="author">
<a href="https://twitter.com/niklasmaerz">Niklas Merz</a>
</span>
<a class="comment" href="/howto/2020/03/18/wkwebviewonly.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Apple started to reject apps with <code>UIWebView</code> references. You will need to update your app to fix this and this post sums up the required steps.</p>
<p>This should solve the warning after uploading the app to App Store connect:</p>
<blockquote>
<p>ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs.</p>
</blockquote>
<p>A new <code>preference</code> flag <code>WKWebViewOnly</code> was introduced to remove all <code>UIWebView</code> references from Cordova&#39;s code during compile-time. It is recommended to upgrade the <code>cordova-ios</code> platform to version <code>5.1.1</code>.</p>
</p>
<div><a href="/howto/2020/03/18/wkwebviewonly.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 08 Jan 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/01/08/inappbrowser-release-3.2.0.html">Cordova Plugin InAppBrowser 3.2.0 Released!</a>
</h2>
<div class="details">
<span class="date">08 Jan 2020</span>
- by
<span class="author">
Niklas Merz
</span>
<a class="comment" href="/announcements/2020/01/08/inappbrowser-release-3.2.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to <code>cordova-plugin-inappbrowser</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-plugin-inappbrowser">cordova-plugin-inappbrowser@3.2.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>The most notable improvements in this minor release are:</p>
<ul>
<li>The support of the <code>WKWebViewOnly</code> preference.</li>
<li>A patch for an <a href="https://github.com/apache/cordova-plugin-inappbrowser/issues/492">issue</a> with WKWebView introduced with <strong>iOS 13</strong>.</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2020/01/08/inappbrowser-release-3.2.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 06 Jan 2020 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2020/01/06/cordova-windows-release-7.0.1.html">Cordova Windows 7.0.1 Released!</a>
</h2>
<div class="details">
<span class="date">06 Jan 2020</span>
- by
<span class="author">
Christopher J. Brody
</span>
<a class="comment" href="/announcements/2020/01/06/cordova-windows-release-7.0.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released Cordova Windows version <code>7.0.1</code>! This is one of Cordova&#39;s supported platforms for building Windows applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-windows">cordova-windows@7.0.1</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove windows
cordova platform add windows@7.0.1
</code></pre></div></div>
<p>Patch release to resolve issue with path to <code>winjs</code> dependency (<a href="https://github.com/apache/cordova-windows/pull/331">#331</a>)</p>
</p>
<div><a href="/announcements/2020/01/06/cordova-windows-release-7.0.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 24 Dec 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2019/12/24/xcode-release-2.1.0.html">Cordova Node Xcode 2.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">24 Dec 2019</span>
- by
<span class="author">
Chris Brody
</span>
<a class="comment" href="/news/2019/12/24/xcode-release-2.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to <code>cordova-node-xcode</code>! This is one of the libraries used behind-the-scenes for parsing, editing, and writing xcodeproj project files.</p>
<ul>
<li><a href="https://www.npmjs.com/package/xcode">cordova-node-xcode@2.1.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>Minor release with some external contributions</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2019/12/24/xcode-release-2.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 02 Dec 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/12/02/cordova-ios-release-5.1.1.html">Cordova iOS 5.1.1 Released!</a>
</h2>
<div class="details">
<span class="date">02 Dec 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/12/02/cordova-ios-release-5.1.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova iOS 5.1.1</code>! This is Cordova&#39;s official platform for building iOS mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-ios">cordova-ios@5.1.1</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove ios
cordova platform add ios@5.1.1
</code></pre></div></div>
<p>The most notable fix in this patch release was to make the prepare step to wait for the platform add step to finish. This resolved the bug that was seen when setting the <code>WKWebViewOnly</code> flag before adding the platform.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/12/02/cordova-ios-release-5.1.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 25 Nov 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/11/25/cordova-ios-release-5.1.0.html">Cordova iOS 5.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">25 Nov 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/11/25/cordova-ios-release-5.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova iOS 5.1.0</code>! This is Cordova&#39;s official platform for building iOS mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-ios">cordova-ios@5.1.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove ios
cordova platform add ios@5.1.0
</code></pre></div></div>
<p>The most notable improvements in this minor release are:</p>
<ul>
<li>The ability to disable <code>UIWebView</code> during the compile-time.</li>
<li>Avoid locking when adding platforms on a non-synced pods repo. (CocoaPods &gt;=1.8.0)</li>
<li>Bumped the <code>minDeploymentTarget</code> to <code>10.0</code> in Podfile.</li>
</ul>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/11/25/cordova-ios-release-5.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 05 Nov 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/11/05/cordova-common-release-3.2.1.html">Cordova Common 3.2.1 Released!</a>
</h2>
<div class="details">
<span class="date">05 Nov 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/11/05/cordova-common-release-3.2.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-common 3.2.1</code> was released in November 2019. This is one of the libraries used behind-the-scenes by nearly all of the Cordova tooling and provides utilities for dealing with things like <code>config.xml</code> parsing.</p>
<h2>Release Highlights</h2>
<p>The most notable changes in this patch release are:</p>
<ul>
<li>Added the <code>.jsproj</code> extension as an XML allowed extension to be editable by the <code>config-file</code> tag.</li>
<li>Reverted <a href="https://github.com/apache/cordova-common/pull/24">GH-24</a> which caused permissions, defined by the plugin&#39;s <code>plugin.xml</code>, not to be added.</li>
</ul>
</p>
<div><a href="/announcements/2019/11/05/cordova-common-release-3.2.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 17 Sep 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/09/17/cordova-android-release-8.1.0.html">Cordova Android 8.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">17 Sep 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/09/17/cordova-android-release-8.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Android 8.1.0</code>! This is one of Cordova&#39;s supported platforms for building Android mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@8.1.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@8.1.0
</code></pre></div></div>
<p>The most notable improvement in this minor release is the support to build <code>.aab</code> bundle packages.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/09/17/cordova-android-release-8.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 27 Aug 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/08/27/cordova-electron-release-1.1.1.html">Cordova Electron 1.1.1 Released!</a>
</h2>
<div class="details">
<span class="date">27 Aug 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/08/27/cordova-electron-release-1.1.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Electron 1.1.1</code>! This is one of Cordova&#39;s supported platforms for building Electron applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-electron">cordova-electron@1.1.1</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove electron
cordova platform add electron@1.1.1
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add electron@1.1.1
</code></pre></div></div>
<p>Some of the notable fixes in this patch releae are:</p>
<ul>
<li>Builds no longer fails when icons with incorrect requirements are defined as long as one of the icons meet the requirements.</li>
<li>Prepare no longer fails when <code>package.json</code> is missing the <code>dependencies</code> property.</li>
</ul>
<p>For a quick start guide and in-depth configuration setup, please check out our <a href="https://github.com/apache/cordova-electron/blob/rel/1.1.1/DOCUMENTATION.md">Cordova Electron Documentation</a>!</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/08/27/cordova-electron-release-1.1.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 01 Jul 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/07/01/cordova-electron-release-1.1.0.html">Cordova Electron 1.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">01 Jul 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/07/01/cordova-electron-release-1.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Electron 1.1.0</code>! This is one of Cordova&#39;s supported platforms for building Electron applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-electron">cordova-electron@1.1.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove electron
cordova platform add electron@1.1.0
</code></pre></div></div>
<p><strong>To install:</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add electron@1.1.0
</code></pre></div></div>
<p>Some of the notable features that were introduced in this release are the ability to:</p>
<ul>
<li>Bundle node modules with your Electron app</li>
<li>Append overridable/top-level platform and package options</li>
<li>Append an installer icon for custom builds</li>
<li>Use splash screens</li>
</ul>
<p>As well, we have bumped the <code>cordova-common@^3.2.0</code> and <code>fs-extra@^8.0.1</code> dependencies to resolve an <code>fs-extra</code> defect that caused random build failures on the Windows environment. <a href="https://github.com/apache/cordova/issues/121">Read More</a></p>
<p>For a quick start guide and in-depth configuration setup, please check out our <a href="https://github.com/apache/cordova-electron/blob/rel/1.1.0/DOCUMENTATION.md">Cordova Electron Documentation</a>!</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/07/01/cordova-electron-release-1.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 14 Jun 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2019/06/14/common-release-3.2.0.html">Cordova-Common Release</a>
</h2>
<div class="details">
<span class="date">14 Jun 2019</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2019/06/14/common-release-3.2.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-common 3.2.0</code> was released in June 2019. This is one of the libraries used behind-the-scenes by nearly all of the Cordova tooling and provides utilities for dealing with things like <code>config.xml</code> parsing.</p>
<h2>Release Highlights</h2>
<ul>
<li>(ios) <code>plist</code> document not indented with tabs (<a href="https://github.com/apache/cordova-common/pull/69">#69</a>)</li>
<li>Update <code>fs-extra</code> to v8 (<a href="https://github.com/apache/cordova-common/pull/70">#70</a>)</li>
<li>Add example usage of <code>podspec</code> declarations (<a href="https://github.com/apache/cordova-common/pull/67">#67</a>)</li>
<li>implement <code>setPreference</code> and <code>setPlatformPreference</code> (<a href="https://github.com/apache/cordova-common/pull/63">#63</a>)</li>
<li>Catch leaked exceptions in <code>superspawn</code> and convert them to rejections (<a href="https://github.com/apache/cordova-common/pull/66">#66</a>)</li>
</ul>
</p>
<div><a href="/news/2019/06/14/common-release-3.2.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 22 Apr 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/04/22/cordova-ios-5.0.1.html">Cordova iOS 5.0.1 Released!</a>
</h2>
<div class="details">
<span class="date">22 Apr 2019</span>
- by
<span class="author">
<a href="https://twitter.com/dpogue">Darryl Pogue</a>
</span>
<a class="comment" href="/announcements/2019/04/22/cordova-ios-5.0.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova iOS 5.0.1</code> has been released! This release fixes various bugs related to Xcode 10.2 simulators and Cocoapod support.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd my_project
npx cordova platform remove ios
npx cordova platform add ios@5.0.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npx cordova platform add ios@5.0.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2019/04/22/cordova-ios-5.0.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 11 Apr 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2019/04/11/nodejs-6.x-8.x-deprecation-timeline.html">Node 6.x and 8.x Deprecation Timeline for Apache Cordova</a>
</h2>
<div class="details">
<span class="date">11 Apr 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2019/04/11/nodejs-6.x-8.x-deprecation-timeline.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Currently, all of the latest released platforms, tools, and core libraries require a minimum version of <code>node 6.x</code> to be installed. Additionally, we have added support for <code>node 10.x</code>.</p>
<p>The Node.js Foundation has reported that the End-of-Life (EOL) for version 6.x will be April 30th, 2019. Looking ahead, the Node.JS Foundation has also scheduled the deprecation of 8.x on December 31, 2019 to be aligned with the scheduled End-of-Life of OpenSSL-1.0.2.</p>
<p>Since October 30th, 2018, <code>node 10.x</code> has started its active Long Term Support ([LTS][1]) period. Thus, as <code>node 10.x</code> is the default download from <a href="https://nodejs.org/en/">Node.js</a>, we also recommend users to upgrade to the current LTS (10.x) before/by the time 8.x has reached EOL.</p>
<p>During these two distinct deprecation periods, we will prepare our tools, platforms, core libraries, and plugins to follow the Node.js Foundation reported EOL schedule.</p>
<p>We will also plan to add <code>node 12.x</code> support. Currently, <code>node 12.x</code> is pending for release on April 23rd, 2019.</p>
<p>JavaScript files in plugins themselves are unaffected since the JavaScript support for them is dependent on platform browser support. For the Electron platform, if using Node.js APIs there is a possibility of experience an effect.</p>
</p>
<div><a href="/news/2019/04/11/nodejs-6.x-8.x-deprecation-timeline.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 22 Mar 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/03/22/cordova-plugman-release-3.0.0.html">Cordova Plugman 3.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">22 Mar 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/03/22/cordova-plugman-release-3.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>plugman 3.0.0</code>! Plugman is a command line tool which we provide to install and uninstall plugins in a <a href="https://cordova.apache.org/docs/en/latest/guide/overview/index.html#development-paths">platform-centered workflow</a>.</p>
<ul>
<li><a href="https://www.npmjs.com/package/plugman">plugman@3.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm uninstall -g plugman
npm install -g plugman@3.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>In addition to various improvements and fixes, this release has removed the <code>browserify</code> and <code>fetch</code> options.</p>
<p>As NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/03/22/cordova-plugman-release-3.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 22 Mar 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/03/22/cordova-cli-release-9.0.0.html">Cordova CLI 9.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">22 Mar 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/03/22/cordova-cli-release-9.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>cordova 9.0.0</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova">cordova@9.0.0</a></li>
</ul>
<p><strong>To upgrade:</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm uninstall -g cordova
npm install -g cordova@9.0.0
</code></pre></div></div>
<h2>Release Highlights</h2>
<p>In addition to various improvements and fixes, this release has updated its core library.</p>
<p>All of the latest platform releases are available by default.</p>
<ul>
<li><code>cordova-android@^8.0.0</code></li>
<li><code>cordova-browser@^6.0.0</code></li>
<li><code>cordova-electron@^1.0.0</code></li>
<li><code>cordova-ios@^5.0.0</code></li>
<li><code>cordova-osx@^5.0.0</code></li>
<li><code>cordova-windows@^7.0.0</code></li>
</ul>
<p>Additionally, Cordova Electron, one of the newest supported platfroms, is available!</p>
<p>This release has also deprecated the <code>browserify</code>, <code>fetch</code>, and <code>copy-from</code> options.</p>
<p>As NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/03/22/cordova-cli-release-9.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 18 Mar 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/03/18/cordova-lib-release-9.0.0.html">Cordova Lib 9.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">18 Mar 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/03/18/cordova-lib-release-9.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>cordova-lib 9.0.0</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-lib">cordova-lib@9.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>In addition to various improvements and fixes, this release has removed the <code>--browserify</code> flag.</p>
<p>As NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/03/18/cordova-lib-release-9.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 18 Mar 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/03/18/cordova-electron-release-1.0.2.html">Cordova Electron 1.0.2 Released!</a>
</h2>
<div class="details">
<span class="date">18 Mar 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/03/18/cordova-electron-release-1.0.2.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Electron 1.0.2</code>! This is one of Cordova&#39;s supported platforms for building Electron applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-electron">cordova-electron@1.0.2</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To install:</strong></p>
<p>Cordova 8.x</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add cordova-electron@1.0.2
</code></pre></div></div>
<p>As original release was for <strong>Cordova CLI 9.x</strong>, the decision to support on <strong>Cordova CLI 8.x</strong> was in the post-release phase.</p>
<p>With this release, <strong>Cordova CLI 8.x</strong> now supports Electron.</p>
<p>Please note that any command that accept the platform argument, on <strong>Cordova CLI 8.x</strong>, must be <code>cordova-electron</code>.</p>
<p>Example:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova run cordova-electron --nobuild
cordova build cordova-electron
</code></pre></div></div>
<p>For a quick start guide and in-depth configuration setup, please check out our <a href="https://github.com/apache/cordova-electron/blob/rel/1.0.2/DOCUMENTATION.md">Cordova Electron Documention</a>!</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/03/18/cordova-electron-release-1.0.2.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 08 Mar 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/03/08/cordova-windows-release-7.0.0.html">Cordova Windows 7.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">08 Mar 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/03/08/cordova-windows-release-7.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Windows 7.0.0</code>! This is one of Cordova&#39;s supported platforms for building Windows applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-windows">cordova-windows@7.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove windows
cordova platform add windows@7.0.0
</code></pre></div></div>
<p>As NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/03/08/cordova-windows-release-7.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 28 Feb 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/02/28/cordova-electron-release-1.0.0.html">Cordova Electron 1.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">28 Feb 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/02/28/cordova-electron-release-1.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Electron 1.0.0</code>! This is one of Cordova&#39;s newest supported platforms for building Electron applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-electron">cordova-electron@1.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To install:</strong></p>
<p>Cordova CLI 9.x</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add electron@1.0.0
</code></pre></div></div>
<p>Some of the major key features for this release:</p>
<ul>
<li>Electron v4.0.1</li>
<li>Build Support (<code>electron-builder@^20.38.4</code>)
<ul>
<li>Linux, macOS, and Windows</li>
<li>Signing for macOS and Windows</li>
</ul>
</li>
<li>App and Installer Icon Support</li>
<li>Run Support (App Previewing)</li>
<li>Plugin Support
<ul>
<li>Plugins with browser support are also usable within Electron.</li>
</ul>
</li>
</ul>
<p>For a quick start guide and in-depth configuration setup, please check out our <a href="https://github.com/apache/cordova-electron/blob/rel/1.0.0/DOCUMENTATION.md">Cordova Electron Documention</a>!</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/02/28/cordova-electron-release-1.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 16 Feb 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/02/16/cordova-android-release-8.0.0.html">Cordova Android 8.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">16 Feb 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/02/16/cordova-android-release-8.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Android 8.0.0</code>! This is one of Cordova&#39;s supported platforms for building Android mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-android">cordova-android@8.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove android
cordova platform add android@8.0.0
</code></pre></div></div>
<p>In addition to the various improvements and bug fixes, this release also comes packed with some major features.</p>
<p>Some of the key features are:</p>
<ul>
<li>Bump Gradle to 4.10.3
<ul>
<li>Support Android SDK 28</li>
<li>Support Android Studio 3.3.0</li>
</ul>
</li>
<li>Added Adaptive Icon Support</li>
</ul>
<p>Additional, as NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/02/16/cordova-android-release-8.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 09 Feb 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/02/09/cordova-ios-release-5.0.0.html">Cordova iOS 5.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">09 Feb 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/02/09/cordova-ios-release-5.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova iOS 5.0.0</code>! This is one of Cordova&#39;s supported platforms for building iOS mobile applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-ios">cordova-ios@5.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p><strong>To upgrade:</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform remove ios
cordova platform add ios@5.0.0
</code></pre></div></div>
<p>In addition to the various improvements and bug fixes, this release also comes packed with some major features.</p>
<p>Some of the key features are:</p>
<ul>
<li><a href="https://github.com/apache/cordova-ios/pull/409">GH-409</a> <a href="https://github.com/apache/cordova-ios/pull/489">GH-489</a> Supports Xcode 10 New Build System</li>
<li><a href="https://github.com/apache/cordova-ios/pull/405">GH-405</a> Improved Cocoapods Support</li>
<li><a href="https://github.com/apache/cordova-ios/pull/395">GH-395</a> Improved Swift Support</li>
<li><a href="https://github.com/apache/cordova-ios/pull/508">GH-508</a> Improved Automatic Provisioning Profile Signing</li>
</ul>
<p>This release only supports Xcode 9 and up. It is important to know that starting March 2019, Apple requires all new apps submitted to the App store to be built with the iOS 12.1 SDK or later (Xcode 10). <a href="https://developer.apple.com/ios/submit/">source</a></p>
<p>Additional, as NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/02/09/cordova-ios-release-5.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 04 Feb 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/02/04/cordova-osx-release-5.0.0.html">Cordova OSX 5.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">04 Feb 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/02/04/cordova-osx-release-5.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova OSX 5.0.0</code>! This is one of Cordova&#39;s supported platforms for building macOS desktop applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-osx">cordova-osx@5.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>In addition to various fixes, this release also includes support for Swift 4 and the app store icon.</p>
<p>Additional, as NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/02/04/cordova-osx-release-5.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 04 Feb 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2019/02/04/cordova-browser-6.0.0.html">Cordova Browser 6.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">04 Feb 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/announcements/2019/02/04/cordova-browser-6.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released <code>Cordova Browser 6.0.0</code>! This is one of Cordova&#39;s supported platforms for building browser targeted applications.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-browser">cordova-browser@6.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>As NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/announcements/2019/02/04/cordova-browser-6.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 17 Jan 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2019/01/17/xcode-release-2.0.0.html">Cordova Node Xcode 2.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">17 Jan 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2019/01/17/xcode-release-2.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to <code>cordova-node-xcode</code>! This is one of the libraries used behind-the-scenes for parsing, editing, and writing xcodeproj project files.</p>
<ul>
<li><a href="https://www.npmjs.com/package/xcode">cordova-node-xcode@2.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>As NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2019/01/17/xcode-release-2.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 10 Jan 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2019/01/10/create-release-2.0.0.html">Cordova Create 2.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">10 Jan 2019</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2019/01/10/create-release-2.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to <code>cordova-create</code>! This is one of the libraries used behind-the-scenes for creating Cordova style projects and incudes support for Cordova templates.</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-create">cordova-create@2.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>As NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2019/01/10/create-release-2.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 03 Jan 2019 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2019/01/03/common-release-3.1.0.html">Cordova-Common Release</a>
</h2>
<div class="details">
<span class="date">03 Jan 2019</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2019/01/03/common-release-3.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-common 3.1.0</code> was released in January 2019. This is one of the libraries used behind-the-scenes by nearly all of the Cordova tooling and provides utilities for dealing with things like <code>config.xml</code> parsing.</p>
<h2>Release Highlights</h2>
<p>As NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
<p>The purpose of this release is to use real singleton objects as needed. Here are the major changes:</p>
<ul>
<li>Cordova events singleton object, using a real class (<a href="https://github.com/apache/cordova-common/pull/60">#60</a>)</li>
<li>Refactor <code>CordovaLogger</code> to singleton class (<a href="https://github.com/apache/cordova-common/pull/53">#53</a>)</li>
</ul>
<h2>cordova-common 3.0.0 release highlights</h2>
<p>Here are the major changes from the <code>cordova-common 3.0.0</code> release which was not announced before:</p>
<ul>
<li>Add <code>PluginInfo.getPodSpecs</code> method (<a href="https://github.com/apache/cordova-common/pull/48">#48</a>)</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13685">CB-13685</a> <strong>Android</strong>: Update ConfigParser for Adaptive Icons (<a href="https://github.com/apache/cordova-common/pull/26">#26</a>)</li>
<li><a href="https://issues.apache.org/jira/browse/CB-14099">CB-14099</a> <strong>osx</strong>: Fixed Resolve Config Path for OSX (<a href="https://github.com/apache/cordova-common/pull/32">#32</a>)</li>
<li><a href="https://issues.apache.org/jira/browse/CB-14108">CB-14108</a> fix incorrect count in <code>config_munge</code> in <code>ios.json</code> and <code>android.json</code> (<a href="https://github.com/apache/cordova-common/pull/24">#24</a>)</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13496">CB-13496</a> Fix greedy regex in <code>plist_helpers</code> (<a href="https://github.com/apache/cordova-common/pull/45">#45</a>)</li>
<li><a href="https://issues.apache.org/jira/browse/CB-12016">CB-12016</a> Removed <code>cordova-registry-mapper</code> dependency (<a href="https://github.com/apache/cordova-common/pull/33">#33</a>)</li>
<li><a href="https://issues.apache.org/jira/browse/CB-14166">CB-14166</a> Use <code>cross-spawn</code> for platform-independent spawning (<a href="https://github.com/apache/cordova-common/pull/50">#50</a>)</li>
<li><a href="https://issues.apache.org/jira/browse/CB-14064">CB-14064</a> Drop support for Node.js version 4 (<a href="https://github.com/apache/cordova-common/pull/15">#15</a>)</li>
</ul>
</p>
<div><a href="/news/2019/01/03/common-release-3.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 25 Dec 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/12/25/tools-release.html">Tools Released!</a>
</h2>
<div class="details">
<span class="date">25 Dec 2018</span>
- by
<span class="author">
Bryan Ellis
</span>
<a class="comment" href="/news/2018/12/25/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have just released an update to our tools!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-app-hello-world">cordova-app-hello-world@4.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-fetch">cordova-fetch@2.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@5.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-serve">cordova-serve@3.0.0</a></li>
</ul>
<h2>Release Highlights</h2>
<p>As NodeJS 4.x support has been dropped by the NodeJS team on April 30th, 2018, we have raised the minimum required NodeJS version for this release to 6.x.</p>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2018/12/25/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 21 Dec 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/12/21/xcode-1.1.0.html">Cordova node xcode 1.1.0 Patch Release</a>
</h2>
<div class="details">
<span class="date">21 Dec 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2018/12/21/xcode-1.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that Cordova node xcode <code>1.1.0</code> version was released in December 2018.</p>
<h2>Release Highlights</h2>
<p>The purpose of this patch release is to include the following updates:</p>
<ul>
<li>feat: omit objects with empty values (<a href="https://github.com/apache/cordova-node-xcode/pull/24">#24</a>)</li>
<li>Resolve issue with <code>pbxFile</code> extension (<a href="https://github.com/apache/cordova-node-xcode/pull/31">#31</a>)</li>
<li>uuid@3 update (<a href="https://github.com/apache/cordova-node-xcode/pull/40">#40</a>)</li>
<li>move <code>pegjs</code> to <code>devDependencies</code> in <code>package.json</code> (<a href="https://github.com/apache/cordova-node-xcode/pull/10">#10</a>)</li>
<li>Fixed bug where comment is not removed on removing embedded frameworks. (<a href="https://github.com/apache/cordova-node-xcode/pull/5">#5</a>)</li>
</ul>
<h2>Deprecation Note</h2>
<p>As NodeJS 4.x support ended on April 30<sup>th</sup>, 2018, we are proceeding with our <a href="http://cordova.apache.org/news/2016/10/01/0.x-4.x-deprecation-timeline.html">previously announced</a> deprecation timeline. This is possibly the last release that will support Node.js 4.x.</p>
</p>
<div><a href="/news/2018/12/21/xcode-1.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 23 Nov 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2018/11/23/cordova-android-7.1.4.html">Cordova Android 7.1.4 Released!</a>
</h2>
<div class="details">
<span class="date">23 Nov 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/announcements/2018/11/23/cordova-android-7.1.4.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that Cordova Android <code>7.1.4</code> has been released! This resolves a bug that was introduced in the recent <code>7.1.3</code> release. Thanks to our users for the quick reports on <a href="https://github.com/apache/cordova-android/issues">GitHub issues</a> and the help in identifying the problem.</p>
<p>If you have been staying on Cordova Android 6.x due to compatibility issues with 3rd party plugins, we strongly encourage you to try an update to Cordova Android <code>7.1.4</code>. Please <a href="https://github.com/apache/cordova-android/issues">file issues</a> if you run into any plugin compatibility issues with this new release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform remove android
cordova platform add android@latest
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@7.1.4
</code></pre></div></div>
</p>
<div><a href="/announcements/2018/11/23/cordova-android-7.1.4.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 21 Nov 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2018/11/21/cordova-android-7.1.3.html">Cordova Android 7.1.3 Released!</a>
</h2>
<div class="details">
<span class="date">21 Nov 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/announcements/2018/11/21/cordova-android-7.1.3.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 7.1.3</code> has been released! This release resolves a couple more issues releated to plugin compatibility.</p>
<p>If you have been staying on Cordova Android 6.x due to compatibility issues with 3rd party plugins, we strongly encourage you to try an update to Cordova Android 7.1.3. Please <a href="https://github.com/apache/cordova-android/issues">file issues</a> if you run into any plugin compatibility issues with this new release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform remove android
cordova platform add android@latest
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@7.1.3
</code></pre></div></div>
</p>
<div><a href="/announcements/2018/11/21/cordova-android-7.1.3.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 07 Nov 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2018/11/07/cordova-android-7.1.2.html">Cordova Android 7.1.2 Released!</a>
</h2>
<div class="details">
<span class="date">07 Nov 2018</span>
- by
<span class="author">
<a href="https://twitter.com/dpogue">Darryl Pogue</a>
</span>
<a class="comment" href="/announcements/2018/11/07/cordova-android-7.1.2.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 7.1.2</code> has been released! This release fixes various bugs releated to gradle repositories and plugin compatibility.</p>
<p>If you have been staying on Cordova Android 6.x due to compatibility issues with 3rd party plugins, we strongly encourage you to try an update to Cordova Android 7.1.2. Please <a href="https://github.com/apache/cordova-android/issues">file issues</a> if you run into any plugin compatibility issues with this new release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform remove android
cordova platform add android@7.1.2
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@7.1.2
</code></pre></div></div>
</p>
<div><a href="/announcements/2018/11/07/cordova-android-7.1.2.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sun, 07 Oct 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/10/07/cordova-cli-8.1.2.html">Cordova-CLI 8.1.2 Patch Release</a>
</h2>
<div class="details">
<span class="date">07 Oct 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2018/10/07/cordova-cli-8.1.2.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that Cordova CLI <code>8.1.2</code> patch version was released in October 2018.</p>
<h2>Release Highlights</h2>
<p>The purpose of this patch release is to include <code>cordova-lib@8.1.1</code> bugfix update as follows:</p>
<ul>
<li>Updated <code>cordova-lib@8.1.1</code> dependency to reintroduce <code>xcode</code> and other dependencies that were removed in <code>cordova-lib@8.1.0</code> minor release (<a href="https://github.com/apache/cordova-lib/issues/706">GH-706</a>)</li>
</ul>
<h2>Deprecation Note</h2>
<p>As NodeJS 4.x support ended on April 30<sup>th</sup>, 2018, we are proceeding with our <a href="http://cordova.apache.org/news/2016/10/01/0.x-4.x-deprecation-timeline.html">previously announced</a> deprecation timeline. This is possibly the last release that will support Node.js 4.x.</p>
</p>
<div><a href="/news/2018/10/07/cordova-cli-8.1.2.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 05 Oct 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/10/05/cordova-lib-8.1.1.html">Cordova-lib Release</a>
</h2>
<div class="details">
<span class="date">05 Oct 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2018/10/05/cordova-lib-8.1.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-lib 8.1.1</code> was released in October 2018.</p>
<h2>Release Highlights</h2>
<p>The purpose of this release is to resolve possible dependency breakage that was introduced in version <code>8.1.0</code>, as reported in <a href="https://github.com/apache/cordova-lib/issues/706">GH-706</a>. Here are the important changes:</p>
<ul>
<li><a href="https://github.com/apache/cordova-lib/pull/708">GH-708</a> reintroduce <code>xcode</code> dependency to to avoid breaking plugins such as <code>branch-cordova-sdk</code> before next major release</li>
<li><a href="https://github.com/apache/cordova-lib/pull/708">GH-708</a> reintroduce other dependencies that were dropped in version <code>8.1.0</code> to better ensure that any other plugins or applications using <code>requireCordovaModule</code> would not be broken by a minor release upgrade</li>
</ul>
<h2>Deprecation Note</h2>
<p>As NodeJS 4.x support ended on April 30<sup>th</sup>, 2018, we are proceeding with our <a href="http://cordova.apache.org/news/2016/10/01/0.x-4.x-deprecation-timeline.html">previously announced</a> deprecation timeline. This is probably the last release that will support NodeJS 4.x.</p>
</p>
<div><a href="/news/2018/10/05/cordova-lib-8.1.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 04 Oct 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2018/10/04/cordova-windows-6.0.1.html">Cordova Windows 6.0.1 Released!</a>
</h2>
<div class="details">
<span class="date">04 Oct 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/announcements/2018/10/04/cordova-windows-6.0.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 6.0.1</code> has been released! This release fixes various bugs releated to the previous <code>cordova-windows@6.0.0</code> release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm windows
cordova platform add windows@latest
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@6.0.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2018/10/04/cordova-windows-6.0.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 27 Sep 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/09/27/cordova-cli-8.1.1.html">Cordova-CLI Hotfix Release</a>
</h2>
<div class="details">
<span class="date">27 Sep 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2018/09/27/cordova-cli-8.1.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that Cordova CLI <code>8.1.1</code> hotfix was released in September 2018.</p>
<h2>Release Highlights</h2>
<p>The purpose of this hotfix release is to resolve a couple items that were broken in the Cordova CLI <code>8.1.0</code> release:</p>
<ul>
<li><a href="https://github.com/apache/cordova-cli/issues/339">GH-339</a> Fix bin/cordova on Node.js 4</li>
<li><a href="https://github.com/apache/cordova-cli/issues/337">GH-337</a> Revert messing with transitive dependencies in <code>npm-shrinkwrap.json</code> (re-introduces a <em>low-severity</em> <code>npm audit</code> warning)</li>
</ul>
<h2>Deprecation Note</h2>
<p>As NodeJS 4.x support ended on April 30<sup>th</sup>, 2018, we are proceeding with our <a href="http://cordova.apache.org/news/2016/10/01/0.x-4.x-deprecation-timeline.html">previously announced</a> deprecation timeline. This is probably the last release that will support NodeJS 4.x.</p>
</p>
<div><a href="/news/2018/09/27/cordova-cli-8.1.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 26 Sep 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/09/26/cordova-cli-8.1.0.html">Cordova-CLI Release</a>
</h2>
<div class="details">
<span class="date">26 Sep 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2018/09/26/cordova-cli-8.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that Cordova CLI <code>8.1.0</code> was released in September 2018.</p>
<h2>Release Highlights</h2>
<p>The purpose of this release is to resolve <code>npm audit</code> issues, use recent releases of cordova-android and cordova-windows, and include some other recent updates. Here are the important changes:</p>
<ul>
<li>README.md fixes</li>
<li><a href="https://github.com/apache/cordova-cli/pull/333">GH-333</a> Update to use <code>cordova-lib@8.1.0</code></li>
<li><a href="https://github.com/apache/cordova-cli/pull/295">GH-295</a> Proper error code and message when failing</li>
<li><a href="https://github.com/apache/cordova-cli/pull/296">GH-296</a> Remove leftover makeshift benchmarking code</li>
<li><a href="https://github.com/apache/cordova-cli/pull/296">GH-296</a> Use multi-line comment for license headers</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13772">CB-13772</a> print version numbers correctly in cordova requirements <a href="https://github.com/apache/cordova-cli/pull/291">GH-291</a></li>
<li><a href="https://github.com/apache/cordova-cli/pull/307">GH-307</a> Remove outdated docs translations</li>
<li><a href="https://github.com/apache/cordova-cli/pull/306">GH-306</a> Remove mentions of &#39;cordova plugin search&#39; from docs</li>
<li><a href="https://github.com/apache/cordova-cli/pull/312">GH-312</a> Update ESLint and fix linting errors</li>
<li><a href="https://github.com/apache/cordova-cli/pull/312">GH-312</a> Update dependencies</li>
<li><a href="https://github.com/apache/cordova-cli/issues/300">GH-300</a> Update <code>insight</code> to resolve <code>npm audit</code> warning</li>
</ul>
<h2>Deprecation Note</h2>
<p>As NodeJS 4.x support ended on April 30<sup>th</sup>, 2018, we are proceeding with our <a href="http://cordova.apache.org/news/2016/10/01/0.x-4.x-deprecation-timeline.html">previously announced</a> deprecation timeline. This is probably the last release that will support NodeJS 4.x.</p>
</p>
<div><a href="/news/2018/09/26/cordova-cli-8.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 17 Sep 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/09/17/cordova-lib-8.1.0.html">Cordova-lib Release</a>
</h2>
<div class="details">
<span class="date">17 Sep 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2018/09/17/cordova-lib-8.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-lib 8.1.0</code> was released in September 2018.</p>
<h2>Release Highlights</h2>
<p>The purpose of this release is to resolve <code>npm audit</code> issues, use recent releases of cordova-android and cordova-windows, and include some other recent updates. Here are the important changes:</p>
<ul>
<li><a href="https://github.com/apache/cordova-lib/pull/691">GH-691</a> update to use cordova-windows@~6.0.x by default</li>
<li><a href="https://github.com/apache/cordova-lib/pull/646">GH-646</a> Update <strong>Android</strong> platform to latest release</li>
<li><a href="https://issues.apache.org/jira/browse/CB-14148">CB-14148</a> remove nonsense &quot;www&quot; platform from Cordova listing (<a href="https://github.com/apache/cordova-lib/pull/620">GH-620</a>)</li>
<li><a href="https://issues.apache.org/jira/browse/CB-14243">CB-14243</a> change dash to underscore for save-exact key reference (<a href="https://github.com/apache/cordova-lib/pull/631">GH-631</a>)</li>
<li><a href="https://github.com/apache/cordova-lib/pull/630">GH-630</a> Improve plugman/uninstall.js messages</li>
<li><a href="https://github.com/apache/cordova-lib/pull/621">GH-628</a> Fix promise handling when removing multiple plugins</li>
<li><a href="https://issues.apache.org/jira/browse/CB-14033">CB-14033</a> Support symbolic dir links on <strong>Windows</strong> (<a href="https://github.com/apache/cordova-lib/pull/621">GH-621</a>)</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13055">CB-13055</a> Fold all fetch options to <code>true</code> (<a href="https://github.com/apache/cordova-lib/pull/624">GH-624</a>)</li>
<li><a href="https://github.com/apache/cordova-lib/pull/617">GH-617</a> Set the fetch option to true in plugman</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13532">CB-13532</a> Find plugins in devDependencies</li>
<li><a href="https://github.com/apache/cordova-lib/pull/611">GH-611</a> Fix ElementTree error about unclosed XML tag</li>
<li><a href="https://github.com/apache/cordova-lib/pull/611">GH-611</a> Dependency cleanup - update and remove several dependencies</li>
<li><a href="https://github.com/apache/cordova-lib/pull/693">GH-693</a> Add <strong>browser</strong> default engine</li>
</ul>
<h2>Deprecation Note</h2>
<p>As NodeJS 4.x support ended on April 30<sup>th</sup>, 2018, we are proceeding with our <a href="http://cordova.apache.org/news/2016/10/01/0.x-4.x-deprecation-timeline.html">previously announced</a> deprecation timeline. This is probably the last release that will support NodeJS 4.x.</p>
</p>
<div><a href="/news/2018/09/17/cordova-lib-8.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 17 Sep 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/09/17/cordova-fetch-1.3.1.html">Cordova-fetch Release</a>
</h2>
<div class="details">
<span class="date">17 Sep 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2018/09/17/cordova-fetch-1.3.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-fetch 1.3.1</code> was released in September 2018.</p>
<h2>Release Highlights</h2>
<p>The purpose of this release is to resolve the project URL in <code>package.json</code> and include a few minor bug fixes. Here are the important changes:</p>
<ul>
<li><a href="https://github.com/apache/cordova-fetch/pull/20">GH-20</a> Fix repo url in <code>package.json</code></li>
<li><a href="https://issues.apache.org/jira/browse/CB-13503">CB-13503</a> fix trimID bug when using file:path/to/plugin (<a href="https://github.com/apache/cordova-fetch/pull/13">GH-13</a>)</li>
</ul>
<h2>Deprecation Note</h2>
<p>As NodeJS 4.x support ended on April 30<sup>th</sup>, 2018, we are proceeding with our <a href="http://cordova.apache.org/news/2016/10/01/0.x-4.x-deprecation-timeline.html">previously announced</a> deprecation timeline. This is probably the last release that will support NodeJS 4.x.</p>
</p>
<div><a href="/news/2018/09/17/cordova-fetch-1.3.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 14 Aug 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2018/08/14/cordova-osx-4.0.2.html">Cordova OSX (macOS) 4.0.2 Released!</a>
</h2>
<div class="details">
<span class="date">14 Aug 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/announcements/2018/08/14/cordova-osx-4.0.2.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova OSX 4.0.2</code> (for macOS) has been released! This release fixes various bugs releated to the previous <code>cordova-osx@4.0.1</code> release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm osx
cordova platform add osx@latest
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add osx@4.0.2
</code></pre></div></div>
</p>
<div><a href="/announcements/2018/08/14/cordova-osx-4.0.2.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 10 Aug 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2018/08/10/cordova-browser-5.0.4.html">Cordova browser 5.0.4 Released!</a>
</h2>
<div class="details">
<span class="date">10 Aug 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/announcements/2018/08/10/cordova-browser-5.0.4.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova browser 5.0.4</code> has been released! This release fixes various bugs releated to the previous <code>cordova-browser@5.0.3</code> release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm browser
cordova platform add browser@latest
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add browser@5.0.4
</code></pre></div></div>
</p>
<div><a href="/announcements/2018/08/10/cordova-browser-5.0.4.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 01 Aug 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/08/01/future-cordova-ios-webview.html">Breaking changes coming to the iOS WebView in Apache Cordova</a>
</h2>
<div class="details">
<span class="date">01 Aug 2018</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/news/2018/08/01/future-cordova-ios-webview.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>With the announcement of the iOS 12 beta SDK at Apple’s WWDC 2018, came the news that UIWebView, the webview originally bundled with the first iOS SDK, has been <a href="https://developer.apple.com/documentation/uikit/uiwebview">deprecated</a>. What this means for iOS developers is that sometime in the future, Apple will remove UIWebView from their SDK, and developers should migrate to using the WKWebView component starting right now.</p>
<h2>WebView Engine Plugins</h2>
<p>Cordova iOS, starting with version 4, has anticipated this by moving the webview that is used by the platform into a plugin. The default webview that is used is still UIWebView, but you had the option to use WKWebView instead, with the <a href="https://github.com/apache/cordova-plugin-wkwebview-engine">cordova-plugin-wkwebview-engine</a> plugin. Both the UIWebView and WKWebView webviews are plugins themselves, with the former included in the cordova-ios platform.</p>
<p><img src="/static/img/blog/2018/arch-webview-engine.png" alt="Figure 1" /></p>
<h2>Future Cordova iOS with WKWebView</h2>
<p>Starting with a future Cordova iOS release, we will ship both webview plugins with the cordova-ios platform, to enable developers to test and transition users to the new WKWebView component. This future Cordova iOS version will ship with a bridge webview plugin that can switch usage of the webview plugin used at runtime. Previously, you could only choose which webview you would use at build time.</p>
<p><img src="/static/img/blog/2018/bridge-webview-engine.png" alt="Figure 2" /></p>
</p>
<div><a href="/news/2018/08/01/future-cordova-ios-webview.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 26 Jul 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2018/07/26/cordova-ios-4.5.5.html">Cordova iOS 4.5.5 Released!</a>
</h2>
<div class="details">
<span class="date">26 Jul 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/announcements/2018/07/26/cordova-ios-4.5.5.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova iOS 4.5.5</code> has been released! This release fixes various bugs releated to the previous <code>cordova-ios@4.5.4</code> release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@latest
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.5.5
</code></pre></div></div>
</p>
<div><a href="/announcements/2018/07/26/cordova-ios-4.5.5.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 23 Jul 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/07/23/common-release-2.2.5.html">Cordova-Common Release</a>
</h2>
<div class="details">
<span class="date">23 Jul 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2018/07/23/common-release-2.2.5.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-common 2.2.5</code> was released in July 2018. This is one of the libraries used behind-the-scenes by nearly all of the Cordova tooling and provides utilities for dealing with things like config.xml parsing.</p>
<h2>Release Highlights</h2>
<p>The purpose of this release is to resolve an issue with NodeJS 4.x which is now deprecated. Here is the major change:</p>
<ul>
<li><code>package.json</code> use plist@2 to avoid warning on NodeJS 4.x</li>
</ul>
<h2>Deprecation Note</h2>
<p>As NodeJS 4.x support ended on April 30<sup>th</sup>, 2018, we are proceeding with our <a href="http://cordova.apache.org/news/2016/10/01/0.x-4.x-deprecation-timeline.html">previously announced</a> deprecation timeline. This is probably the last release that will support NodeJS 4.x.</p>
</p>
<div><a href="/news/2018/07/23/common-release-2.2.5.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 18 Jul 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2018/07/18/cordova-android-7.1.1.html">Cordova Android 7.1.1 Released!</a>
</h2>
<div class="details">
<span class="date">18 Jul 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/announcements/2018/07/18/cordova-android-7.1.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 7.1.1</code> has been released! This release fixes various bugs releated to the previous <code>cordova-android@7.1.0</code> release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform remove android
cordova platform add android@7.1.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@7.1.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2018/07/18/cordova-android-7.1.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 26 Jun 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/06/26/cordova-js-release-4.2.4.html">Cordova-JS release</a>
</h2>
<div class="details">
<span class="date">26 Jun 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2018/06/26/cordova-js-release-4.2.4.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-js 4.2.4</code> has been released. This is the source of the JavaScript code in <code>cordova.js</code> used in each of the Cordova platform implementations.</p>
<h2>Release Highlights</h2>
<p>The purpose of this release is to include a recent logging update with internal <code>npm audit</code> messages resolved in the package build. Here are the major changes:</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-9366">CB-9366</a> log <code>error.stack</code> data</li>
<li><a href="https://issues.apache.org/jira/browse/CB-14145">CB-14145</a> <code>package.json</code> resolve <code>npm audit</code> warnings in <code>devDependencies</code> (for build and test scripts)</li>
<li><a href="https://issues.apache.org/jira/browse/CB-14155">CB-14155</a> fix btest build target (by using <code>express</code> instead of <code>connect</code> in <code>devDependencies</code>)</li>
<li>Other internal test fixes</li>
</ul>
</p>
<div><a href="/news/2018/06/26/cordova-js-release-4.2.4.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 19 Jun 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/06/19/common-release-2.2.4.html">Cordova-Common Release</a>
</h2>
<div class="details">
<span class="date">19 Jun 2018</span>
- by
<span class="author">
<a href="https://twitter.com/brodybits">Chris Brody</a>
</span>
<a class="comment" href="/news/2018/06/19/common-release-2.2.4.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-common 2.2.4</code> has been released. This is one of the libraries used behind-the-scenes by nearly all of the Cordova tooling and provides utilities for dealing with things like config.xml parsing.</p>
<h2>Release Highlights</h2>
<p>The purpose of this release is to resolve issues with dependencies on cordova-ios@4. Here are the major changes:</p>
<ul>
<li>Revert change to use strip-bom package to strip BOM</li>
<li>Revert change to update dependencies in package.json (needed to resolve issues with cordova-ios@4) but keep using plist@^3.0.1 to avoid <code>npm audit</code> issue</li>
</ul>
<h2>Deprecation Note</h2>
<p>As NodeJS 4.x support ended on April 30<sup>th</sup>, 2018, we are proceeding with our <a href="http://cordova.apache.org/news/2016/10/01/0.x-4.x-deprecation-timeline.html">previously announced</a> deprecation timeline. This is probably the last release that will support NodeJS 4.x.</p>
</p>
<div><a href="/news/2018/06/19/common-release-2.2.4.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 04 Jun 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/06/04/common-release.html">Cordova-Common Release</a>
</h2>
<div class="details">
<span class="date">04 Jun 2018</span>
- by
<span class="author">
<a href="https://twitter.com/dpogue">Darryl Pogue</a>
</span>
<a class="comment" href="/news/2018/06/04/common-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>cordova-common 2.2.3</code> has been released. This is one of the libraries used behind-the-scenes by nearly all of the Cordova tooling and provides utilities for dealing with things like config.xml parsing.</p>
<h2>Release Highlights</h2>
<p>The purpose of this release was primarily to bring some dependencies up to date, but there were also a handful of small bugfixes:</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-13979">CB-13979</a> More consistency for <code>config.xml</code> lookups</li>
<li><a href="https://issues.apache.org/jira/browse/CB-11691">CB-11691</a> Fix for modifying binary plists</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13770">CB-13770</a> Warn when <code>&lt;edit-config&gt;</code> or <code>&lt;config-file&gt;</code> not found</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13744">CB-13744</a> Recognize storyboards as XML files</li>
</ul>
<h2>Deprecation Note</h2>
<p>As NodeJS 4.x support ended on April 30<sup>th</sup>, 2018, we are proceeding with our <a href="http://cordova.apache.org/news/2016/10/01/0.x-4.x-deprecation-timeline.html">previously announced</a> deprecation timeline. This is probably the last release that will support NodeJS 4.x.</p>
</p>
<div><a href="/news/2018/06/04/common-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 16 Apr 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/04/16/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">16 Apr 2018</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2018/04/16/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-pluin-vibration@3.1.0</li>
<li>cordova-plugin-statusbar@2.4.2</li>
<li>cordova-plugin-media-capture@3.0.2</li>
<li>cordova-plugin-inappbrowser@3.0.0</li>
<li>cordova-plugin-globalization@1.11.0</li>
<li>cordova-plugin-device@2.0.2</li>
<li>cordova-plugin-camera@4.0.3</li>
<li>cordova-plugin-battery-status@2.0.2</li>
<li>cordova-plugin-device-motion@2.0.1</li>
<li>cordova-plugin-device-orientation@2.0.1</li>
</ul>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera
cordova plugin add cordova-plugin-camera@latest
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2018/04/16/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 27 Feb 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2018/02/27/cordova-windows-6.0.0.html">Cordova Windows 6.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">27 Feb 2018</span>
- by
<span class="author">
<a href="https://twitter.com/Sujan">Jan Piotrowski</a>
</span>
<a class="comment" href="/announcements/2018/02/27/cordova-windows-6.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce the release of <code>cordova-windows 6.0.0</code>.</p>
<p>This is a major release that changes functionality you might rely on, so please make sure to read the following list of changes:</p>
<h2>Changes</h2>
<ul>
<li><strong>Windows 10 / UWP</strong> builds are now default, meaning <code>cordova build windows</code> will now build a Windows 10 UWP app by default.<br />
Windows (Phone) 8.1 is still supported, of course, just use <code>cordova build windows -- --appx=8.1-win</code>, <code>cordova build windows -- --appx=8.1-phone</code> or an equivalent configuration option.</li>
<li>You can now build apps with a current installation of <strong>Visual Studio 2017</strong> (<code>15.5.x</code> at the time of writing) without any additional configuration or hacks (like the environment variable <code>VSINSTALLDIR</code> that was required for 5.0.0). (Note: <a href="https://docs.microsoft.com/en-us/visualstudio/productinfo/vs2017-compatibility-vs#windows-store-and-windows-phone-apps">Visual Studio 2017 doesn&#39;t support Windows 8.1 apps anymore</a>, so you can only build these apps with Visual Studio 2015 installed.)</li>
<li>New <strong>ENV variable <code>MSBUILDDIR</code></strong> allows to directly configure the MSBuild Tools to be used to build the app. While <code>VSINSTALLDIR</code> always has been a hack that accidentally also worked to switch between different MSBuildTools versions, we now make this functionality explicit: Just set the ENV var to a your desired MSBuild folder (e.g. <code>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin</code> or <code>C:\Program Files (x86)\MSBuild\14.0\bin\</code>) and it will be used to build your project.
<ul>
<li>If you have Visual Studio 2017 and Visual Studio 2015 installed at the same time, the normal logic would always choose Visual Studio 2017&#39;s MSBuild 15 - and fail on a Windows (Phone) 8.1 project. If you set the environment variable to MSBuild 14, it can successfully build your 8.1 apps.</li>
<li>If the supplied path is invalid or doesn&#39;t contain a working MSBuild, the normal MSBuild selection logic will be triggered</li>
</ul>
</li>
<li>Fixes several bugs</li>
</ul>
<h2>Installation</h2>
<p>As usual, this new version will be added as the default <code>cordova-windows</code> version for <code>cordova platform add windows</code> only with the next release of Cordova CLI. Until then, please use these commands to remove and re-add the <code>windows</code> platform:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform rm windows
cordova platform add windows@6.0.0
</code></pre></div></div>
<h2>Known limitations</h2>
<p>As it&#39;s often the case, the <code>6.0.0</code> release of cordova-windows is not perfect and has some known limitations:</p>
<ul>
<li>If you only have Visual Studio 2017 installed on your machine, you can not build Windows (Phone) 8.1 apps.</li>
<li>As with earlier versions, Windows 10 Mobile emulators are not supported by the CLI but require Visual Studio to be used to build the app</li>
<li>Some <a href="https://github.com/apache/cordova-windows/issues/266">build</a> and <a href="https://github.com/apache/cordova-windows/issues/267">requirements error messages</a> are not optimal</li>
</ul>
<h2>Feedback</h2>
<p>If you encounter problems with this new version, you can use the <a href="https://github.com/apache/cordova-windows/issues">GitHub issues of the <code>cordova-windows</code> repository</a> to do so now.</p>
<h2>The future of <code>cordova-windows</code></h2>
<p>Working on this update reminded us how much code there is to support other platform variants besides Windows 10 Desktop / UWP, specifically Windows 8.1 and Windows Phone 8.1 but also Windows 10 Mobile.</p>
<p>As Microsoft recently ended mainstream support for all <strong>Windows 8.1</strong> variants, total market share recedes below 6% and Visual Studio 2017 doesn&#39;t support 8.1 development anymore, we don&#39;t expect any future changes that would require updates to <code>cordova-windows</code>&#39; 8.1 support. Same for <strong>Windows 10 Mobile</strong>, which is not under active development by Microsoft anymore and will not receive any other updates than security fixes.</p>
<p>Because of that, we decided to <strong>deprecate all &quot;mobile&quot; and &quot;phone&quot; build targets of <code>cordova-windows</code></strong>. In the near future, we will release a <code>7.0.0</code> version that will remove support for those platform variants and focus on Windows 10 UWP - which will greatly reduce complexity and simplify future maintenance.<br />
<code>cordova-windows 6.0.0</code> with support for these platforms, of course, will stay available and receive bugfixes if necessary (Similar to how <code>cordova-windows@4</code> was the last version to support Windows 8.0).</p>
<p>Please tell us in the comments to this blog post if you have any objections or comments to these plans.</p>
</p>
<div><a href="/announcements/2018/02/27/cordova-windows-6.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 26 Feb 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2018/02/26/cordova-android-7.1.0.html">Cordova Android 7.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">26 Feb 2018</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2018/02/26/cordova-android-7.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 7.1.0</code> has been released! This release fixes various bugs releated to the previous <code>cordova-android@7.0.0</code> release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform remove android
cordova platform add android@7.1.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@7.1.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2018/02/26/cordova-android-7.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 02 Feb 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/howto/2018/02/02/cordova-simulate.html">A Better Way to Exercise Cordova Plugins</a>
</h2>
<div class="details">
<span class="date">02 Feb 2018</span>
- by
<span class="author">
<a href="https://twitter.com/johnwargo">John M. Wargo</a>
</span>
<a class="comment" href="/howto/2018/02/02/cordova-simulate.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Cordova developers have several ways to test and debug their Cordova applications. For functional testing, developers use emulators, simulators, and physical devices. Devices can be on-premises, or there are many cloud offerings available as well. There&#39;s even great tools you can use to debug your applications such as the web app debugging capabilities of Chrome and Safari, as well as the excellent debugging capabilities of Microsoft&#39;s Visual Studio Code extension for Apache Cordova.</p>
<p>For debugging plugins, or debugging applications that utilize Cordova plugins, things aren&#39;t that bad. For most plugins, I imagine that any physical device has whatever&#39;s needed to work with a plugin, unless the plugin requires some external hardware device or has other requirements that aren&#39;t by every device. For several of the core Cordova plugins, the device emulators and simulators expose capabilities that enable testers to simulate things like the camera, accelerometer, compass, and other device-side capabilities (although, surprisingly, early iOS simulators didn&#39;t support camera simulation).</p>
<p>When it comes to exercising all the capabilities of a plugin, especially simulating error conditions so you can tell how the app responds, it gets complicated. Developers often find themselves hacking away at plugin code, either mocking up simulation scenarios, or manually changing the behavior of the plugin during testing. In many cases, developers must manually force error conditions in their plugins so they can validate error checking within their app. I haven&#39;t written many Cordova plugins, but in the little work I have done, I&#39;ve wished that there was a better way. Well, it turns out that there is.</p>
</p>
<div><a href="/howto/2018/02/02/cordova-simulate.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 29 Jan 2018 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2018/01/29/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">29 Jan 2018</span>
- by
<span class="author">
<a href="https://twitter.com/surajpindoria">Suraj Pindoria</a>
</span>
<a class="comment" href="/news/2018/01/29/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-camera@4.0.2</li>
<li>cordova-plugin-file-transfer@1.7.1</li>
<li>cordova-plugin-inappbrowser@2.0.2</li>
<li>cordova-plugin-media@5.0.2</li>
<li>cordova-plugin-splashscreen@5.0.2</li>
</ul>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera
cordova plugin add cordova-plugin-camera@latest
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2018/01/29/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 30 Dec 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/12/30/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">30 Dec 2017</span>
- by
<span class="author">
<a href="https://twitter.com/macdonst">Simon MacDonald</a>
</span>
<a class="comment" href="/news/2017/12/30/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status@2.0.1</li>
<li>cordova-plugin-camera@4.0.1</li>
<li>cordova-plugin-device@2.0.1</li>
<li>cordova-plugin-dialogs@2.0.1</li>
<li>cordova-plugin-file@6.0.1</li>
<li>cordova-plugin-geolocation@4.0.1</li>
<li>cordova-plugin-inappbrowser@2.0.1</li>
<li>cordova-plugin-media@5.0.1</li>
<li>cordova-plugin-media-capture@3.0.1</li>
<li>cordova-plugin-network-information@2.0.1</li>
<li>cordova-plugin-screen-orientation@3.0.1</li>
<li>cordova-plugin-splashscreen@5.0.1</li>
<li>cordova-plugin-statusbar@2.4.1</li>
<li>cordova-plugin-vibration@3.0.1</li>
</ul>
<p>Our last plugin release had an issue which made it impossible to install from npm. These point releases of the plugins fix the bug allowing you to install from npm as well as git url.</p>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera
cordova plugin add cordova-plugin-camera@latest
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2017/12/30/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 20 Dec 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/12/20/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">20 Dec 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2017/12/20/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status@2.0.0</li>
<li>cordova-plugin-camera@4.0.0</li>
<li>cordova-plugin-contacts@3.0.1</li>
<li>cordova-plugin-device@2.0.0</li>
<li>cordova-plugin-dialogs@2.0.0</li>
<li>cordova-plugin-file@6.0.0</li>
<li>cordova-plugin-geolocation@4.0.0</li>
<li>cordova-plugin-globalization@1.0.9</li>
<li>cordova-plugin-inappbrowser@2.0.0</li>
<li>cordova-plugin-media@5.0.0</li>
<li>cordova-plugin-media-capture@3.0.0</li>
<li>cordova-plugin-network-information@2.0.0</li>
<li>cordova-plugin-splashscreen@5.0.0</li>
<li>cordova-plugin-statusbar@2.4.0</li>
<li>cordova-plugin-screen-orientation@3.0.0</li>
<li>cordova-plugin-vibration@3.0.0</li>
</ul>
<p>In the recent <code>cordova@8</code> tools release, we dropped support for deprecated platforms (Ubuntu, BlackBerry10, Windows Phone 8, FirefoxOS). The main focus of this plugins release was to drop support for those platforms as well. That is why many of the plugins have had major version increases.</p>
<p><code>cordova-plugin-contacts</code> and <code>cordova-plugin-globalization</code> have officially been deprecated. Read about our decision to deprecate <code>cordova-plugin-contacts</code> at https://cordova.apache.org/news/2017/11/27/Deprecation-of-cordova-contacts-plugin.html. For <code>cordova-plugin-globalization</code>, we have written a migration guide over to the built-in <a href="https://www.ecma-international.org/ecma-402/1.0/">ECMA Internationalization API</a> at https://cordova.apache.org/news/2017/11/20/migrate-from-cordova-globalization-plugin.html.</p>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera
cordova plugin add cordova-plugin-camera@latest
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2017/12/20/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 18 Dec 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/12/18/tools-release.html">Tools Released!</a>
</h2>
<div class="details">
<span class="date">18 Dec 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2017/12/18/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We just released an update to our tools!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova">cordova@8.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@8.0.0</a></li>
<li><a href="https://www.npmjs.org/package/plugman">cordova-plugman@2.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-fetch">cordova-fetch@1.3.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-common">cordova-common@2.2.1</a></li>
<li><a href="https://www.npmjs.org/package/cordova-create">cordova-create@1.1.2</a></li>
</ul>
<h2>Release Highlights</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-13056">CB-13056</a>: removed support for <strong>WebOS</strong>, <strong>BlackBerry10</strong>, and <strong>Ubuntu</strong></li>
<li><a href="https://issues.apache.org/jira/browse/CB-13057">CB-13057</a>: removed <code>cordova save</code> command. This command isn&#39;t needed as cordova auto saves dependencies.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13055">CB-13055</a>: removed <code>--nofetch</code> flag. Now all of our dependency fetching happens via <code>cordova-fetch</code>. This allowed us to drop the <code>npm@2</code> dependency we were shipping with cordova. Instead, we now just use your system <code>npm</code> to do all of our fetching.</li>
</ul>
<p>To update your cordova CLI:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div></div>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2017/12/18/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 04 Dec 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/12/04/cordova-android-7.0.0.html">Cordova Android 7.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">04 Dec 2017</span>
- by
<span class="author">
<a href="https://twitter.com/infil00p">Joe Bowser</a>
</span>
<a class="comment" href="/announcements/2017/12/04/cordova-android-7.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 7.0.0</code> has been released!</p>
<p>With this release, we have changed the default project structure for Android projects. People who currently use the CLI and treat everything in the platforms directory as a build artifact should not notice a difference.</p>
<p>However this a major breaking change for people creating standalone Cordova Android projects. This also means that the locations of files have changed and have been brought in line to the structure used by Android Studio.<br />
This may affect plugin.xml files and config.xml files that use edit-config, and make it so plugins that use edit-config will not be able to be compatible with both Android 6.x and Android 7.x. To fix this issue, please do the following in your XML files:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;!-- An existing config.xml --&gt;
&lt;edit-config file="AndroidManifest.xml" target="/manifest/application" mode="merge"&gt;
&lt;!-- needs to change to --&gt;
&lt;edit-config file="app/src/main/AndroidManifest.xml" target="/manifest/application" mode="merge"&gt;
</code></pre></div></div>
<h2>Major Changes include:</h2>
<ul>
<li>Support for Java 1.8 language features in Cordova Plugins</li>
<li>CordovaInterface now has a Context getter so that contexts can be retrieved without an Activity</li>
<li>Cordova can now build for x86_64, arm64 and armeabi architecture when building plugins that use the NDK</li>
<li>The minimum Android API version supported is now API Level 19</li>
<li>Due to the directory structure change, we no longer support in-line upgrading, bringing us in line with iOS</li>
<li>ANT builds are no longer supported and the functionality has been removed.</li>
</ul>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform remove android
cordova platform add android@7.0.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@7.0.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2017/12/04/cordova-android-7.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 27 Nov 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/11/27/Deprecation-of-cordova-contacts-plugin.html">Deprecation of the Cordova Contacts Plugin</a>
</h2>
<div class="details">
<span class="date">27 Nov 2017</span>
- by
<span class="author">
<a href="https://twitter.com/tweetsbymishra">Vishal Mishra</a>
</span>
<a class="comment" href="/news/2017/11/27/Deprecation-of-cordova-contacts-plugin.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><h2>Deprecation of the Cordova Contacts Plugin</h2>
<p>We are hereby announcing the deprecation of cordova-plugin-contacts.</p>
<p>This means that the Cordova development community will not be doing any more work on this plugin. You can continue to use this plugin as-is in existing and new applications but any further issues will not be fixed by the Cordova team.</p>
<p>Generally when we deprecate plugins, we have an alternative standards API to migrate to, however, the latest <a href="https://www.w3.org/TR/contacts-api/">W3C Contacts API</a> indicates that the work on implementing a standard has been discontinued because of various privacy and security issues. Some of the main issues are potential compromise of users&#39; contacts, safe and timely disposal of contact information by the recipient and inadvertent granting of permission by the user.</p>
<p>Your feedback is graciously accepted and appreciated!</p>
</p>
<div><a href="/news/2017/11/27/Deprecation-of-cordova-contacts-plugin.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 21 Nov 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/11/21/ios-release.html">Cordova iOS 4.5.4</a>
</h2>
<div class="details">
<span class="date">21 Nov 2017</span>
- by
<span class="author">
<a href="https://twitter.com/surajpindoria">Suraj Pindoria</a>
</span>
<a class="comment" href="/announcements/2017/11/21/ios-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce a minor version of <code>Cordova iOS 4.5.4</code> has been released!</p>
<p>This version continues to add updates for the latest iOS 11 and also includes some fixes for the iPhone X.</p>
<p>Things to note:</p>
<ul>
<li>Added flag for Xcode-managed provisioning</li>
<li>Fixed compile error when compile source as objective-c++</li>
<li>Adjusted storyboard constraints</li>
</ul>
<p><strong>Note:</strong> When updating <strong>iOS</strong>, make sure to save your plugins as current unsaved plugins may not be reinstalled otherwise. Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.5.4
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.5.4
</code></pre></div></div>
</p>
<div><a href="/announcements/2017/11/21/ios-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 20 Nov 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/11/20/migrate-from-cordova-globalization-plugin.html">Migrating from the Globalization Plugin</a>
</h2>
<div class="details">
<span class="date">20 Nov 2017</span>
- by
<span class="author">
<a href="https://twitter.com/tweetsbymishra">Vishal Mishra</a>
</span>
<a class="comment" href="/news/2017/11/20/migrate-from-cordova-globalization-plugin.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><h2>Migrating from the Cordova Globalization Plugin</h2>
<p>The Cordova Globalization Plugin was created to obtain information and perform operations based on a user’s locale, language and timezone when most mobile platforms could not make a distinction between these settings. With the new API arrivals in the browser, we can now use the <a href="https://www.ecma-international.org/ecma-402/1.0/">ECMA Internationalization API</a> for achieving this goal on iOS, Android, Windows devices and desktop browsers. Hence, this cordova plugin is not needed any more and will be sunset soon.</p>
<h3>Migrating from the plugin to the Internationalization API</h3>
<p>The cordova globalization plugin defines a global navigator.globalization object which provides various methods to access a user’s locale, language and timezone. To get the preferred language from the browser, the navigator.globalization.getPreferredLanguage method was used as shown below:</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">navigator</span><span class="p">.</span><span class="nx">globalization</span><span class="p">.</span><span class="nx">getPreferredLanguage</span><span class="p">(</span><span class="kd">function</span> <span class="p">(</span><span class="nx">language</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">language: </span><span class="dl">'</span> <span class="o">+</span> <span class="nx">language</span><span class="p">.</span><span class="nx">value</span> <span class="o">+</span> <span class="dl">'</span><span class="se">\n</span><span class="dl">'</span><span class="p">);</span>
<span class="p">},</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">Error getting language</span><span class="se">\n</span><span class="dl">'</span><span class="p">);</span>
<span class="p">});</span>
</code></pre></div></div>
<p>The current locale could be found out using:</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">navigator</span><span class="p">.</span><span class="nx">globalization</span><span class="p">.</span><span class="nx">getLocaleName</span><span class="p">(</span><span class="kd">function</span> <span class="p">(</span><span class="nx">locale</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">locale: </span><span class="dl">'</span> <span class="o">+</span> <span class="nx">locale</span><span class="p">.</span><span class="nx">value</span> <span class="o">+</span> <span class="dl">'</span><span class="se">\n</span><span class="dl">'</span><span class="p">);</span>
<span class="p">},</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">Error getting locale</span><span class="se">\n</span><span class="dl">'</span><span class="p">);</span>
<span class="p">});</span>
</code></pre></div></div>
<p>The <a href="https://www.ecma-international.org/ecma-402/1.0/">ECMA Internationalization API</a> provides the <code>Intl</code> object which provides language sensitive string comparison, number formatting, and date and time formatting. 
First we should check if the API is supported by the browser:</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="p">(</span><span class="nb">window</span><span class="p">.</span><span class="nx">Intl</span> <span class="o">&amp;&amp;</span> <span class="k">typeof</span> <span class="nb">window</span><span class="p">.</span><span class="nx">Intl</span> <span class="o">===</span> <span class="dl">'</span><span class="s1">object</span><span class="dl">'</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">API available</span><span class="dl">'</span><span class="p">);</span>
<span class="p">}</span>
</code></pre></div></div>
<p>The preferred language tag can be found out from the browser by using the <code>navigator</code> object:</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nb">navigator</span><span class="p">.</span><span class="nx">language</span><span class="p">);</span>
</code></pre></div></div>
<p>The locale name can be found out using the <code>Intl.getCanonicalLocales(locales)</code> method. <code>locales</code> is a string value or an array of string values that has the language tag(s). The locale name can then be obtained as shown below:</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">Intl</span><span class="p">.</span><span class="nx">getCanonicalLocales</span><span class="p">(</span><span class="dl">'</span><span class="s1">EN-US</span><span class="dl">'</span><span class="p">);</span> <span class="c1">// ["en-US"]</span>
<span class="nx">Intl</span><span class="p">.</span><span class="nx">getCanonicalLocales</span><span class="p">([</span><span class="dl">'</span><span class="s1">EN-US</span><span class="dl">'</span><span class="p">,</span> <span class="dl">'</span><span class="s1">Fr</span><span class="dl">'</span><span class="p">]);</span> <span class="c1">// ["en-US", "fr"]</span>
</code></pre></div></div>
<p>Another instance of migrating from the cordova globalization plugin can be seen in this example: the navigator.globalization.dateToString method. This method is used in the cordova plugin as shown below:</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">navigator</span><span class="p">.</span><span class="nx">globalization</span><span class="p">.</span><span class="nx">dateToString</span><span class="p">(</span>
<span class="k">new</span> <span class="nb">Date</span><span class="p">(),</span>
<span class="kd">function</span> <span class="p">(</span><span class="nx">date</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">alert</span><span class="p">(</span><span class="dl">'</span><span class="s1">date: </span><span class="dl">'</span> <span class="o">+</span> <span class="nx">date</span><span class="p">.</span><span class="nx">value</span> <span class="o">+</span> <span class="dl">'</span><span class="se">\n</span><span class="dl">'</span><span class="p">);</span>
<span class="p">},</span>
<span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="nx">alert</span><span class="p">(</span><span class="dl">'</span><span class="s1">Error getting dateString</span><span class="se">\n</span><span class="dl">'</span><span class="p">);</span>
<span class="p">},</span>
<span class="p">{</span> <span class="na">formatLength</span><span class="p">:</span> <span class="dl">'</span><span class="s1">short</span><span class="dl">'</span><span class="p">,</span> <span class="na">selector</span><span class="p">:</span> <span class="dl">'</span><span class="s1">date</span><span class="dl">'</span> <span class="p">}</span>
<span class="p">);</span>
</code></pre></div></div>
<p>Similar results can be obtained using the Internationalization API by using the following code:</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">var</span> <span class="nx">date</span> <span class="o">=</span> <span class="k">new</span> <span class="nb">Date</span><span class="p">();</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="k">new</span> <span class="nx">Intl</span><span class="p">.</span><span class="nx">DateTimeFormat</span><span class="p">().</span><span class="nx">format</span><span class="p">(</span><span class="nx">date</span><span class="p">));</span>
</code></pre></div></div>
<p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl">Here</a> is a good resource to find out more about various methods in the <a href="https://www.ecma-international.org/ecma-402/1.0/">ECMA Internationalization API</a>.</p>
<p>Your feedback is graciously accepted and appreciated!</p>
</p>
<div><a href="/news/2017/11/20/migrate-from-cordova-globalization-plugin.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 10 Nov 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/11/10/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">10 Nov 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2017/11/10/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status@1.2.5</li>
<li>cordova-plugin-camera@3.0.0</li>
<li>cordova-plugin-contacts@3.0.0</li>
<li>cordova-plugin-device@1.1.7</li>
<li>cordova-plugin-dialogs@1.3.4</li>
<li>cordova-plugin-file-transfer@1.7.0</li>
<li>cordova-plugin-file@5.0.0</li>
<li>cordova-plugin-geolocation@3.0.0</li>
<li>cordova-plugin-globalization@1.0.8</li>
<li>cordova-plugin-inappbrowser@1.7.2</li>
<li>cordova-plugin-media@4.0.0</li>
<li>cordova-plugin-media-capture@2.0.0</li>
<li>cordova-plugin-network-information@1.3.4</li>
<li>cordova-plugin-splashscreen@4.1.0</li>
<li>cordova-plugin-statusbar@2.3.0</li>
<li>cordova-plugin-screen-orientation@2.0.2</li>
<li>cordova-plugin-vibration@2.1.6</li>
<li>cordova-plugin-whitelist@1.3.3</li>
<li>cordova-plugin-wkwebview-engine@1.1.4</li>
<li>cordova-plugin-test-framework@1.1.6</li>
</ul>
<p>In our <a href="https://cordova.apache.org/news/2017/09/22/plugins-release.html">last plugins release</a>, we deprecated <code>cordova-plugin-compat</code> since it got integrated into <code>cordova-android@6.3.0</code>. So for this release cycle, we have removed the dependency from plugins that were relying on it and gave the plugins a major version jump. The follow plugins have dropped <code>cordova-plugin-compat</code>: <code>cordova-plugin-camera</code>, <code>cordova-plugin-contacts</code>, <code>cordova-plugin-file</code>, <code>cordova-plugin-geolocation</code>, <code>cordova-plugin-media</code>, and <code>cordova-plugin-media-capture</code>.</p>
<p>We have also changed how usage descriptions work in the following plugins: <code>cordova-plugin-camera</code>, <code>cordova-plugin-contacts</code>, <code>cordova-plugin-media</code>, <code>cordova-plugin-geolocation</code>, and <code>cordova-plugin-media-capture</code>. Usage descriptions are required for <strong>iOS</strong> applications accessing certain apis. Apple wants to know why your app needs certain permissions. We now recommend you add the usage description to your app via <code>edit-config</code> tag. View the <code>iOS Quirks</code> section of the plugin documentation to see an example of how to use it. <a href="https://github.com/apache/cordova-plugin-camera#ios-quirks">Here</a> is the example for <code>cordova-plugin-camera</code>.</p>
<p><code>cordova-plugin-statusbar</code> has been updated to work on the new <code>iPhone X</code>.</p>
<p>Lastly, <code>cordova-plugin-file-transfer</code> has officially been deprecated. We recommend using the built in <code>XHR</code> apis instead. Read about transitioning off <code>cordova-plugin-file-transfer</code> at https://cordova.apache.org/blog/2017/10/18/from-filetransfer-to-xhr2.html.</p>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera --save
cordova plugin add cordova-plugin-camera@latest --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2017/11/10/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 09 Nov 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/11/09/android-release.html">Cordova Android 6.4.0 Released!</a>
</h2>
<div class="details">
<span class="date">09 Nov 2017</span>
- by
<span class="author">
<a href="https://twitter.com/infil00p">Joe Bowser</a>
</span>
<a class="comment" href="/announcements/2017/11/09/android-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We would like to announce that <code>Cordova Android 6.4.0</code> has been released!</p>
<p>This release now uses the latest Android Gradle plugin that was released with Android Studio 3.0.</p>
<p>Due to the recent changes Google made to Android Studio, Cordova Android now requires that Gradle is installed as a standalone dependency for Android development on all platforms. You can do so by <a href="https://gradle.org/install/">following these instructions at gradle.org</a>.<br />
We will be removing the code that uses Android Studio to provide Gradle as a dependency in the near future.</p>
<p>Google also has changed the Gradle DSL used and currently support for the Crosswalk WebView is broken in this version of Cordova as a result. Unfortunately, since Crosswalk is no longer supported by the <a href="https://crosswalk-project.org/">Crosswalk Project</a>, we do not know whether <a href="https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview/issues/183">this issue</a> will be fixed.<br />
If you require support for Crosswalk, we recommend that you continue using cordova-android 6.3.0 at this time and avoid using or upgrading your project with Android Studio.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@6.4.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@6.4.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2017/11/09/android-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 31 Oct 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/10/31/ios-release.html">Cordova iOS 4.5.3</a>
</h2>
<div class="details">
<span class="date">31 Oct 2017</span>
- by
<span class="author">
<a href="https://twitter.com/surajpindoria">Suraj Pindoria</a>
</span>
<a class="comment" href="/announcements/2017/10/31/ios-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce a minor version of <code>Cordova iOS 4.5.3</code> has been released!</p>
<p>This version continues to add updates for the latest iOS 11 and Xcode 9.</p>
<p>Things to note:</p>
<ul>
<li>Updated splash screen mapping for new and missing devices</li>
<li>Re-added an icon mapping that was accidentally removed</li>
</ul>
<p><strong>Note:</strong> When updating <strong>iOS</strong>, make sure to save your plugins as current unsaved plugins may not be reinstalled otherwise. Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.5.3
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.5.3
</code></pre></div></div>
</p>
<div><a href="/announcements/2017/10/31/ios-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 30 Oct 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/10/30/fetch-release.html">Cordova-Fetch@1.2.1 Released!</a>
</h2>
<div class="details">
<span class="date">30 Oct 2017</span>
- by
<span class="author">
<a href="https://twitter.com/aud_rey_so">Audrey So</a>
</span>
<a class="comment" href="/news/2017/10/30/fetch-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We just released some changes to <code>cordova-fetch</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-fetch">cordova-fetch@1.2.1</a></li>
</ul>
<p>Release Highlights:</p>
<ul>
<li>Added node 8 support to our continuous integration tests.</li>
</ul>
</p>
<div><a href="/news/2017/10/30/fetch-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 19 Oct 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/10/19/browser-release.html">Cordova Browser@5.0.1 Released</a>
</h2>
<div class="details">
<span class="date">19 Oct 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2017/10/19/browser-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We just released an update to <code>cordova-browser</code></p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-browser">cordova-browser@5.0.1</a></li>
</ul>
<p>Release Highlights:</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-13228">CB-13228</a> Fixed issue with <strong>Browser</strong> not adding with cordova&lt;7.</li>
</ul>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd my_project
cordova platform update browser@5.0.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add browser@5.0.1
</code></pre></div></div>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2017/10/19/browser-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 18 Oct 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/blog/2017/10/18/from-filetransfer-to-xhr2.html">Transition off of cordova-plugin-file-transfer</a>
</h2>
<div class="details">
<span class="date">18 Oct 2017</span>
- by
<span class="author">
<a href="https://twitter.com/filmaj">Fil Maj</a>
</span>
<a class="comment" href="/blog/2017/10/18/from-filetransfer-to-xhr2.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Early on in Cordova&#39;s existence, the <a href="https://github.com/apache/cordova-plugin-file-transfer">file-transfer plugin</a>
was created to solve the <a href="https://issues.apache.org/jira/browse/CB-22">problem of downloading binary files</a>.
At the time, there weren&#39;t great options for solving this using standards-compliant
web APIs. The web took a twisty path to get to a solution (see
<a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/sendAsBinary">Firefox&#39;s <code>sendAsBinary</code></a>
and the now-defunct <a href="https://dev.w3.org/2009/dap/file-system/file-dir-sys.html">FileSystem API</a>&#39;s
<a href="https://developer.mozilla.org/en-US/docs/Web/API/BlobBuilder">BlobBuilder</a>,
among others), but today you can use our good friend <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest">XMLHttpRequest</a>&#39;s
newest features, combined with some newer JavaScript types and objects,
<a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data">to solve this problem</a>.
This is an exciting moment for Cordova as the dream for this project was always
to eventually reduce the surface area of APIs the project maintains, and instead
see regular web APIs be able to handle these use cases.</p>
<p>As a result,
<a href="https://issues.apache.org/jira/browse/CB-13052">Cordova is sunsetting the file-transfer plugin</a>.
What does &quot;sunsetting&quot; mean? In summary:</p>
<ul>
<li>No more work will be done on the file-transfer plugin by the Cordova development
community.</li>
<li>You can continue to use the file-transfer plugin if you wish - it should work
fine as-is for the foreseeable future.</li>
<li>We highly suggest Cordova users transition to using the
<a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data">standards-compliant way of sending and receiving binary data</a>.</li>
</ul>
<p>All of us at Apache Cordova don&#39;t want to leave y&#39;all hanging, though, so we
thought it&#39;d be a good idea to show you how to use these newer XHR features to do
what file-transfer lets you do, but in a way that will work in any modern web
browser to boot!</p>
<h2>Requirements</h2>
<p>Based on how deeply you interact with the underlying device filesystem, and on
which platforms, you may still need to rely on the
<a href="https://github.com/apache/cordova-plugin-file">Cordova File plugin</a>. If you
still have references to <code>requestFileSystem</code> or <code>root.fs</code> in your application&#39;s
JavaScript, you will definitely need the File plugin because these are not
standards-compliant APIs. Take note and care!</p>
<h2>Platform Support</h2>
<p>Binary types in JavaScript, as well as the extended XHR features, are available
on the following Cordova-supported platforms without requiring any additional
plugins:</p>
<ul>
<li>Android 4.4 or newer.</li>
<li>iOS 10 or newer.</li>
<li>Windows UWP (8.1, 10 or newer all work).</li>
<li>Windows Phone 8 or newer.</li>
</ul>
<p>As always, check <a href="https://caniuse.com">caniuse.com</a> for detailed support for the
required bits, like <a href="http://caniuse.com/#feat=blobbuilder"><code>Blob</code></a>,
<a href="http://caniuse.com/#feat=typedarrays">Typed Arrays</a>, and
<a href="http://caniuse.com/#feat=xhr2">extended XHR features</a>.</p>
<h2>TL;DR</h2>
<p>Standards are great and all, but what do you actually have to copy-paste to replace
the previous FileTransfer examples? We have you covered:</p>
<p>Here&#39;s a replacement for
<a href="https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file-transfer/index.html#download-a-binary-file-to-the-application-cache">FileTransfer&#39;s &quot;Download a Binary File&quot; example</a>:</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">window</span><span class="p">.</span><span class="nx">requestFileSystem</span><span class="p">(</span><span class="nx">LocalFileSystem</span><span class="p">.</span><span class="nx">PERSISTENT</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">fs</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">file system open: </span><span class="dl">'</span> <span class="o">+</span> <span class="nx">fs</span><span class="p">.</span><span class="nx">name</span><span class="p">);</span>
<span class="nx">fs</span><span class="p">.</span><span class="nx">root</span><span class="p">.</span><span class="nx">getFile</span><span class="p">(</span><span class="dl">'</span><span class="s1">bot.png</span><span class="dl">'</span><span class="p">,</span> <span class="p">{</span> <span class="na">create</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span> <span class="na">exclusive</span><span class="p">:</span> <span class="kc">false</span> <span class="p">},</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">fileEntry</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">fileEntry is file? </span><span class="dl">'</span> <span class="o">+</span> <span class="nx">fileEntry</span><span class="p">.</span><span class="nx">isFile</span><span class="p">.</span><span class="nx">toString</span><span class="p">());</span>
<span class="kd">var</span> <span class="nx">oReq</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">XMLHttpRequest</span><span class="p">();</span>
<span class="c1">// Make sure you add the domain name to the Content-Security-Policy &lt;meta&gt; element.</span>
<span class="nx">oReq</span><span class="p">.</span><span class="nx">open</span><span class="p">(</span><span class="dl">"</span><span class="s2">GET</span><span class="dl">"</span><span class="p">,</span> <span class="dl">"</span><span class="s2">http://cordova.apache.org/static/img/cordova_bot.png</span><span class="dl">"</span><span class="p">,</span> <span class="kc">true</span><span class="p">);</span>
<span class="c1">// Define how you want the XHR data to come back</span>
<span class="nx">oReq</span><span class="p">.</span><span class="nx">responseType</span> <span class="o">=</span> <span class="dl">"</span><span class="s2">blob</span><span class="dl">"</span><span class="p">;</span>
<span class="nx">oReq</span><span class="p">.</span><span class="nx">onload</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">oEvent</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">blob</span> <span class="o">=</span> <span class="nx">oReq</span><span class="p">.</span><span class="nx">response</span><span class="p">;</span> <span class="c1">// Note: not oReq.responseText</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">blob</span><span class="p">)</span> <span class="p">{</span>
<span class="c1">// Create a URL based on the blob, and set an &lt;img&gt; tag's src to it.</span>
<span class="kd">var</span> <span class="nx">url</span> <span class="o">=</span> <span class="nb">window</span><span class="p">.</span><span class="nx">URL</span><span class="p">.</span><span class="nx">createObjectURL</span><span class="p">(</span><span class="nx">blob</span><span class="p">);</span>
<span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="dl">'</span><span class="s1">bot-img</span><span class="dl">'</span><span class="p">).</span><span class="nx">src</span> <span class="o">=</span> <span class="nx">url</span><span class="p">;</span>
<span class="c1">// Or read the data with a FileReader</span>
<span class="kd">var</span> <span class="nx">reader</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">FileReader</span><span class="p">();</span>
<span class="nx">reader</span><span class="p">.</span><span class="nx">addEventListener</span><span class="p">(</span><span class="dl">"</span><span class="s2">loadend</span><span class="dl">"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="c1">// reader.result contains the contents of blob as text</span>
<span class="p">});</span>
<span class="nx">reader</span><span class="p">.</span><span class="nx">readAsText</span><span class="p">(</span><span class="nx">blob</span><span class="p">);</span>
<span class="p">}</span> <span class="k">else</span> <span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="dl">'</span><span class="s1">we didnt get an XHR response!</span><span class="dl">'</span><span class="p">);</span>
<span class="p">};</span>
<span class="nx">oReq</span><span class="p">.</span><span class="nx">send</span><span class="p">(</span><span class="kc">null</span><span class="p">);</span>
<span class="p">},</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span> <span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="dl">'</span><span class="s1">error getting file! </span><span class="dl">'</span> <span class="o">+</span> <span class="nx">err</span><span class="p">);</span> <span class="p">});</span>
<span class="p">},</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span> <span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="dl">'</span><span class="s1">error getting persistent fs! </span><span class="dl">'</span> <span class="o">+</span> <span class="nx">err</span><span class="p">);</span> <span class="p">});</span>
</code></pre></div></div>
<p>Here&#39;s a similar replacement for
<a href="https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file-transfer/index.html#uploadFile">FileTransfer&#39;s &quot;Upload a File&quot; example</a>:</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">window</span><span class="p">.</span><span class="nx">requestFileSystem</span><span class="p">(</span><span class="nx">LocalFileSystem</span><span class="p">.</span><span class="nx">PERSISTENT</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">fs</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">file system open: </span><span class="dl">'</span> <span class="o">+</span> <span class="nx">fs</span><span class="p">.</span><span class="nx">name</span><span class="p">);</span>
<span class="nx">fs</span><span class="p">.</span><span class="nx">root</span><span class="p">.</span><span class="nx">getFile</span><span class="p">(</span><span class="dl">'</span><span class="s1">bot.png</span><span class="dl">'</span><span class="p">,</span> <span class="p">{</span> <span class="na">create</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span> <span class="na">exclusive</span><span class="p">:</span> <span class="kc">false</span> <span class="p">},</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">fileEntry</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">fileEntry</span><span class="p">.</span><span class="nx">file</span><span class="p">(</span><span class="kd">function</span> <span class="p">(</span><span class="nx">file</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">reader</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">FileReader</span><span class="p">();</span>
<span class="nx">reader</span><span class="p">.</span><span class="nx">onloadend</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="c1">// Create a blob based on the FileReader "result", which we asked to be retrieved as an ArrayBuffer</span>
<span class="kd">var</span> <span class="nx">blob</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Blob</span><span class="p">([</span><span class="k">new</span> <span class="nb">Uint8Array</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">result</span><span class="p">)],</span> <span class="p">{</span> <span class="na">type</span><span class="p">:</span> <span class="dl">"</span><span class="s2">image/png</span><span class="dl">"</span> <span class="p">});</span>
<span class="kd">var</span> <span class="nx">oReq</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">XMLHttpRequest</span><span class="p">();</span>
<span class="nx">oReq</span><span class="p">.</span><span class="nx">open</span><span class="p">(</span><span class="dl">"</span><span class="s2">POST</span><span class="dl">"</span><span class="p">,</span> <span class="dl">"</span><span class="s2">http://mysweeturl.com/upload_handler</span><span class="dl">"</span><span class="p">,</span> <span class="kc">true</span><span class="p">);</span>
<span class="nx">oReq</span><span class="p">.</span><span class="nx">onload</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">oEvent</span><span class="p">)</span> <span class="p">{</span>
<span class="c1">// all done!</span>
<span class="p">};</span>
<span class="c1">// Pass the blob in to XHR's send method</span>
<span class="nx">oReq</span><span class="p">.</span><span class="nx">send</span><span class="p">(</span><span class="nx">blob</span><span class="p">);</span>
<span class="p">};</span>
<span class="c1">// Read the file as an ArrayBuffer</span>
<span class="nx">reader</span><span class="p">.</span><span class="nx">readAsArrayBuffer</span><span class="p">(</span><span class="nx">file</span><span class="p">);</span>
<span class="p">},</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span> <span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="dl">'</span><span class="s1">error getting fileentry file!</span><span class="dl">'</span> <span class="o">+</span> <span class="nx">err</span><span class="p">);</span> <span class="p">});</span>
<span class="p">},</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span> <span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="dl">'</span><span class="s1">error getting file! </span><span class="dl">'</span> <span class="o">+</span> <span class="nx">err</span><span class="p">);</span> <span class="p">});</span>
<span class="p">},</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span> <span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="dl">'</span><span class="s1">error getting persistent fs! </span><span class="dl">'</span> <span class="o">+</span> <span class="nx">err</span><span class="p">);</span> <span class="p">});</span>
</code></pre></div></div>
<p>Note that both the above examples rely on the File plugin, so if you remove the
FileTransfer plugin from your app, make sure to add the File plugin!</p>
<h2>The Long Version</h2>
<p>If you want to understand some of the nuts and bolts enabling binary data transferring,
you&#39;ll need to grasp two (possibly three) concepts. MDN has an absolutely fantastic
<a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data">article</a>
on the topic that is worth a quick read, but I&#39;ll provide a summary here, too.</p>
<h3>Binary Types in JavaScript</h3>
<p>For the longest time, there was no way to directly represent binary data and
access the underlying bytes in memory within JavaScript. We could encode this data
in different formats (<a href="https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding">base64</a>,
anyone?), and that was cool, but just let me play with the bytes already. For
our purposes, we are interested in two objects in particular:
<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays">ArrayBuffer</a>
and <a href="https://developer.mozilla.org/en-US/docs/Web/API/Blob">Blob</a>.
Why do we care about these two? Because we can have XHRs return downloaded data
as these types, or pass these types directly to XHRs&#39; <code>send</code> method.</p>
<h3>XHR</h3>
<p>There are two newer XHR features, originally as part of what was referred to as
&quot;XHR2&quot; during its <a href="https://www.w3.org/TR/XMLHttpRequest2/">development</a>, that we
need to leverage to tie this all together.</p>
<p>For downloading binary data, we need to set the
<a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseType"><code>responseType</code></a>
property to either <code>arraybuffer</code> or <code>blob</code> - this tells XHR what type we want
the data we are retrieving back in. With <code>responseType</code> set, we can then access
the read-only <code>response</code> property to get either the <code>ArrayBuffer</code> or <code>Blob</code>
object representing the data retrieved by XHR.</p>
<p>For uploading binary data, it is simpler: pass a <code>Blob</code> or <code>ArrayBuffer</code> directly
to XHR&#39;s <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data#Sending_binary_data"><code>send</code></a>
method. That&#39;s it.</p>
<h2>Summary</h2>
<p>Binary types and extended XHR features are well supported in modern desktop
browsers, and on recent-ish mobile browsers (and WebViews). For existing Cordova
users, as long as your app targets the platform and OS version combinations listed
above under Platform Support, you should be good to go! Remember that if you rely
on certain File plugin APIs like <code>requestFileSystem</code>, <code>root</code>, or <code>getFile</code>,
you&#39;ll need to ensure the File plugin is added to your app.</p>
<p>Happy standards-compliant coding!</p>
</p>
<div><a href="/blog/2017/10/18/from-filetransfer-to-xhr2.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 16 Oct 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/10/16/ios-release.html">Cordova iOS 4.5.2</a>
</h2>
<div class="details">
<span class="date">16 Oct 2017</span>
- by
<span class="author">
<a href="https://twitter.com/surajpindoria">Suraj Pindoria</a>
</span>
<a class="comment" href="/announcements/2017/10/16/ios-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce a minor version of <code>Cordova iOS 4.5.2</code> has been released!</p>
<p>This version continues to add updates for the latest iOS 11 and Xcode 9.</p>
<p>Things to note:</p>
<ul>
<li>Fixed a major issue that prevented building binaries when using a build config file</li>
<li>Updated the icon mapping to include new iOS 11 icons as well as added Apple Watch icons</li>
</ul>
<p><strong>Note:</strong> When updating <strong>iOS</strong>, make sure to save your plugins as current unsaved plugins may not be reinstalled otherwise. Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.5.2
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.5.2
</code></pre></div></div>
</p>
<div><a href="/announcements/2017/10/16/ios-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 10 Oct 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/10/10/tools-release.html">Tools Released!</a>
</h2>
<div class="details">
<span class="date">10 Oct 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2017/10/10/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We just released a small update to our tools!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova">cordova@7.1.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@7.1.0</a></li>
<li><a href="https://www.npmjs.org/package/plugman">cordova-plugman@1.5.1</a></li>
<li><a href="https://www.npmjs.org/package/cordova-fetch">cordova-fetch@1.2.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-common">cordova-common@2.1.1</a></li>
<li><a href="https://www.npmjs.org/package/xcode">cordova-node-xcode@1.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@4.2.2</a></li>
</ul>
<h2>Release Highlights</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-13303">CB-13303</a> added <code>--production</code> flag by default. This means that when the commands <code>cordova platform add android</code> or <code>cordova plugin add cordova-plugin-device</code> are run, under the hood we are running <code>npm install cordova-android --production</code>. The <code>--production</code> flag only installs <code>dependencies</code> from <code>package.json</code> and skips <code>devDependencies</code>. This should speed up installs (especially when installing local copies of platforms and plugins). You can turn the flag off by passing the <code>--noprod</code> flag or setting it off globally via <code>cordova config set production false</code>.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13353">CB-13353</a> added <code>--save-exact</code> flag. This will allow to save an exact version of a platform or plugin instead of a range. <code>cordova platform add android@6.3.0 --save-exact</code>. You can also set it true by default in your global config via <code>cordova config set save-exact true</code></li>
<li>This is the first release of <code>cordova-node-xcode</code> under the apache cordova banner. It was originally created and used as a dependency for <code>cordova-lib</code>, but now is being used by many other projects as well. We have decided to give the project a major release to <code>1.0.0</code>. This is to represent stability for the project in terms of <code>semver</code>. No breaking change has happened from the previous release.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13308">CB-13308</a> fixed issues with restoring plugins and platforms while using <code>npm@5+</code>.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-12787">CB-12787</a> Fix plugin installation with <code>--link</code> option.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13056">CB-13056</a> added deprecation notice for <strong>WebOS</strong></li>
<li><a href="https://issues.apache.org/jira/browse/CB-13057">CB-13057</a> added deprecation warning for <code>cordova platform save</code></li>
<li><a href="https://issues.apache.org/jira/browse/CB-12901">CB-12901</a> Deprecated <code>.raw</code> from <code>cordova-lib</code> API calls. If you consume <code>cordova-lib</code> as a node module, please update your API calls! You can see an example of the change at <a href="https://github.com/apache/cordova-cli/commit/0a42092971dc8fe2f483bd42c3b9de26fdec677c">https://github.com/apache/cordova-cli/commit/0a42092971dc8fe2f483bd42c3b9de26fdec677c</a>.</li>
</ul>
<p>To update your cordova CLI:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div></div>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2017/10/10/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 27 Sep 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/09/27/android-release.html">Cordova Android 6.3.0 Released!</a>
</h2>
<div class="details">
<span class="date">27 Sep 2017</span>
- by
<span class="author">
<a href="https://twitter.com/infil00p">Joe Bowser</a>
</span>
<a class="comment" href="/announcements/2017/09/27/android-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 6.3.0</code> has been released!</p>
<p>This release now targets the latest Android API level of API 26 and has fixed issues related to the <strong>Android SDK Tools 26.0.2</strong> release. <strong>Google</strong> changed how the Android emulator was executed, causing errors when deploying to the emulator.</p>
<p>This release contains the integration of <code>cordova-plugin-compat</code>, so please remove that plugin from projects once you update to this version of <code>cordova-android</code>.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@6.3.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@6.3.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2017/09/27/android-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 25 Sep 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/09/25/ios-release.html">Cordova iOS 4.5.1</a>
</h2>
<div class="details">
<span class="date">25 Sep 2017</span>
- by
<span class="author">
<a href="https://twitter.com/surajpindoria">Suraj Pindoria</a>
</span>
<a class="comment" href="/announcements/2017/09/25/ios-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce a minor version of <code>Cordova iOS 4.5.1</code> has been released!</p>
<p>This version provides updates for the latest iOS 11 and Xcode 9. You can now create builds for this new version and properly deploy to either the emulator or device.</p>
<p>Things to note:</p>
<ul>
<li>For iPhone X&#39;s new screen size, you must use Launch Storyboards to take full advantage of it</li>
<li>Current Splash Screen images will result in letterboxing</li>
</ul>
<p>Apple has also made some changes that could effect your current apps, specifically around the viewport. Here are a few resources that could help with your transition to iOS 11:</p>
<ol>
<li><a href="https://webkit.org/blog/7929/designing-websites-for-iphone-x/">Designing Websites for iPhone X</a></li>
<li><a href="https://ayogo.com/blog/ios11-viewport/">Understanding the WebView Viewport in iOS 11</a></li>
<li><a href="http://stephenradford.me/removing-the-white-bars-in-safari-on-iphone-x/">Removing the White Bars in Safari on iPhone X</a></li>
</ol>
<p>We are also aware that there are specific issues related to the Status Bar plugin. The team is working to resolve these for the next release of the plugin.</p>
<p><strong>Note:</strong> When updating <strong>iOS</strong>, make sure to save your plugins as current unsaved plugins may not be reinstalled otherwise. Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.5.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.5.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2017/09/25/ios-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 22 Sep 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/09/22/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">22 Sep 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2017/09/22/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today because they are being deprecated:</p>
<ul>
<li>cordova-plugin-console: 1.1.0</li>
<li>cordova-plugin-compat: 1.2.0</li>
<li>cordova-plugin-device-motion: 2.0.0</li>
<li>cordova-plugin-device-orientation: 2.0.0</li>
</ul>
<p><code>cordova-plugin-console</code> has been integrated into <code>cordova-ios@4.5.0+</code>. It is not needed anymore. Make sure to remove it from your projects if you plan on updating your <code>cordova-ios</code>!</p>
<p>Similarly, <code>cordova-plugin-compat</code> has been integrated into the upcoming <code>cordova-android@6.3.0</code> release. Please remove it from your projects when you update to the latest version of <code>cordova-android</code>.</p>
<p><code>cordova-plugin-device-motion</code> and <code>cordova-plugin-device-orientation</code> have officially been deprecated. These plugins are being replaced by the built in <a href="https://www.w3.org/TR/2016/CR-orientation-event-20160818/">W3C Device Motion and Orientation APIs</a>, which are now supported on iOS, Android and Windows. Checkout the migration guides the PhoneGap team wrote for <a href="https://blog.phonegap.com/migrating-from-the-cordova-device-motion-plugin-ddd8176632ed">Device Motion</a> and <a href="https://blog.phonegap.com/migrating-from-the-cordova-device-orientation-plugin-8442b869e6cc">Device Orientation</a>.</p>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera --save
cordova plugin add cordova-plugin-camera@latest --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2017/09/22/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 08 Sep 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/09/08/ios-release.html">Cordova iOS 4.5.0</a>
</h2>
<div class="details">
<span class="date">08 Sep 2017</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/announcements/2017/09/08/ios-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce a minor version of <code>Cordova iOS 4.5.0</code> has been released!</p>
<p>Three new features were added:</p>
<ol>
<li><a href="https://issues.apache.org/jira/browse/CB-12937">CB-12937</a> - Plugins can receive <code>handleOpenURLWithApplicationSourceAndAnnotation:</code> now (new selector, that sends the URL with additional metadata)</li>
<li><a href="https://issues.apache.org/jira/browse/CB-13164">CB-13164</a> - Integrated cordova-plugin-console to build in support for window.console.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-10916">CB-10916</a> - Support <a href="/docs/en/dev/config_ref/index.html#name">display name</a> for <strong>iOS</strong></li>
</ol>
<p><strong>Important!</strong> If you have included <code>cordova-plugin-console</code> in your project, you must <strong>remove</strong> it, otherwise your project will not build.</p>
<p>If you ever needed to disable the built in console plugin, comment out or remove the <code>Console</code> <code>&lt;feature&gt;</code> tag in your platform specific <code>config.xml</code>, and/or call this right after the <code>deviceready</code> event:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova.require('cordova/plugin/ios/logger').useLogger(false);
</code></pre></div></div>
<p>Other notable issues:</p>
<ol>
<li>Updated <code>ios-deploy</code> dependency to v1.9.2, which contains a fix for Xcode 9</li>
<li>Updated the bundled <code>ios-sim</code> to v6.0.0 with support for newer iPads (and this fixes some related bugs)</li>
<li>New <code>&lt;access&gt;</code> tag attribute <code>allows-arbitrary-loads-for-media</code> (which reflects the correct App Transport Security value). The old attribute <code>allows-arbitrary-loads-in-media</code> is deprecated.
<br /></li>
</ol>
<p><strong>Note:</strong> When updating <strong>iOS</strong>, make sure to save your plugins as current unsaved plugins may not be reinstalled otherwise. Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.5.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.5.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2017/09/08/ios-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 05 Sep 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/09/05/cordova-common-2.1.0.html">Cordova-Common@2.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">05 Sep 2017</span>
- by
<span class="author">
<a href="https://twitter.com/aud_rey_so">Audrey So</a>
</span>
<a class="comment" href="/news/2017/09/05/cordova-common-2.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We just released some changes to <code>cordova-common</code>!</p>
<ul>
<li><a href="https://www.npmjs.com/package/cordova-common">cordova-common@2.1.0</a></li>
</ul>
<p>Release Highlights:</p>
<ul>
<li>Support added for <code>&lt;config-file&gt;</code> in <code>config.xml</code>.</li>
<li><code>allows-arbitrary-loads-for-media</code> attribute parsing added for <code>getAccesses</code>.</li>
<li>Added variable replacing the <code>framework</code> tag.</li>
<li><code>JSON</code> uses 2 spaces for indentation.</li>
</ul>
<p>Watch for this release to start rolling into upcoming platform and <code>cordova-cli</code> releases.</p>
</p>
<div><a href="/news/2017/09/05/cordova-common-2.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 29 Aug 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/08/29/browser-serve-release.html">Cordova Browser@5 & Cordova Serve@2 Released!</a>
</h2>
<div class="details">
<span class="date">29 Aug 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2017/08/29/browser-serve-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We just released an update to <code>cordova-browser</code> and <code>cordova-serve</code></p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-browser">cordova-browser@5.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-serve">cordova-serve@2.0.0</a></li>
</ul>
<p>Release Highlights:</p>
<ul>
<li><em>cordova-browser:</em> Added <code>manifest.json</code> to browser projects. This enables basic Progressive Web App support</li>
<li><em>cordova-browser:</em> Implemented <code>PlatformApi</code>.</li>
<li><em>cordova-serve:</em> Removed Q dependency in favor of native javascript promises.</li>
<li><em>cordova-serve:</em> Changed default behavior of which browser is launched during serve. Now the serve command will use the system default browser instead of opening a new instance of chrome. You can still pass in a specific target</li>
</ul>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd my_project
cordova platform update browser@5.0.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add browser@5.0.0
</code></pre></div></div>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2017/08/29/browser-serve-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 12 May 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/05/12/tools-release.html">Tools Released!</a>
</h2>
<div class="details">
<span class="date">12 May 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2017/05/12/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We just released a small update to our tools!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova">cordova@7.0.1</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@7.0.1</a></li>
<li><a href="https://www.npmjs.com/package/cordova-create">cordova-create@1.1.1</a></li>
</ul>
<p>With this release, creating a new cordova app with our default template will include a <code>package.json</code> file by default.</p>
<p>To update your cordova CLI:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div></div>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2017/05/12/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 04 May 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/05/04/cordova-7.html">Apache Cordova 7.0.0</a>
</h2>
<div class="details">
<span class="date">04 May 2017</span>
- by
<span class="author">
<a href="https://twitter.com/aud_rey_so">Audrey So</a>
</span>
<a class="comment" href="/news/2017/05/04/cordova-7.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Apache Cordova 7.0.0</code> has been released!</p>
<p>Most notable changes include:</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova">cordova@7.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@7.0.0</a></li>
<li><a href="https://www.npmjs.com/package/plugman">plugman@1.5.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-app-hello-world">cordova-app-hello-world@3.12.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-common">cordova-common@2.0.3</a></li>
<li><a href="https://www.npmjs.com/package/cordova-create">cordova-create@1.1.0</a></li>
<li>
<p><a href="https://www.npmjs.com/package/cordova-fetch">cordova-fetch@1.1.0</a></p>
</li>
<li>If a <code>package.json</code> does not exist in your project, it will be auto-created for you when <code>cordova prepare</code> is called.</li>
<li>When adding a platform or plugin, the previous default behavior of not-saving has changed to saving. Now it will automatically save that platform or plugin to your <code>config.xml</code> and <code>package.json</code>. Details about platform and plugin versions are also automatically saved in <code>config.xml</code> and <code>package.json</code>. The <code>--save</code> flag is no longer required to save. Use <code>--nosave</code> to prevent saving to <code>config.xml</code> or <code>package.json</code>.</li>
<li>Fetch is now the default method for fetching platforms. Fetch uses your system <code>npm</code> to <code>npm install</code> modules into your project. The <code>--fetch</code> flag is no longer required. Use the <code>--nofetch</code> flag to revert to pre-<code>Cordova@7.0</code> behavior (<code>npm install</code> is not used to fetch modules).</li>
<li>After <code>cordova prepare</code> is run, <code>package.json</code> and <code>config.xml</code> should contain identical platforms and versions. In case of conflicts, <code>package.json</code> is given precedence over <code>config.xml</code>. For example, suppose <code>package.json</code> contains <code>cordova-android@6.0.0</code> and <code>config.xml</code> contains <code>cordova-android@4.0.0</code>. After <code>cordova prepare</code> is run, <code>config.xml</code> and <code>package.json</code> will each contain only <code>cordova-android@6.0.0</code>.</li>
<li>Platforms and plugins are now required to have a <code>package.json</code> file.</li>
<li>
<p>We have added support for custom platforms. This will allow future custom platforms, and modified versions of existing platforms. Example:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> cordova platform add custom-platform-name
</code></pre></div> </div>
</li>
<li>A <code>cordova config</code> command has been created to <code>set</code>, <code>get</code>, <code>delete</code>, <code>edit</code>, and <code>list</code> global Cordova options. For example, you can use the following command <code>cordova config set &lt;key&gt; &lt;value&gt;</code> to set the value of <code>autosave</code> or <code>fetch</code> to <code>true</code> or <code>false</code>.</li>
</ul>
In the following case, you are turning off <code>autosave</code> as the default setting. <code>autosave</code> is true by default in cordova. Example:
```
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova config set autosave false
```
In the following case, you are turning off `fetch` as the default setting. `fetch` is `true` by default in cordova. Example:
```
cordova config set fetch false
```
In addition, the `cordova config` command supports the `browserify` setting, which allows the JavaScript of plugins to be loaded at build time compared to run time. For instance, if the `browserify` value is not explicitly passed in by the user, the `cordova config` command will automatically set the `browserify` value saved in `~/.config/configstore/` to be saved `globally`. Users can get and set `browserify`. `browserify` is `false` by deafult in cordova. Example:
```
cordova config get browserify
cordova config set browserify true
```
</code></pre></div></div>
<ul>
<li>Dropped support for node 0.x. Only node versions 4.0 and up are supported.</li>
<li>Dropped support for wp8 (windows phone 8).</li>
<li><code>cordova-windows</code> : dropped support for any versions older than 4.0.0.</li>
<li><code>cordova-android</code> : dropped support for any versions older than 5.0.0.</li>
<li><code>cordova-ios</code> : dropped support for any versions older than 4.0.0.</li>
<li><code>cordova-osx</code> : dropped support for any versions older than 4.0.0.</li>
</ul>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div></div>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2017/05/04/cordova-7.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 04 May 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/05/04/android-release.html">Cordova Android 6.2.3 Released!</a>
</h2>
<div class="details">
<span class="date">04 May 2017</span>
- by
<span class="author">
<a href="https://twitter.com/filmaj">Fil Maj</a>
</span>
<a class="comment" href="/announcements/2017/05/04/android-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 6.2.3</code> has been released! This patch release <em>actually</em> adds support for the Android SDK Tools v26 and newer. Unfortunately, we forgot to include these changes in the 6.2.2 release.</p>
<p>We strongly recommend upgrading to this version if you are using the latest Android SDK Tools. Older versions of <code>cordova-android</code> do not work with the latest Android SDK Tools!</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@6.2.3
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@6.2.3
</code></pre></div></div>
<p>This release will have to be explicitly added until the upcoming <code>cordova@7</code> release, where it will be pinned as the default android platform.</p>
</p>
<div><a href="/announcements/2017/05/04/android-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 01 May 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/05/01/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">01 May 2017</span>
- by
<span class="author">
<a href="https://twitter.com/filmaj">Fil Maj</a>
</span>
<a class="comment" href="/news/2017/05/01/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status: 1.2.4 (dfec094)</li>
<li>cordova-plugin-camera: 2.4.1 (ba9a803)</li>
<li>cordova-plugin-console: 1.0.7 (fa26558)</li>
<li>cordova-plugin-contacts: 2.3.1 (1c27c9a)</li>
<li>cordova-plugin-device-motion: 1.2.5 (04ce0ea)</li>
<li>cordova-plugin-device-orientation: 1.0.7 (7af309f)</li>
<li>cordova-plugin-device: 1.1.6 (eeb48e8)</li>
<li>cordova-plugin-dialogs: 1.3.3 (34cccf6)</li>
<li>cordova-plugin-file: 4.3.3 (06ff0eb)</li>
<li>cordova-plugin-file-transfer: 1.6.3 (720f314)</li>
<li>cordova-plugin-geolocation: 2.4.3 (12fae5b)</li>
<li>cordova-plugin-globalization: 1.0.7 (273e5a6)</li>
<li>cordova-plugin-inappbrowser: 1.7.1 (ff6a765)</li>
<li>cordova-plugin-media: 3.0.1 (2a1ee43)</li>
<li>cordova-plugin-media-capture: 1.4.3 (b78a4b2)</li>
<li>cordova-plugin-network-information: 1.3.3 (710b53d)</li>
<li>cordova-plugin-screen-orientation: 2.0.1 (8699159)</li>
<li>cordova-plugin-splashscreen: 4.0.3 (85aa605)</li>
<li>cordova-plugin-statusbar: 2.2.3 (77a6ae5)</li>
<li>cordova-plugin-vibration: 2.1.5 (96c4ad6)</li>
<li>cordova-plugin-wkwebview-engine: 1.1.3 (fce6123)</li>
</ul>
<p>Release Highlights:</p>
<ul>
<li><strong>All Plugins</strong>: Updated Android 6 build badges, and added a package.json to the <code>tests/</code> folder in preparation for the Cordova@7 release.</li>
<li><strong>Contacts</strong>: <a href="https://issues.apache.org/jira/browse/CB-10496">CB-10496</a> Android now supports providing base64 encoded <code>data:</code> URIs as a contact&#39;s photo field.</li>
<li><strong>Device</strong>: <a href="https://issues.apache.org/jira/browse/CB-12105">CB-12105</a> Proper detection of the Edge browser.</li>
<li><strong>InAppBrowser</strong>: <a href="https://issues.apache.org/jira/browse/CB-12266">CB-12266</a> On the Browser platform, the <code>loadstop</code> event&#39;s <code>url</code> is now a string instead of an object, aligning it with the other platforms.</li>
<li><strong>Media</strong>: <a href="https://issues.apache.org/jira/browse/CB-12542">CB-12542</a> On iOS, fix <code>.wav</code> file recording and add <code>.m4a</code> recording support.</li>
<li><strong>Screen Orientation</strong>: <a href="https://issues.apache.org/jira/browse/CB-12543">CB-12543</a> On iOS, when locking the orientation, force a rotation to that orientation.</li>
<li><strong>StatusBar</strong>: <a href="https://issues.apache.org/jira/browse/CB-10879">CB-10879</a> On Android API 21+, enable <code>overlaysWebView</code>.</li>
</ul>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera --save
cordova plugin add cordova-plugin-camera@latest --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2017/05/01/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 28 Apr 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/04/28/android-release.html">Cordova Android 6.2.2 Released!</a>
</h2>
<div class="details">
<span class="date">28 Apr 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2017/04/28/android-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 6.2.2</code> has been released! This patch release adds support for <code>android sdk tools 26.0.1</code>. We strongly recommend upgrading to this version if you are using the latest <strong>Android sdk tools</strong>. Older versions of <strong>Cordova-Android</strong> do not work with the latest <strong>Android sdk tools</strong>!</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@6.2.2
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@6.2.2
</code></pre></div></div>
<p>This release will have to be explicitly added until the upcoming <code>cordova@7</code> release, where it will be pinned as the default android platform.</p>
</p>
<div><a href="/announcements/2017/04/28/android-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 26 Apr 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/04/26/ios-release.html">Cordova iOS 4.4.0</a>
</h2>
<div class="details">
<span class="date">26 Apr 2017</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/announcements/2017/04/26/ios-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce a minor version of <code>Cordova iOS 4.4.0</code> has been released!</p>
<p>Three new features were added:</p>
<ol>
<li><a href="https://cordova.apache.org/docs/en/latest/config_ref/index.html#resource-file">&lt;resource-file&gt;</a> tag support in config.xml</li>
<li><a href="https://cordova.apache.org/docs/en/latest/guide/platforms/ios/webview.html">Carthage support</a></li>
<li>Dynamic framework support through the <a href="https://cordova.apache.org/docs/en/dev/plugin_ref/spec.html#framework">&quot;embed&quot; attribute</a> of the &lt;framework&gt; tag in plugin.xml (needs cordova-cli@7.0.0, which is coming soon)</li>
</ol>
<p>Other notable issues:</p>
<ol>
<li>Fixed build error on Xcode 8.3.2</li>
<li>Removed iOS 8 Support (only iOS 9 and greater supported now)</li>
<li>Removed node.js 0.x support</li>
</ol>
<p><br /></p>
<p><strong>Note:</strong> When updating <strong>iOS</strong>, make sure to save your plugins as current unsaved plugins may not be reinstalled otherwise. Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.4.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.4.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2017/04/26/ios-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 05 Apr 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/04/05/android-release.html">Cordova Android 6.2.1 Released!</a>
</h2>
<div class="details">
<span class="date">05 Apr 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2017/04/05/android-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 6.2.1</code> has been released!</p>
<p>This release has fixed issues introduced by the <strong>Android SDK Tools 25.3.1</strong> release. <strong>Google</strong> dropped support for the <code>android</code> binary, so <code>cordova-android</code> has now adopted support for the <code>avdmanager</code> and <code>sdkmanager</code> binaries. We have also taken the opportunity to rewrite how we use gradle on the user&#39;s system. <code>cordova-android</code> now requires <em>Android Studio</em> or <em>Gradle</em> to be installed on the user&#39;s system.</p>
<p>This release also adds support for the <code>&lt;resource-file&gt;</code> element in <code>config.xml</code> which copies specified files during a <code>cordova prepare</code>. This allows providing arbitrary files such as special notification-sized icons, or API configuration JSON files.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@6.2.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@6.2.1
</code></pre></div></div>
<p>This release will have to be explicitly added until the upcoming <code>cordova@7</code> release, where it will be pinned as the default android platform.</p>
</p>
<div><a href="/announcements/2017/04/05/android-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 30 Mar 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/03/30/screen-orientation-plugin.html">Screen Orientation Plugin</a>
</h2>
<div class="details">
<span class="date">30 Mar 2017</span>
- by
<span class="author">
<a href="https://twitter.com/tweetsbymishra">Vishal Mishra</a>
</span>
<a class="comment" href="/news/2017/03/30/screen-orientation-plugin.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Originally posted at this <a href="https://blog.phonegap.com/cordova-screen-orientation-plugin-fabeba30a4c4">PhoneGap blog</a></p>
<h2>Cordova Screen Orientation Plugin</h2>
<p>The new version(2.0.0) of the cordova screen orientation plugin was released recently. The purpose of the plugin is to set/lock the screen orientation in a common way for all the major platforms. This new version conforms with the specifications mentioned in the <a href="https://www.w3.org/TR/screen-orientation/">W3C Screen Orientation API</a>, currently in open draft.</p>
<p>The plugin incorporates these major updates:</p>
<ol>
<li>Locking/unlocking the screen orientation.</li>
<li>Accessing the current screen orientation.</li>
<li>Addition of &#39;onchange&#39; event handler to the screen.orientation object.</li>
<li>A Demo App.</li>
</ol>
<h3>Locking/unlocking the screen orientation</h3>
<p>The screen orientation can be locked to a particular orientation, say, for example, landscape, using :</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">screen</span><span class="p">.</span><span class="nx">orientation</span><span class="p">.</span><span class="nx">lock</span><span class="p">(</span><span class="dl">'</span><span class="s1">landscape</span><span class="dl">'</span><span class="p">).</span><span class="nx">then</span><span class="p">(</span><span class="kd">function</span> <span class="nx">success</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">"</span><span class="s2">Successfully locked the orientation</span><span class="dl">"</span><span class="p">);</span>
<span class="p">},</span> <span class="kd">function</span> <span class="nx">error</span><span class="p">(</span><span class="nx">errMsg</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">"</span><span class="s2">Error locking the orientation :: </span><span class="dl">"</span> <span class="o">+</span> <span class="nx">errMsg</span><span class="p">);</span>
<span class="p">});</span>
</code></pre></div></div>
<p>The code above sets the screen orientation device to any landscape mode
( landscape-primary or landscape-secondary) depending upon the rotation.
The screen.orientation.lock(OrientationLockType); method returns a promise.On successfully setting the orientation, it resolves a promise. If the screen is not locked successfully, the promise rejects with &#39;NotSupportedError&#39; .
The screen orientation can be unlocked by using:</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">screen</span><span class="p">.</span><span class="nx">orientation</span><span class="p">.</span><span class="nx">unlock</span><span class="p">();</span>
</code></pre></div></div>
<p>The code above makes the screen adapt to the default orientation of the device. The unlock method does not return a promise.</p>
<h3>Accessing the current screen orientation</h3>
<p>The current screen orientation can be accessed as :</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">Orientation is</span><span class="dl">'</span> <span class="o">+</span> <span class="nx">screen</span><span class="p">.</span><span class="nx">orientation</span><span class="p">.</span><span class="nx">type</span><span class="p">);</span>
</code></pre></div></div>
<h3>Addition of &#39;onchange&#39; attribute to the screen.orientation object</h3>
<p>An example usage of the &#39;onchange&#39; event handler:</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">screen</span><span class="p">.</span><span class="nx">orientation</span><span class="p">.</span><span class="nx">onchange</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(){</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">screen</span><span class="p">.</span><span class="nx">orientation</span><span class="p">.</span><span class="nx">type</span><span class="p">);</span>
<span class="p">};</span>
</code></pre></div></div>
<p>The &#39;change&#39; event can also be added to the screen.orientation object :</p>
<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">screen</span><span class="p">.</span><span class="nx">orientation</span><span class="p">.</span><span class="nx">addEventListener</span><span class="p">(</span><span class="dl">'</span><span class="s1">change</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(){</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">screen</span><span class="p">.</span><span class="nx">orientation</span><span class="p">.</span><span class="nx">type</span><span class="p">);</span>
<span class="p">});</span>
</code></pre></div></div>
<h3>The Demo Application</h3>
<p>The demo application is included on the github repository. Once the plugin has been added to it, the demo application allows the user to test the orientation types with the screen.orientation.lock() method. The demo application is explained in detail <a href="https://www.youtube.com/watch?v=P4Ulb9SQllA&amp;t=5s">here</a>.</p>
</p>
<div><a href="/news/2017/03/30/screen-orientation-plugin.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 07 Mar 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/03/07/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">07 Mar 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2017/03/07/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status@1.2.3</li>
<li>cordova-plugin-camera@2.4.0</li>
<li>cordova-plugin-console@1.0.6</li>
<li>cordova-plugin-contacts@2.3.0</li>
<li>cordova-plugin-device-motion@1.2.4</li>
<li>cordova-plugin-device-orientation@1.0.6</li>
<li>cordova-plugin-device@1.1.5</li>
<li>cordova-plugin-dialogs@1.3.2</li>
<li>cordova-plugin-file-transfer@1.6.2</li>
<li>cordova-plugin-file@4.3.2</li>
<li>cordova-plugin-geolocation@2.4.2</li>
<li>cordova-plugin-globalization@1.0.6</li>
<li>cordova-plugin-inappbrowser@1.7.0</li>
<li>cordova-plugin-media@3.0.0</li>
<li>cordova-plugin-media-capture@1.4.2</li>
<li>cordova-plugin-network-information@1.3.2</li>
<li>cordova-plugin-splashscreen@4.0.2</li>
<li>cordova-plugin-statusbar@2.2.2</li>
<li>cordova-plugin-vibration@2.1.4</li>
<li>cordova-plugin-whitelist@1.3.2</li>
<li>cordova-plugin-wkwebview-engine@1.1.2</li>
<li>cordova-plugin-test-framework@1.1.5</li>
</ul>
<p>Release Highlights:</p>
<ul>
<li><strong>Camera:</strong> <a href="https://issues.apache.org/jira/browse/CB-12005">CB-12005</a> Changing the <code>getOrientation</code> method to return the defined enumerated <code>EXIF</code> instead of orientation in degrees for consistency</li>
<li><strong>InAppBrowser:</strong> <a href="https://issues.apache.org/jira/browse/CB-9148">CB-9148</a> <strong>Android:</strong> Add Support for <code>input[type=file]</code> File Chooser</li>
<li><strong>Media:</strong> Make the output file of <strong>Android</strong> an <code>acc</code> file. Major version bump to <code>3.0.0</code>. Media plugin now requires <code>cordova-android &gt;= 6.1.0</code></li>
<li><strong>WKWebview Engine:</strong> <a href="https://issues.apache.org/jira/browse/CB-12297">CB-12297</a> Support <code>WKProcessPool</code> for cookie sharing</li>
</ul>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera --save
cordova plugin add cordova-plugin-camera@latest --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2017/03/07/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 13 Feb 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/02/13/cordova-windows-5.0.0.html">Apache Cordova Windows 5.0.0</a>
</h2>
<div class="details">
<span class="date">13 Feb 2017</span>
- by
<span class="author">
<a href="https://github.com/daserge">Sergey Shakhnazarov</a>
</span>
<a class="comment" href="/announcements/2017/02/13/cordova-windows-5.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 5.0.0</code> has been released!</p>
<p>This release introduces <a href="https://issues.apache.org/jira/browse/CB-12163">a major change in resource-file behavior</a> (see <a href="https://github.com/apache/cordova-docs/pull/679">the docs</a> on how to get the previous behavior back for referenced files) and adds <a href="https://issues.apache.org/jira/browse/CB-12189">WinMD + C++ based DLL combination support for plugins</a>.<br />
Another highlight is <a href="http://cordova.apache.org/docs/en/dev/guide/platforms/win8/index.html#msbuild-build-flags">a new feature of <code>buildFlag</code></a> similar to <code>--gradleArg</code> on Android and <code>--buildFlag</code> on iOS allowing to pass custom flags to MSBuild.<br />
The release also fixes some issues with SplashScreen and VS project generation.<br />
See release notes below for more detals and the rest of the changes.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows@5.0.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@5.0.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2017/02/13/cordova-windows-5.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 01 Feb 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/blog/2017/02/01/committership.html">Apache Cordova : The Road to Committership</a>
</h2>
<div class="details">
<span class="date">01 Feb 2017</span>
- by
<span class="author">
<a href="https://github.com/audreyso">Audrey So</a>
</span>
<a class="comment" href="/blog/2017/02/01/committership.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><h2>Apache Cordova : The Road to Committership</h2>
<p>During my internship, there have been a lot of exciting, memorable highlights for me as a new developer - closing my first bug on Jira, committing to GitHub as a PhoneGap intern for the first time, and sending my very first pull request for review. All of these moments have stuck with me because they were completely new for me and also allowed me to contribute to the Cordova community in a real, relevant way. (Not all interns get an opportunity do awesome work like this!) My most memorable moment, however, happened a few months into my internship, when I received an email inviting me to become an official Apache Cordova Committer! For me, that was definitely a major highlight and one of the best days of my internship!</p>
<p>So what did I actually have to do to become an “official committer”? I’ll start by saying that I had to do a lot of things that were unfamiliar and challenging! Two main categories that I found I really needed to focus on were - (1) the technical work and (2) learning how to be an active member in the Cordova community.</p>
<h2>Technical Stuff</h2>
<p>In the very beginning of my internship, I started looking into the simplest issues on Jira and asking for some small issues that I could tackle with limited experience (fixing typos or even numbering tests, etc.). Even though I wasn’t contributing anything major, I was still going through the process of finding where the issue was, learning to develop a workflow, and becoming less overwhelmed by the many Cordova repos. Along the way, I asked questions, asked more questions, and then … yes… asked even more questions! I wanted to make sure that I was clear about what I was working on and why I was working on it. Sometimes the “why” part went over my head even after it was explained several times, but I kept re-asking anyway until things began to make sense. (Props to the team and mentors for being so patient and putting up with my occasional blank stares!)</p>
<p>I was gradually given more complex tasks to work on in Cordova. Debugging, helping to create new features, and testing is really where I spent the bulk of my time. I had to learn to read and understand others’ code, watch my mentor debug and try some of those strategies myself, write tests and use cases, test and retest, and receive feedback(sometimes from multiple people)! In retrospect, one of the most surprising and important things I discovered was how much effort actually goes into merging a pull request- something I was definitely not aware of before. I had to be patient and learn that just because everything is passing with beautiful, tiny green dots locally, the CI tests have to pass AND there also needs to be time for the community to do another final review. Finally, however, when your PR is finally merged in, it is really, really awesome!</p>
<h2>Community Stuff</h2>
<p>Another important part of working towards committership was to get familiar with the Cordova community, of course! As an outsider, reaching out to a community was and still is difficult, especially when you are new. There are already relationships, Slack channels, and expectations established so I wasn’t always sure how to interact and build a presence. Two things that really helped me to be more vocal was learning to triage on Jira and receiving feedback on my work from various members. These experiences helped me to talk to members in a one-on-one way, get a better understanding of the issues he/she was facing, and slowly start to build new relationships. Learning to be a greater part of the community is something that I’m still working on- however, on a positive note, I always find that when I talk to anyone in the Cordova community, he/she is always welcoming, here for support, or just willing to have a friendly chat, too.</p>
<h2>The Road Ahead</h2>
<p>A few things that I am continuing to work on:</p>
<ul>
<li>Continue to develop the jargon to ask better questions and communicate more effectively.</li>
<li>Make an effort to continue to be a part of the community (slack, jira, channels, blog posts).</li>
<li>Contribute to Cordova even though I already have my committership!</li>
</ul>
<p>While getting my committership was a goal I set for myself, I think it’s important to remember that with that comes responsibility. To me, committership means to show that you want to continue to be a part of open-source development and the Cordova community. I am so excited and proud to be able to do this and I’m really looking forward to what I’ll work on next!</p>
</p>
<div><a href="/blog/2017/02/01/committership.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 27 Jan 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/01/27/android-612.html">Apache Cordova Android 6.1.2 Released</a>
</h2>
<div class="details">
<span class="date">27 Jan 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2017/01/27/android-612.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>A Security issue was discovered in<code>cordova-android</code>. We are releasing <code>cordova-android@6.1.2</code> to address this security issue. We recommend that all <strong>Android</strong> applications built using <code>cordova-android</code> be upgraded to use version <code>6.1.2</code>. Other Cordova platforms such as <strong>iOS</strong> are unaffected, and do not have an update.</p>
<p>When using the Cordova CLI, update with the following command:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform update android@6.1.2
</code></pre></div></div>
<p>The security issue is <code>CVE-2017-3160</code></p>
<p>For your convenience, the text of this CVE is included here.</p>
</p>
<div><a href="/announcements/2017/01/27/android-612.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 23 Jan 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2017/01/23/tools-release.html">Tools Released!</a>
</h2>
<div class="details">
<span class="date">23 Jan 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2017/01/23/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New updates of our tools are now available!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova">cordova@6.5.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@6.5.0</a></li>
<li><a href="https://www.npmjs.com/package/plugman">plugman@1.4.1</a></li>
<li><a href="https://www.npmjs.com/package/cordova-js">cordova-js@4.2.1</a></li>
<li><a href="https://www.npmjs.com/package/cordova-common">cordova-common@2.0.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-create">cordova-create@1.0.2</a></li>
<li><a href="https://www.npmjs.com/package/cordova-fetch">cordova-fetch@1.0.2</a></li>
</ul>
<p>To update your cordova CLI:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div></div>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2017/01/23/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 05 Jan 2017 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2017/01/05/android-release.html">Cordova Android 6.1.1 Released!</a>
</h2>
<div class="details">
<span class="date">05 Jan 2017</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2017/01/05/android-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 6.1.1</code> has been released!</p>
<p>Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@6.1.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@6.1.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2017/01/05/android-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 12 Dec 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/12/12/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">12 Dec 2016</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/news/2016/12/12/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status: 1.2.2</li>
<li>cordova-plugin-inappbrowser: 1.6.1</li>
</ul>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>e.g. To update your inappbrowser plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-inappbrowser --save
cordova plugin add cordova-plugin-inappbrowser@latest --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2016/12/12/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 07 Dec 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/12/07/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">07 Dec 2016</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/news/2016/12/07/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status: 1.2.1</li>
<li>cordova-plugin-camera: 2.3.1</li>
<li>cordova-plugin-console: 1.0.5</li>
<li>cordova-plugin-contacts: 2.2.1</li>
<li>cordova-plugin-device: 1.1.4</li>
<li>cordova-plugin-device-motion: 1.2.3</li>
<li>cordova-plugin-device-orientation: 1.0.5</li>
<li>cordova-plugin-dialogs: 1.3.1</li>
<li>cordova-plugin-file: 4.3.1</li>
<li>cordova-plugin-file-transfer: 1.6.1</li>
<li>cordova-plugin-geolocation: 2.4.1</li>
<li>cordova-plugin-globalization: 1.0.5</li>
<li>cordova-plugin-legacy-whitelist: 1.1.2</li>
<li>cordova-plugin-media: 2.4.1</li>
<li>cordova-plugin-media-capture: 1.4.1</li>
<li>cordova-plugin-network-information: 1.3.1</li>
<li>cordova-plugin-splashscreen: 4.0.1</li>
<li>cordova-plugin-statusbar: 2.2.1</li>
<li>cordova-plugin-test-framework: 1.1.4</li>
<li>cordova-plugin-vibration: 2.1.3</li>
<li>cordova-plugin-whitelist: 1.3.1</li>
<li>cordova-plugin-wkwebview-engine: 1.1.1</li>
</ul>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>e.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera --save
cordova plugin add cordova-plugin-camera@latest --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2016/12/07/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 02 Dec 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/12/02/ios-release.html">Cordova iOS 4.3.1</a>
</h2>
<div class="details">
<span class="date">02 Dec 2016</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/announcements/2016/12/02/ios-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce a patch version of <code>Cordova iOS 4.3.1</code> has been released!</p>
<p><br /></p>
<p><strong>Note:</strong> When updating <strong>iOS</strong>, make sure to save your plugins as current unsaved plugins may not be reinstalled otherwise. Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.3.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.3.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/12/02/ios-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 07 Nov 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/11/07/android-release.html">Cordova Android 6.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">07 Nov 2016</span>
- by
<span class="author">
<a href="https://twitter.com/infil00p">Joe Bowser</a>
</span>
<a class="comment" href="/announcements/2016/11/07/android-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 6.1.0</code> has been released!</p>
<p>Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@6.1.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@6.1.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/11/07/android-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 25 Oct 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/10/25/tools-release.html">Tools Released!</a>
</h2>
<div class="details">
<span class="date">25 Oct 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2016/10/25/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New updates of our tools are now available!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova">cordova@6.4.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@6.4.0</a></li>
<li><a href="https://www.npmjs.com/package/plugman">plugman@1.4.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-js">cordova-js@4.2.0</a></li>
<li><a href="https://www.npmjs.com/package/cordova-common">cordova-common@1.5.1</a></li>
</ul>
<p><strong>Release Highlights</strong></p>
<ul>
<li><strong>Updated Platforms</strong> <a href="https://issues.apache.org/jira/browse/CB-12039">CB-12039</a>: updated pinned <strong>Android</strong> to <code>6.0.0</code> and <strong>iOS</strong> to <code>4.3.0</code>. Read the <a href="http://cordova.apache.org/announcements/2016/10/24/android-release.html">Android@6.0.0 release blog</a> and the <a href="http://cordova.apache.org/announcements/2016/10/24/ios-release.html">iOS@4.3.0 release blog</a>.</li>
<li><strong>Deprecation</strong> <a href="https://issues.apache.org/jira/browse/CB-11976">CB-11976</a>: Add deprecated node version warning for 0.x. Lean more about our <a href="http://cordova.apache.org/news/2016/10/01/0.x-4.x-deprecation-timeline.html">node deprecation timeline</a>.</li>
<li><strong>Deprecation</strong> <a href="https://issues.apache.org/jira/browse/CB-11979">CB-11979</a>: added deprecation warning for installing plugins via subdirectories</li>
<li><strong>Security</strong> <a href="https://issues.apache.org/jira/browse/CB-12017">CB-12017</a>: Updated npm dependencies due to security vulnerabilities.</li>
<li><strong>New Feature</strong> <a href="https://issues.apache.org/jira/browse/CB-11908">CB-11908</a>: Add <code>edit-config</code> support to <code>config.xml</code>. <code>edit-config</code> works the same way now in <code>plugin.xml</code> as well as <code>config.xml</code>. Read about it at http://cordova.apache.org/docs/en/6.x/plugin_ref/spec.html#edit-config</li>
<li><strong>New Feature</strong> <a href="https://issues.apache.org/jira/browse/CB-3785">CB-3785</a>: add support for <code>EventListener interface</code> to <code>Channel.prototype.subscribe</code></li>
<li><strong>New Module</strong> <a href="https://issues.apache.org/jira/browse/CB-11607">CB-11607</a>: split out <code>cordova-create</code> from <code>cordova-lib</code>. <a href="https://www.npmjs.com/package/cordova-create">Published</a> <code>cordova-create</code> to <code>npm</code>.</li>
</ul>
<p>To update your cordova CLI:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div></div>
<p>Please report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2016/10/25/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 24 Oct 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/10/24/ios-release.html">Cordova iOS 4.3.0</a>
</h2>
<div class="details">
<span class="date">24 Oct 2016</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/announcements/2016/10/24/ios-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce the minor version of <code>Cordova iOS 4.3.0</code> has been released!</p>
<p>This release includes:</p>
<ol>
<li><code>CocoaPods</code> support in <a href="/docs/en/latest/plugin_ref/spec.html#framework"><code>&lt;framework&gt;</code> tags</a> of plugins (static libraries only)</li>
<li>the <a href="/docs/en/latest/guide/platforms/ios/index.html#xcode-build-flags"><code>--buildFlag</code> option</a> to send extra <code>xcodebuild</code> flags when building/running your app</li>
<li>Both Xcode 7 and Xcode 8 support (<a href="/docs/en/latest/guide/platforms/ios/index.html#signing-an-app">automatic code signing</a>). Xcode 6 support has been dropped.</li>
<li>Support for the <a href="/docs/en/latest/guide/appdev/whitelist/index.html">four new App Transport Security</a> (ATS) keys <a href="https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW33">introduced</a> in iOS 10</li>
</ol>
<p><br /></p>
<p><strong>Note:</strong> When updating <strong>iOS</strong>, make sure to save your plugins as current unsaved plugins may not be reinstalled otherwise. Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.3.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.3.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/10/24/ios-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 24 Oct 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/10/24/cordova-windows-4.4.3.html">Apache Cordova Windows 4.4.3</a>
</h2>
<div class="details">
<span class="date">24 Oct 2016</span>
- by
<span class="author">
<a href="https://github.com/daserge">Sergey Shakhnazarov</a>
</span>
<a class="comment" href="/announcements/2016/10/24/cordova-windows-4.4.3.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 4.4.3</code> has been released!</p>
<p>This release fixes some major issues with application activation, splashscreen and VS project generation.<br />
See release notes below for more detals and the rest of the changes.</p>
<p>Cordova CLI starting from version 6.3.0 will automatically start using this version of <strong>cordova-windows</strong> when creating new projects.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows@4.4.3
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@4.4.3
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/10/24/cordova-windows-4.4.3.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 24 Oct 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/10/24/android-release.html">Cordova Android 6.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">24 Oct 2016</span>
- by
<span class="author">
<a href="https://twitter.com/infil00p">Joe Bowser</a>
</span>
<a class="comment" href="/announcements/2016/10/24/android-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce a major release for<code>Cordova Android 6.0.0</code> has been released!</p>
<p>Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@6.0.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@6.0.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/10/24/android-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 04 Oct 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/10/04/small-releases.html">Minor Releases</a>
</h2>
<div class="details">
<span class="date">04 Oct 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2016/10/04/small-releases.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following were recently released:</p>
<ul>
<li>cordova-plugin-geolocation: 2.4.0</li>
<li>cordova-create: 1.0.1</li>
<li>cordova-app-hello-world: 3.11.0</li>
</ul>
<p><strong>Google</strong> recently sent out warnings to everyone who uses <code>cordova-plugin-geolocation</code> about having to include <code>android.hardware.location.gps</code> to their <code>AndroidManifest.xml</code>. We updated <code>cordova-plugin-geolocation</code> plugin to auto add this setting to your project&#39;s <code>AndroidManifest.xml</code> when installing the plugin. This means that the geolocation plugin will only work on <strong>android</strong> devices that have a <code>GPS</code>. Let us know if this restriction affects you negatively.</p>
<p>Release Highlights:</p>
<ul>
<li><code>cordova-app-hello-world</code>: Updated default <code>CSP</code> to include <code>img-src</code> and add <code>content:</code> to it for <a href="https://issues.apache.org/jira/browse/CB-4078">CB-4078</a></li>
</ul>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your geolocation plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-geolocation --save
cordova plugin add cordova-plugin-geolocation@latest --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2016/10/04/small-releases.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 01 Oct 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/10/01/0.x-4.x-deprecation-timeline.html">Node 0.x and 4.x Deprecation Timeline for Apache Cordova</a>
</h2>
<div class="details">
<span class="date">01 Oct 2016</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/news/2016/10/01/0.x-4.x-deprecation-timeline.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Currently, all the platforms and plugins require a minimum of <code>node 0.10</code> to be installed. <code>node 0.10</code> has been out of <a href="https://github.com/nodejs/LTS" title="Node.js Long-term Support Working Group">LTS</a> for a while now, and its maintenance period (security bug fixes) <strong>stops on Oct 31st 2016</strong>. <code>node 0.12</code> will be out of maintenance <strong>Jan 1st 2017</strong>.</p>
<p>There will be two distinct deprecation periods, one for <code>node 0.x</code>, and one for <code>node 4.x</code>.</p>
<p><code>node 6.x</code> will be on active LTS <strong>Oct 18th 2016</strong> (thus the default and recommended version to download on <a href="http://nodejs.org">nodejs.org</a>) and will be the version we recommend users upgrade to, during both deprecation periods.</p>
<p>What does <code>node 6.x</code> give us? <a href="http://node.green/#ES2015" title="Node ES6 Support">99% ES2015 (ES6)</a> support, and <a href="http://node.green/#ES2016" title="Node ES7 Support">100% ES2016 (ES7)</a> support.</p>
<p>JavaScript files in plugins themselves are unaffected, since the JavaScript support for them is dependent on platform browser support. For example, ES6 is supported in iOS 10, while on older iOS platforms only ES5 is supported.</p>
</p>
<div><a href="/news/2016/10/01/0.x-4.x-deprecation-timeline.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 14 Sep 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/09/14/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">14 Sep 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2016/09/14/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status: 1.2.0</li>
<li>cordova-plugin-camera: 2.3.0</li>
<li>cordova-plugin-console: 1.0.4</li>
<li>cordova-plugin-contacts: 2.2.0</li>
<li>cordova-plugin-device: 1.1.3</li>
<li>cordova-plugin-device-motion: 1.2.2</li>
<li>cordova-plugin-device-orientation: 1.0.4</li>
<li>cordova-plugin-dialogs: 1.3.0</li>
<li>cordova-plugin-file: 4.3.0</li>
<li>cordova-plugin-file-transfer: 1.6.0</li>
<li>cordova-plugin-geolocation: 2.3.0</li>
<li>cordova-plugin-globalization: 1.0.4</li>
<li>cordova-plugin-inappbrowser: 1.5.0</li>
<li>cordova-plugin-media: 2.4.0</li>
<li>cordova-plugin-media-capture: 1.4.0</li>
<li>cordova-plugin-network-information: 1.3.0</li>
<li>cordova-plugin-splashscreen: 4.0.0</li>
<li>cordova-plugin-statusbar: 2.2.0</li>
<li>cordova-plugin-test-framework: 1.1.3</li>
<li>cordova-plugin-vibration: 2.1.2</li>
<li>cordova-plugin-whitelist: 1.3.0</li>
<li>cordova-plugin-wkwebview-engine: 1.1.0</li>
</ul>
<p>Release Highlights:</p>
<ul>
<li><code>camera</code>, <code>contacts</code> and <code>media-capture</code> have been updated to work with <strong>iOS 10</strong></li>
<li><code>camera</code>:<a href="https://issues.apache.org/jira/browse/CB-4078">CB-4078</a> Fix for <code>orientation/scaling</code> on <strong>Android 4.4+</strong> devices. Adds support for <code>content:</code>.</li>
<li><code>splashscreen</code>: <a href="https://issues.apache.org/jira/browse/CB-8056">CB-8056</a> Implement splashscreen for <strong>Windows</strong> platform</li>
<li>Various plugins: fixed issue where Plugin was using <code>Android Log class</code> and not <code>Cordova LOG class</code></li>
</ul>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera --save
cordova plugin add cordova-plugin-camera@latest --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2016/09/14/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 22 Aug 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/08/22/android-ios-release.html">Cordova Android 5.2.2 & Cordova iOS 4.2.1 Released!</a>
</h2>
<div class="details">
<span class="date">22 Aug 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2016/08/22/android-ios-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce patch releases for<code>Cordova Android 5.2.2</code> &amp; <code>Cordova iOS 4.2.1</code> have been released! We have also updated and released <code>Cordova Common 1.4.1</code>.</p>
<p>These release fixes issues with the new <code>edit-config</code> functionality in <code>plugin.xml</code>. Read more about <code>edit-config</code> at <a href="http://cordova.apache.org/docs/en/latest/plugin_ref/spec.html#edit-config">http://cordova.apache.org/docs/en/latest/plugin_ref/spec.html#edit-config</a>.</p>
<p><strong>Note:</strong> When updating <strong>iOS</strong>, make sure to save your plugins as current unsaved plugins may not be reinstalled otherwise. Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@5.2.2
cordova platform rm ios
cordova platform add ios@4.2.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@5.2.2
cordova platform add ios@4.2.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/08/22/android-ios-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 12 Aug 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/08/12/tools-release.html">Tools Release</a>
</h2>
<div class="details">
<span class="date">12 Aug 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-Kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/news/2016/08/12/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New updates of <code>cordova</code> and <code>cordova-lib</code> are now available!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova">cordova@6.3.1</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@6.3.1</a></li>
</ul>
<p>In this release we&#39;ve fixed a couple of bugs, including regression that was causing <code>cordova run</code> and <code>cordova emulate</code>
commands ignore <code>--nobuild</code> option.</p>
<p>To update your cordova CLI:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div></div>
<p>Make sure to report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2016/08/12/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 27 Jul 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/07/27/cordova-windows-4.4.2.html">Apache Cordova Windows 4.4.2</a>
</h2>
<div class="details">
<span class="date">27 Jul 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/announcements/2016/07/27/cordova-windows-4.4.2.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 4.4.2</code> has been released!</p>
<p>This release fixes some issues we&#39;ve missed in 4.4.1. In particular, we have fixed build issues experienced with
the new install experience in Visual Studio &quot;15&quot; previews. For the rest of changes see release notes below.</p>
<p>Cordova CLI 6.3.0 will automatically start using this version of <strong>cordova-windows</strong> when creating new projects.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows@4.4.2
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@4.4.2
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/07/27/cordova-windows-4.4.2.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 13 Jul 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/07/13/tools-release.html">Tools Release</a>
</h2>
<div class="details">
<span class="date">13 Jul 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-Kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/news/2016/07/13/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New updates of <code>cordova</code>, <code>cordova-lib</code>, <code>cordova-common</code> and <code>cordova-fetch</code> are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova">cordova@6.3.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@6.3.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-common@1.4.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-fetch@1.0.1</a></li>
</ul>
<p>Release Highlights:</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-11023">CB-11023</a> Add edit-config functionality</li>
<li><a href="https://issues.apache.org/jira/browse/CB-11412">CB-11412</a> template support for www folders</li>
<li><a href="https://issues.apache.org/jira/browse/CB-11349">CB-11349</a> added --fetch and cordova fetch to create --template</li>
<li><a href="https://issues.apache.org/jira/browse/CB-11491">CB-11491</a> Introduce before_deploy hook</li>
</ul>
<p>Starting from this version app and plugin developers will get the ability to edit XML configuration files from <code>config.xml</code> and
<code>plugin.xml</code> files using <code>edit-config</code> directive. The documentation for this feature is still under development but for now you can refer to this
<a href="https://github.com/apache/cordova-docs/pull/614/files?short_path=05fc570#diff-05fc570968adb1e99e14d627e082f7ea">pull request</a></p>
<p>Also the <code>cordova-fetch</code> feature is now available for <code>create</code> command and you can use it when creating new app from template.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova create Foo --template TEMPLATE_NAME --fetch
</code></pre></div></div>
<p>To update your cordova CLI:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div></div>
<p>Make sure to report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2016/07/13/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 13 Jul 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/07/13/cordova-windows-4.4.1.html">Apache Cordova Windows 4.4.1</a>
</h2>
<div class="details">
<span class="date">13 Jul 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/announcements/2016/07/13/cordova-windows-4.4.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 4.4.1</code> has been released!</p>
<p>In this release we have fixed a number of issues, related to application resuming, splash screen functionality and others.
Also we have added an ability to specify location of <code>msbuild</code> executable to build project.</p>
<p>The next Cordova CLI version will automatically start using this version of <strong>Cordova-Windows</strong> when creating new projects.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows@4.4.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@4.4.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/07/13/cordova-windows-4.4.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 11 Jul 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/07/11/cordova-android-5.2.1.html">Cordova Android 5.2.1</a>
</h2>
<div class="details">
<span class="date">11 Jul 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/announcements/2016/07/11/cordova-android-5.2.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 5.2.1</code> has been released!</p>
<p>This release fixes a small yet annoying bug that results in impossibility to deploy app on emulator with API 23 image.</p>
<p>This version will be used by default in next Cordova versions. As for now to install this version of <strong>Cordova-android</strong> you&#39;ll need to specify version explicitly.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@5.2.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@5.2.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/07/11/cordova-android-5.2.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 02 Jul 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/07/02/android-5.2.0.html">Cordova Android 5.2.0</a>
</h2>
<div class="details">
<span class="date">02 Jul 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2016/07/02/android-5.2.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 5.2.0</code> has been released!</p>
<p>This release includes many bug fixes. Read below for the full changelog.</p>
<p>A new version of the <code>cordova-cli</code> will need to be released to pin this version of <strong>cordova-android</strong> as the default version when creating a new project. If you want to start using this version now, make sure to specify the version when doing a <code>cordova platform add/update</code>.</p>
<p><strong>Note:</strong> When updating, make sure to save your plugins as current unsaved plugins may not be reinstalled otherwise. Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@5.2.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@5.2.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/07/02/android-5.2.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 23 Jun 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/06/23/ios-4.2.0.html">Cordova iOS 4.2.0</a>
</h2>
<div class="details">
<span class="date">23 Jun 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2016/06/23/ios-4.2.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova iOS 4.2.0</code> has been released!</p>
<p>Along with some bug fixes, this release adds support for node 6 to <code>cordova-ios</code>!</p>
<p>A new version of the <code>cordova-cli</code> will need to be released to pin this version of <strong>cordova-ios</strong> as the default version when creating a new project. If you want to start using this version now, make sure to specify the version when doing a <code>cordova platform add/update</code>.</p>
<p><strong>Note:</strong> When updating, make sure to save your plugins as current unsaved plugins may not be reinstalled otherwise. Run the following command in your project to save your currently installed plugins into <code>config.xml</code>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin save
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.2.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.2.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/06/23/ios-4.2.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 14 Jun 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/06/14/cordova-ubuntu-4.3.4.html">Cordova Ubuntu 4.3.4</a>
</h2>
<div class="details">
<span class="date">14 Jun 2016</span>
- by
<span class="author">
<a href="https://twitter.com/dbarthc">David Barth</a>
</span>
<a class="comment" href="/announcements/2016/06/14/cordova-ubuntu-4.3.4.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p><code>Cordova Ubuntu 4.3.4</code> has been released.</p>
<p>This is a patch release, fixing bugs related to building and debugging Cordova apps targetting Ubuntu devices. See the changelog below for details.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update ubuntu@4.3.4
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ubuntu@4.3.4
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/06/14/cordova-ubuntu-4.3.4.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 03 Jun 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/06/03/cordova-windows-4.4.0.html">Apache Cordova Windows 4.4.0</a>
</h2>
<div class="details">
<span class="date">03 Jun 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/announcements/2016/06/03/cordova-windows-4.4.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 4.4.0</code> has been released!</p>
<p>This release adds some significant improvements, such as increased &#39;prepare&#39; performance due to new &#39;incremental prepare&#39; feature,
embedded splashscreen plugin support and others. See below for full list of changes.</p>
<p>The next Cordova CLI version will automatically start using this version of <strong>Cordova-Windows</strong> when creating new projects.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows@4.4.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@4.4.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/06/03/cordova-windows-4.4.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 24 May 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/05/24/tools-release.html">Tools Release</a>
</h2>
<div class="details">
<span class="date">24 May 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2016/05/24/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New updates of <code>cordova</code>, <code>cordova-lib</code>, <code>plugman</code> and <code>cordova-common</code> are now live! We have also released the first version of <code>cordova-fetch</code>, a module used by <code>cordova-lib</code> to fetch plugins and platforms via <code>npm install</code>.</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@6.2.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@6.2.0</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@1.3.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-common@1.3.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-fetch@1.0.0</a></li>
</ul>
<p>Release Highlights:</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-9858">CB-9858</a> added <code>--fetch</code> option</li>
<li><a href="https://github.com/apache/cordova-cli/pull/247">Telemetry</a> Added telemetry to <code>cordova</code> to collect data for data driven development. Goal is use data to help guide the development of <code>cordova</code>. <code>cordova</code> will issue a prompt on first use providing an option for the user to disable it. Type <code>cordova telemetry -h</code> for more info.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-11194">CB-11194</a> Improve cordova load time</li>
<li>Added support for <strong>node 6</strong> via <a href="https://issues.apache.org/jira/browse/CB-11200">CB-11200</a> Bump <code>node-xcode</code> dependency and update tests to past.</li>
</ul>
<p>The new <code>cordova-fetch</code> feature is behind the <code>--fetch</code> flag. Use it when adding and removing plugins and platforms.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin add/rm PLUGINID --fetch
cordova platform add/rm PLATFORM --fetch
</code></pre></div></div>
<p>This will fetch the plugin/platform and <code>npm install</code> it to your application. You should see a new <code>node_modules</code> directory. This is the first step towards us eventually supporting a <code>package.json</code> in your cordova applications.</p>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman@latest
</code></pre></div> </div>
</li>
</ul>
<p>Make sure to report any issues you find at <a href="http://issues.cordova.io/">issues.cordova.io</a>!</p>
</p>
<div><a href="/news/2016/05/24/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 27 Apr 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/04/27/security.html">CVE announcements for Cordova iOS</a>
</h2>
<div class="details">
<span class="date">27 Apr 2016</span>
- by
<span class="author">
<a href="https://github.com/tony--">Tony Homer</a>
</span>
<a class="comment" href="/announcements/2016/04/27/security.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>CVE-2015-5207 - Bypass of Access Restrictions in Apache Cordova iOS</p>
<p>Severity:
High</p>
<p>Vendor:
The Apache Software Foundation</p>
<p>Versions Affected:
cordova-ios 3.9.2 and below</p>
<p>Description:
Apache Cordova iOS contains 2 methods to bypass the URL access restrictions provided by the whitelist. An attacker can use any of the 2 methods to load malicious resources in an app that uses a whitelist to only load trusted resources.</p>
<p>Upgrade path:
Developers who are concerned about this issue should install version 4.0.0 or higher of the cordova-ios platform.</p>
<p>Credit:
This issue was discovered by Muneaki Nishimura (nishimunea) of Recruit Technologies Co.,Ltd.
<em>__</em></p>
<p>CVE-2015-5208 - Arbitrary plugin execution issue in Apache Cordova iOS</p>
<p>Severity:
High</p>
<p>Vendor:
The Apache Software Foundation</p>
<p>Versions Affected:
cordova-ios 3.9.2 and below</p>
<p>Description:
An arbitrary plugin can be executed when a user clicks on a link.</p>
<p>Upgrade path:
Developers who are concerned about this issue should install version 4.0.0 or higher of the cordova-ios platform.</p>
<p>Credit:
This issue was discovered by Muneaki Nishimura (nishimunea) of Recruit Technologies Co.,Ltd.</p>
</p>
<div><a href="/announcements/2016/04/27/security.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 20 Apr 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/04/20/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">20 Apr 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2016/04/20/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status: 1.1.2</li>
<li>cordova-plugin-camera: 2.2.0</li>
<li>cordova-plugin-console: 1.0.3</li>
<li>cordova-plugin-contacts: 2.1.0</li>
<li>cordova-plugin-device: 1.1.2</li>
<li>cordova-plugin-device-motion: 1.2.1</li>
<li>cordova-plugin-device-orientation:</li>
<li>cordova-plugin-dialogs: 1.2.1</li>
<li>cordova-plugin-file: 4.2.0</li>
<li>cordova-plugin-file-transfer: 1.5.1</li>
<li>cordova-plugin-geolocation: 2.2.0</li>
<li>cordova-plugin-inappbrowser: 1.4.0</li>
<li>cordova-plugin-media: 2.3.0</li>
<li>cordova-plugin-media-capture: 1.3.0</li>
<li>cordova-plugin-network-information: 1.2.1</li>
<li>cordova-plugin-splashscreen: 3.2.2</li>
<li>cordova-plugin-statusbar: 2.1.3</li>
<li>cordova-plugin-test-framework: 1.1.2</li>
<li>cordova-plugin-vibration: 2.1.1</li>
<li>cordova-plugin-whitelist: 1.2.2</li>
<li>cordova-plugin-wkwebview-engine: 1.0.3</li>
<li>cordova-plugin-compat: 1.0.0</li>
</ul>
<p>This release includes a new plugin named <a href="https://github.com/apache/cordova-plugin-compat">cordova-plugin-compat</a>. <code>cordova-plugin-compat</code> allows backwards compatibility for plugins that had to upgrade to the new permissions model for <code>cordova-android@5+</code>. Plugin authors can use and depend on <code>cordova-plugin-compat</code> to continue to support older versions (<code>&lt;5</code>) of <code>cordova-android</code>. Checkout the <a href="https://github.com/apache/cordova-plugin-compat">cordova-plugin-compat repo</a> for more information. Previously, we were packaging copies of <code>PermissionHelper.java</code> with the plugins that needed the permission updates, but have now decided that it would be better to store <code>PermissionHelper.java</code> in <code>cordova-plugin-compat</code>.</p>
<p>Plugin authors can also use the new <a href="http://cordova.apache.org/docs/en/latest/plugin_ref/spec.html#engines-and-engine">engines element</a> to specify what versions of <code>cordova-android</code> your plugin supports. Read more about it in our <a href="http://cordova.apache.org/announcements/2016/03/22/new-plugin-fetching.html">plugin fetching blog post</a>.</p>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera --save
cordova plugin add cordova-plugin-camera@latest --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2016/04/20/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 05 Apr 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/04/05/cordova-windows-4.3.2.html">Apache Cordova Windows 4.3.2</a>
</h2>
<div class="details">
<span class="date">05 Apr 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/announcements/2016/04/05/cordova-windows-4.3.2.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 4.3.2</code> has been released!</p>
<p>This release fixes a number of bugs including an issue when some of <code>config-file</code> changes were not applied to appxmanifest files
and the bug with omitted icons, specified using <code>target</code> attribute (see <a href="http://cordova.apache.org/docs/en/latest/config_ref/images.html#windows">icons guide</a>
for <code>target</code> attribute usage). See below for full list of changes.</p>
<p>Cordova CLI 6.1.1 will automatically start using this version of <strong>Cordova-Windows</strong> when creating new projects.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows@4.3.2
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@4.3.2
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/dev/guide/platforms/win8/upgrade.html">upgrade guide</a>.</p>
</p>
<div><a href="/announcements/2016/04/05/cordova-windows-4.3.2.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 04 Apr 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/04/04/tools-release.html">Tools Release</a>
</h2>
<div class="details">
<span class="date">04 Apr 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/news/2016/04/04/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New patch update of <code>cordova-cli</code> and <code>cordova</code> are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@6.1.1</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@6.1.1</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@1.2.1</a></li>
</ul>
<p>We had to fix a few issues that were discovered with the recent 6.1.0 release.</p>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman@latest
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2016/04/04/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 04 Apr 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/04/04/ios-4.1.1.html">Cordova iOS 4.1.1</a>
</h2>
<div class="details">
<span class="date">04 Apr 2016</span>
- by
<span class="author">
<a href="https://twitter.com/ednaymorales">Edna Morales</a>
</span>
<a class="comment" href="/announcements/2016/04/04/ios-4.1.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova iOS 4.1.1</code> has been released!</p>
<p>This release addresses issue <a href="https://issues.apache.org/jira/browse/CB-10773">CB-10773</a>, which was an issue with creating an iOS project on a Windows machine and then building on OSX.</p>
<p>A new version of the <code>cordova-cli</code> will need to be released to pin this version of <strong>cordova-ios</strong> as the default version when creating a new project. If you want to start using this version now, make sure to specify the version when doing a <code>cordova platform add/update</code>.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.1.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.1.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/04/04/ios-4.1.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 23 Mar 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/03/23/tools-release.html">Cordova 6.1.0 Released!</a>
</h2>
<div class="details">
<span class="date">23 Mar 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2016/03/23/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of cordova tools are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@6.1.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@6.1.0</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@1.2.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@4.1.4</a></li>
<li><a href="https://www.npmjs.com/package/cordova-common">cordova-common@1.1.1</a></li>
</ul>
<p>Release Highlights include:</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-10679">CB-10679</a> implemented new plugin fetching logic. We now allow community plugins to define cordova engine restrictions. Read about it in our <a href="http://cordova.apache.org/announcements/2016/03/22/new-plugin-fetching.html">new plugin fetching blog post</a>.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-10880">CB-10880</a> Removed plugin pinning. Replaced by new plugin fetching logic.</li>
</ul>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman@latest
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2016/03/23/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 22 Mar 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/03/22/new-plugin-fetching.html">Upcoming Changes to Plugin Fetching</a>
</h2>
<div class="details">
<span class="date">22 Mar 2016</span>
- by
<span class="author">
<a href="https://github.com/riknoll">Richard Knoll</a>
</span>
<a class="comment" href="/announcements/2016/03/22/new-plugin-fetching.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The Cordova 6.0.0 release introduced the pinning of core plugin
versions in cordova-lib.</p>
<p>We are happy to announce that one of the new features in the upcoming
Cordova 6.1.0 release is a general API that allows any plugin to guide
the CLI in choosing a compatible plugin release to fetch for a given project.
This moves the plugin dependency information out of cordova-lib so that it
can update independently of the Cordova tools and support third-party plugins
outside of core. Our hope is that this feature will improve Cordova&#39;s plugin
ecosystem and reduce some of the frustration that Cordova developers face when
adding a new plugin to a project.</p>
</p>
<div><a href="/announcements/2016/03/22/new-plugin-fetching.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 12 Mar 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/03/12/plugin-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">12 Mar 2016</span>
- by
<span class="author">
<a href="https://twitter.com/csantanapr">Carlos Santana</a>
</span>
<a class="comment" href="/news/2016/03/12/plugin-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-camera@2.1.1</li>
<li>cordova-plugin-statusbar@2.1.2</li>
<li>cordova-plugin-globalization@1.0.3</li>
<li>cordova-plugin-splashscreen@3.2.1</li>
</ul>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera --save
cordova plugin add cordova-plugin-camera@2.1.1 --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2016/03/12/plugin-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 04 Mar 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/03/04/cordova-browser-4.1.0.html">Cordova Browser 4.1.0</a>
</h2>
<div class="details">
<span class="date">04 Mar 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/announcements/2016/03/04/cordova-browser-4.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Browser 4.1.0</code> has been released. It will be the default <strong>Browser</strong> version after the next <code>cordova-cli</code> release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update browser@4.1.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add browser@4.1.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/03/04/cordova-browser-4.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 03 Mar 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/03/03/docs-improvement.html">Significant Documentation Updates</a>
</h2>
<div class="details">
<span class="date">03 Mar 2016</span>
- by
<span class="author">
<a href="https://github.com/rakatyal">Raghav Katyal</a>
</span>
<a class="comment" href="/announcements/2016/03/03/docs-improvement.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that we have made significant content updates to our documentation.</p>
</p>
<div><a href="/announcements/2016/03/03/docs-improvement.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 02 Mar 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/03/02/ios-4.1.0.html">Cordova iOS 4.1.0</a>
</h2>
<div class="details">
<span class="date">02 Mar 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2016/03/02/ios-4.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova iOS 4.1.0</code> has been released!</p>
<p>This release addresses issue <a href="https://issues.apache.org/jira/browse/CB-10530">CB-10530</a>, which was an issue with your apps periodically freezing directly after starting.</p>
<p>A new version of the <code>cordova-cli</code> will need to be released to pin this version of <strong>cordova-ios</strong> as the default version when creating a new project. If you want to start using this version now, make sure to specify the version when doing a <code>cordova platform add/update</code>.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.1.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.1.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/03/02/ios-4.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 02 Mar 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/03/02/cordova-android-5.1.1.html">Cordova Android 5.1.1</a>
</h2>
<div class="details">
<span class="date">02 Mar 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2016/03/02/cordova-android-5.1.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 5.1.1</code> has been released.</p>
<p>Cordova CLI 6.0.0 will automatically start using this version of <strong>Cordova-Android</strong> when creating new projects.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@5.1.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@5.1.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/03/02/cordova-android-5.1.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 16 Feb 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/02/16/osx-4.0.0.html">Cordova OSX 4.0.0</a>
</h2>
<div class="details">
<span class="date">16 Feb 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2016/02/16/osx-4.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova OSX 4.0.0</code> has been released! This was a much needed updated to get <code>cordova-osx</code> working with the <code>cordova-cli</code>. Try it out!</p>
<p>Add it to your projects via:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add osx@4.0.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/02/16/osx-4.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 09 Feb 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/02/09/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">09 Feb 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/news/2016/02/09/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin file@4.1.1</li>
<li>cordova-plugin-inappbrowser@1.3.0</li>
<li>cordova-plugin-media@2.2.0</li>
<li>cordova-plugin-statusbar@2.1.1</li>
<li>cordova-plugin-splashscreen@3.2.0</li>
<li>cordova-plugin-wkwebviewengine@1.0.2</li>
</ul>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your media plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-media --save
cordova plugin add cordova-plugin-media@2.2.0 --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2016/02/09/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 04 Feb 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/02/04/plugins-release.html">cordova-plugin-inappbrowser Plugin Release</a>
</h2>
<div class="details">
<span class="date">04 Feb 2016</span>
- by
<span class="author">
<a href="https://twitter.com/sgrebnov">Sergey Grebnov</a>
</span>
<a class="comment" href="/news/2016/02/04/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>An important regression issue was discovered for <code>cordova-plugin-inappbrowser</code> version <code>1.2.0</code>.
We are releasing version <code>1.2.1</code> of <code>cordova-plugin-inappbrowser</code> to address
<a href="https://issues.apache.org/jira/browse/CB-10407">CB-10407</a>: InAppBrowser not firing <code>loadstart</code> event on <strong>Android</strong>. This release also includes some other improvements for <strong>Android</strong>, <strong>iOS</strong> and <strong>Windows</strong> platforms.</p>
<hr />
<p>You can update the plugin by removing it, and then re-adding it.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-inappbrowser --save
cordova plugin add cordova-plugin-inappbrowser --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2016/02/04/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 04 Feb 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/02/04/cordova-windows-4.3.1.html">Apache Cordova Windows 4.3.1</a>
</h2>
<div class="details">
<span class="date">04 Feb 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/announcements/2016/02/04/cordova-windows-4.3.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 4.3.1</code> has been released!</p>
<p>This is a patch release which fixes a couple of small bugs related to plugins installation, and the significant issue that caused Windows 10 Universal apps to restart instead of resume in some cases.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows@4.3.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@4.3.1
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/dev/guide/platforms/win8/upgrade.html">upgrade guide</a>.</p>
</p>
<div><a href="/announcements/2016/02/04/cordova-windows-4.3.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 28 Jan 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/01/28/tools-release.html">Cordova 6.0.0 Released!</a>
</h2>
<div class="details">
<span class="date">28 Jan 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2016/01/28/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of cordova tools are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@6.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@6.0.0</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@1.1.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@4.1.3</a></li>
</ul>
<p>Release Highlights include:</p>
<ul>
<li>Updated default platform versions to <code>cordova-android@5</code>, <code>cordova-ios@4</code> and <code>cordova-windows@4.3</code>.
<ul>
<li><code>cordova-android@5.1</code> supports <strong>Android 6.X.X (Marshmallow)</strong></li>
<li><code>cordova-ios@4.0</code> adds <strong>iOS9</strong> and <code>WKWebView</code> support</li>
<li><code>cordova-windows@4.3</code> updated the platform to use the new Platform API.</li>
</ul>
</li>
<li>Added a new template feature to <code>create</code> command. E.g. <code>cordova create --template cordova-app-hello-world</code>. This can fetch templates via <strong>npm</strong>, <strong>git URL</strong> or local paths.</li>
<li>Removed support for our old <strong>Cordova Plugins Registry</strong>. Now plugins can only be installed via <strong>npm</strong>, <strong>git URL</strong> or local paths.</li>
<li>Added default plugin pinning to <code>cordova</code>. This means that <code>cordova plugin add cordova-plugin-camera</code> will fetch the pinned version of the plugin instead of the always grabbing the <code>latest</code>. Users can still install any version of a plugin via <code>cordova plugin add cordova-plugin-camera@VERSION</code>.</li>
<li>Added deprecation notices for <strong>amazon-fireos</strong> and <strong>wp8</strong>. We are aiming to remove support for these platforms in 6 months. Target <strong>Android</strong> and <strong>Windows</strong> instead.</li>
</ul>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman@latest
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2016/01/28/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sun, 24 Jan 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/01/24/cordova-android-5.1.0.html">Cordova Android 5.1.0</a>
</h2>
<div class="details">
<span class="date">24 Jan 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2016/01/24/cordova-android-5.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 5.1.0</code> has been released.</p>
<p>This update introduces a new API for Android plugin authors. Plugins that launch external activities can now better handle method calls on devices that are low on memory. In that scenario, the Android OS will sometimes kill the Cordova Activity when it is pushed into the background by the external Activity. This causes the plugin to lose any callbacks they have pending in the javascript. The new API allows the results of external Activity calls to be delivered via the resume event that is fired in the javascript after the Cordova Activity is destroyed and recreated. Plugin authors wishing to implement the new API should read the updated plugin guide <a href="http://cordova.apache.org/docs/en/dev/guide/platforms/android/plugin.html">here</a>.</p>
<p>Two core plugins support this new API and have been updated to fix longstanding bugs:</p>
<ul>
<li><code>cordova-plugin-camera@2.1.0</code> (fixes <a href="https://issues.apache.org/jira/browse/CB-9189">CB-9189</a>)</li>
<li><code>cordova-plugin-contacts@2.0.1</code> (fixes <a href="https://issues.apache.org/jira/browse/CB-9189">CB-10159</a>)</li>
</ul>
<p>Application authors are encouraged to update both their plugin and cordova-android versions to take advantage of these bug fixes. Please note that the aforementioned fixes require changes to your application as well. More information can be found in the READMEs of each of those plugins and in the new <a href="http://cordova.apache.org/docs/en/dev/guide/platforms/android/lifecycle.html">Android lifecycle guide</a> that has been published to the Cordova documentation. This guide provides explanations and guidance on how to handle low memory scenarios on the Android platform as well as integrate the new resume APIs into your application.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@5.1.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@5.1.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/01/24/cordova-android-5.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 19 Jan 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2016/01/19/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">19 Jan 2016</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2016/01/19/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-camera@2.1.0</li>
<li>cordova-plugin-contacts@2.0.1</li>
<li>cordova-plugin-device@1.1.1</li>
<li>cordova-plugin-file@4.1.0</li>
<li>cordova-plugin-file-transfer@1.5.0</li>
<li>cordova-plugin-geolocation@2.1.0</li>
<li>cordova-plugin-inappbrowser@1.2.0</li>
<li>cordova-plugin-media@2.1.0</li>
<li>cordova-plugin-media-capture@1.2.0</li>
<li>cordova-plugin-network-information@1.2.0</li>
<li>cordova-plugin-splashscreen@3.1.0</li>
<li>cordova-plugin-statusbar@2.1.0</li>
<li>cordova-plugin-test-framework@1.1.1</li>
<li>cordova-plugin-vibration@2.1.0</li>
<li>cordova-plugin-whitelist@1.2.1</li>
</ul>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera --save
cordova plugin add cordova-plugin-camera --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2016/01/19/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 18 Jan 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/01/18/cordova-windows-4.3.0.html">Apache Cordova Windows 4.3.0</a>
</h2>
<div class="details">
<span class="date">18 Jan 2016</span>
- by
<span class="author">
<a href="https://github.com/vladimir-kotikov">Vladimir Kotikov</a>
</span>
<a class="comment" href="/announcements/2016/01/18/cordova-windows-4.3.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 4.3.0</code> has been released!</p>
<p>This release mostly aims to bring support for <a href="https://github.com/cordova/cordova-discuss/pull/12">Platform Api</a> interface and <a href="https://github.com/cordova/cordova-discuss/issues/14">unified message logging</a> for <strong>Windows</strong>. It will be the default <strong>Windows</strong> version after the next <code>cordova-cli</code> release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows@4.3.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@4.3.0
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/announcements/2016/01/18/cordova-windows-4.3.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 08 Jan 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/01/08/cordova-ubuntu-4.3.3.html">Cordova Ubuntu 4.3.3</a>
</h2>
<div class="details">
<span class="date">08 Jan 2016</span>
- by
<span class="author">
<a href="https://twitter.com/dbarthc">David Barth</a>
</span>
<a class="comment" href="/announcements/2016/01/08/cordova-ubuntu-4.3.3.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p><code>Cordova Ubuntu 4.3.3</code> has been released.</p>
<p>This is an important patch release, fixing a critical issue in the runtime. Developers are urged to update the Ubuntu platform support code of their app to this latest release immediately. This will ensure applications will continue to work with the latest Oxide 1.12 release in Ubuntu.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update ubuntu@4.3.3
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ubuntu@4.3.3
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/01/08/cordova-ubuntu-4.3.3.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 08 Jan 2016 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2016/01/08/cordova-ubuntu-4.3.2.html">Cordova Ubuntu 4.3.2</a>
</h2>
<div class="details">
<span class="date">08 Jan 2016</span>
- by
<span class="author">
<a href="https://twitter.com/dbarthc">David Barth</a>
</span>
<a class="comment" href="/announcements/2016/01/08/cordova-ubuntu-4.3.2.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Ubuntu 4.3.2</code> has been released. This is a patch release, with several usability improvements and an update of the default framework to <code>ubuntu-sdk-15.04</code>.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update ubuntu@4.3.2
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ubuntu@4.3.2
</code></pre></div></div>
</p>
<div><a href="/announcements/2016/01/08/cordova-ubuntu-4.3.2.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 18 Dec 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/12/18/cordova-ios-4.0.1.html">Cordova iOS 4.0.1</a>
</h2>
<div class="details">
<span class="date">18 Dec 2015</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/announcements/2015/12/18/cordova-ios-4.0.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova iOS 4.0.1</code> has been released. This is a patch release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update ios@4.0.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.0.1
</code></pre></div></div>
</p>
<div><a href="/announcements/2015/12/18/cordova-ios-4.0.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 14 Dec 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/12/14/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">14 Dec 2015</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/news/2015/12/14/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-inappbrowser@1.1.1</li>
<li>cordova-plugin-wkwebview-engine@1.0.1</li>
</ul>
<p>This release brings <code>cordova-ios@4.0.0</code> platform compatibility to the <code>cordova-plugin-inappbrowser</code> plugin, and it is also backwards compatible with cordova-ios@3.</p>
<p>The <code>cordova-plugin-wkwebview-engine</code> plugin was updated to fix a bug related to loading pages in <code>cordova-plugin-inappbrowser</code>.</p>
<p>To install:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin add cordova-plugin-inappbrowser --save
cordova plugin add cordova-plugin-wkwebview-engine --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2015/12/14/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 08 Dec 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/12/08/wkwebview-engine-plugin-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">08 Dec 2015</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/news/2015/12/08/wkwebview-engine-plugin-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-wkwebview-engine@1.0.0</li>
</ul>
<p>This is the initial release of this plugin. This plugin requires <code>cordova-ios@4.0.0</code>. Please read the <a href="http://cordova.apache.org/announcements/2015/12/08/cordova-ios-4.0.0.html">iOS 4.0.0 release blog</a> for instructions to update.</p>
<p>To install:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin add cordova-plugin-wkwebview-engine --save
</code></pre></div></div>
<p>If you are thinking of migrating from using the UIWebView on iOS, please read the <a href="https://github.com/apache/cordova-plugin-wkwebview-engine/blob/master/README.md">README</a> and also take note of the <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20labels%20%3D%20wkwebview-known-issues">limitations of this plugin</a>.</p>
<p>Changes include:</p>
</p>
<div><a href="/news/2015/12/08/wkwebview-engine-plugin-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 08 Dec 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/12/08/cordova-ios-4.0.0.html">Cordova iOS 4.0.0</a>
</h2>
<div class="details">
<span class="date">08 Dec 2015</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/announcements/2015/12/08/cordova-ios-4.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova iOS 4.0.0</code> has been released.</p>
<p>This is a major release, and <a href="https://github.com/apache/cordova-ios/blob/master/guides/API%20changes%20in%204.0.md">deprecated APIs have been removed</a>. Some 3rd party plugins might require updates before they are compatible. This release adds first-class support for pluggable webviews - namely we now support <a href="https://developer.apple.com/library/ios/documentation/WebKit/Reference/WKWebView_Ref/">WKWebView</a> -- a bundled modern WebView for iOS!</p>
<p>The platform now supports Asset Catalogs for splashscreens and icons -- this is all transparent to you when using the <code>&lt;splash&gt;</code> and <code>&lt;icon&gt;</code> tags in <a href="http://cordova.apache.org/docs/en/latest/config_ref/images.html">config.xml</a>.</p>
<p><a href="https://www.npmjs.com/package/ios-sim">ios-sim</a> is bundled with the platform now, you will not need to install this separately anymore. However for <a href="https://www.npmjs.com/package/ios-deploy">ios-deploy</a> you will need to update your version to the latest.</p>
<p>The minimum deployment target has been updated to <strong>iOS 8.0</strong>. This means that this platform release has only been tested on iOS 8 devices and greater only and will only support those iOS versions.</p>
<p><code>cordova-ios@4.0.0</code> will be the default iOS version in the next version of <code>cordova</code>. If you just can&#39;t wait though, you can try it out now:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd my_project
cordova platform update ios@4.0.0
# To install the WKWebView engine (optional):
cordova plugin add cordova-plugin-wkwebview-engine
</code></pre></div></div>
<p>We are in the process of releasing the <code>cordova-plugin-wkwebview-engine</code> plugin to <a href="https://www.npmjs.com/">npm</a>. If you decide to update to <code>cordova-ios@4.0.0</code> before we release this plugin, please install the plugin via <code>git</code> for now.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin add https://github.com/apache/cordova-plugin-wkwebview-engine.git#1.0.0
</code></pre></div></div>
<p>Note that the <code>cordova-plugin-wkwebview-engine</code> plugin has some limitations versus the default UIWebView, please consult the <a href="https://github.com/apache/cordova-plugin-wkwebview-engine/blob/master/README.md">README</a> for more details.</p>
<p>In addition to the <code>&lt;access&gt;</code> tag, there is support for the new <code>&lt;allow-intent&gt;</code> and <code>&lt;allow-navigation&gt;</code> tags, documented <a href="https://github.com/apache/cordova-plugin-whitelist/blob/master/README.md">here</a>. Note that you do <em>not</em> need <code>cordova-plugin-whitelist</code> installed for <code>cordova-ios-4.0.0</code>.</p>
<p><code>cordova</code> will convert <code>&lt;access&gt;</code> and <code>&lt;allow-navigation&gt;</code> tags to the appropriate <a href="https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/">Application Transport Security (ATS)</a> directives which are new in iOS 9. <code>&lt;access&gt;</code> and <code>&lt;allow-navigation&gt;</code> tags also <a href="http://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/index.html">support two new attributes</a>: <code>minimum-tls-version</code> and <code>requires-forward-secrecy</code>.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update ios@4.0.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@4.0.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2015/12/08/cordova-ios-4.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 24 Nov 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/11/24/tools-release.html">Tools Release</a>
</h2>
<div class="details">
<span class="date">24 Nov 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/11/24/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New patch update of <code>cordova-cli</code> and <code>cordova</code> are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@5.4.1</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@5.4.1</a></li>
</ul>
<p>We had to fix a few issues that were discovered with the recent 5.4.0 release.</p>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2015/11/24/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 24 Nov 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/11/24/plugins-release.html">Plugins Release</a>
</h2>
<div class="details">
<span class="date">24 Nov 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/11/24/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status@1.1.1</li>
<li>cordova-plugin-camera@2.0.0</li>
<li>cordova-plugin-console@1.0.2</li>
<li>cordova-plugin-contacts@2.0.0</li>
<li>cordova-plugin-device@1.1.0</li>
<li>cordova-plugin-device-motion@1.2.0</li>
<li>cordova-plugin-device-orientation@1.0.2</li>
<li>cordova-plugin-dialogs@1.2.0</li>
<li>cordova-plugin-file@4.0.0</li>
<li>cordova-plugin-file-transfer@1.4.0</li>
<li>cordova-plugin-geolocation@2.0.0</li>
<li>cordova-plugin-globalization@1.0.2</li>
<li>cordova-plugin-inappbrowser@1.1.0</li>
<li>cordova-plugin-legacy-whitelist@1.1.1</li>
<li>cordova-plugin-media@2.0.0</li>
<li>cordova-plugin-media-capture@1.1.0</li>
<li>cordova-plugin-network-information@1.1.0</li>
<li>cordova-plugin-splashscreen@3.0.0</li>
<li>cordova-plugin-statusbar@2.0.0</li>
<li>cordova-plugin-test-framework@1.1.0</li>
<li>cordova-plugin-vibration@2.0.0</li>
<li>cordova-plugin-whitelist@1.2.0</li>
</ul>
<p>The following plugins now require <code>cordova-android@5.0.0</code>. Please read the <a href="http://cordova.apache.org/announcements/2015/11/09/cordova-android-5.0.0.html">Android 5.0.0 release blog</a> for instructions to update.</p>
<ul>
<li>cordova-plugin-camera@2.0.0</li>
<li>cordova-plugin-contacts@2.0.0</li>
<li>cordova-plugin-file@4.0.0</li>
<li>cordova-plugin-geolocation@2.0.0</li>
<li>cordova-plugin-media@2.0.0</li>
</ul>
<h2>Update</h2>
<p>Since <code>cordova-android@5.0.0</code> isn&#39;t yet pinned by default in <code>cordova</code>, you will have to explicitly install these new versions of these five plugins now. The previous released versions of the above five plugins are still set to <code>latest</code> on npm instead of these newly released versions. These will be set to <code>latest</code> once we release <code>cordova@6</code> which will have <code>cordova-android@5.0.0</code> pinned.</p>
<p>E.g.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin add cordova-plugin-camera@2.0.0 --save
</code></pre></div></div>
<p>To see what versions exist for a plugin, run <code>npm info PLUGINNAME versions</code>.</p>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-camera --save
cordova plugin add cordova-plugin-camera --save
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2015/11/24/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 20 Nov 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/11/20/security.html">CVE announcements for Cordova-Android</a>
</h2>
<div class="details">
<span class="date">20 Nov 2015</span>
- by
<span class="author">
<a href="https://twitter.com/infil00p">Joe Bowser</a>
</span>
<a class="comment" href="/announcements/2015/11/20/security.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p><em>Updated 02/20/2016</em></p>
<p>Apache Cordova has re-visited CVE-2015-5256 &quot;Apache Cordova vulnerable to improper application of whitelist restrictions on Android”. Upon further investigation we found that the vulnerability is more limited than was previously understood.
We are lowering the severity to Low, and updating the description, affected versions, and upgrade path.</p>
<p>CVE-2015-5257 continues to be a valid vulnerability present in Cordova 3.6.4 and this is fixed in later versions of Cordova, and we want to encourage users
to upgrade to 4.1.1 and for users needing to support Marshmallow (API 23+) we recommend to upgrade to Cordova Android 5.1.x.</p>
<p>When using the Cordova CLI, the command to use 4.1.1 or 5.1.0 of Cordova Android is:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@4.1.0
cordova platform add android@5.1.0
</code></pre></div></div>
<p>The security issues are CVE-2015-5256 and CVE-2015-5257</p>
<p>For your convenience, the text of the CVEs are included here.</p>
</p>
<div><a href="/announcements/2015/11/20/security.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 11 Nov 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/11/11/cordova-windows-4.2.0.html">Apache Cordova Windows 4.2.0</a>
</h2>
<div class="details">
<span class="date">11 Nov 2015</span>
- by
<span class="author">
<a href="https://twitter.com/sgrebnov">Sergey Grebnov</a>
</span>
<a class="comment" href="/announcements/2015/11/11/cordova-windows-4.2.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 4.2.0</code> has been released!</p>
<p>This release adds support for <strong>back button</strong> handling on <strong>Windows 10</strong> and
<strong>Windows Phone 8.1</strong> and various other improvements. It will be the default
Windows version after the next <code>cordova-cli</code> release.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows@4.2.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@4.2.0
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/announcements/2015/11/11/cordova-windows-4.2.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 09 Nov 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/11/09/cordova-android-5.0.0.html">Cordova Android 5.0.0</a>
</h2>
<div class="details">
<span class="date">09 Nov 2015</span>
- by
<span class="author">
<a href="https://twitter.com/infil00p">Joe Bowser</a>
</span>
<a class="comment" href="/announcements/2015/11/09/cordova-android-5.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 5.0.0</code> has been released.</p>
<p>With this release, there is now support for <strong>Android Marshmallow</strong> permission checking in plugins. Due to the nature of the recent <strong>Android</strong> changes, the major version has been incremented to reflect the new API changes. Only plugins that use certain permissions as defined by <strong>Google</strong> are affected by this change. The following core plugins needed to be updated:</p>
<ul>
<li><code>cordova-plugin-camera</code></li>
<li><code>cordova-plugin-geolocation</code></li>
<li><code>cordova-plugin-contacts</code></li>
<li><code>cordova-plugin-file</code></li>
<li><code>cordova-plugin-media</code></li>
</ul>
<p>We are in the process of releasing these plugins to <a href="https://www.npmjs.com/">npm</a>. If you decide to update to <code>cordova-android@5.0.0</code> before we release the plugins, please install these updated plugins via <code>git</code> for now.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin add https://github.com/apache/cordova-plugin-camera.git
</code></pre></div></div>
<p>Information on how to use the new <strong>Android Permission APIs</strong> can be found in the Cordova documentation, which can be found <a href="http://cordova.apache.org/docs/en/latest/guide/platforms/android/plugin.html">here</a>.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@5.0.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@5.0.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2015/11/09/cordova-android-5.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 06 Nov 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/11/06/tools-release.html">Tools Release: November 6th, 2015</a>
</h2>
<div class="details">
<span class="date">06 Nov 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/11/06/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of cordova tools are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@5.4.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@5.4.0</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@1.0.5</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@4.1.2</a></li>
</ul>
<p>Release highlights:</p>
<ul>
<li>Fixed issues with using <strong>Node 4 &amp; 5</strong> and <strong>npm 3</strong>.</li>
<li>Cordova will now auto convert old-style plugin IDs to new style plugin IDs when doing a <code>cordova plugin add</code>. This only happens if the old-style plugin ID exists in the <a href="https://github.com/stevengill/cordova-registry-mapper">registry-mapper</a>, it will be auto converted to the new ID and fetched from <a href="https://www.npmjs.com">npm</a> instead.</li>
<li>Cordova <code>CLI</code> will now know if a newer version is available and will prompt users to update.</li>
<li>Some core utility methods from <code>cordova-lib</code> have been moved into a new module named <a href="https://github.com/apache/cordova-lib/tree/master/cordova-commo://github.com/apache/cordova-lib/tree/master/cordova-common"><code>cordova-common</code></a>. <code>cordova-common</code> is shared among <code>cordova-lib</code> and cordova platforms.</li>
</ul>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@latest
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman@latest
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2015/11/06/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 02 Nov 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/11/02/cordova-ios-3.9.2.html">Apache Cordova iOS 3.9.2</a>
</h2>
<div class="details">
<span class="date">02 Nov 2015</span>
- by
<span class="author">
Vladimir Kotikov
</span>
<a class="comment" href="/announcements/2015/11/02/cordova-ios-3.9.2.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova iOS 3.9.2</code> has been released and will be the default iOS version.</p>
<p>This release addresses multiple iOS 9/9.1 and XCode 7/7.1 issues. It also deprecates a number of APIs, which will be removed in <code>Cordova iOS 4.0.0</code>. For a full list of API changes see <a href="https://github.com/apache/cordova-ios/blob/master/guides/API%20changes%20in%204.0.md">API changes in 4.0.md</a></p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update ios@3.9.2
</code></pre></div></div>
</p>
<div><a href="/announcements/2015/11/02/cordova-ios-3.9.2.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 22 Sep 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/09/22/tools-release.html">Tools Release 5.3.3</a>
</h2>
<div class="details">
<span class="date">22 Sep 2015</span>
- by
<span class="author">
<a href="https://twitter.com/sgrebnov">Sergey Grebnov</a>
</span>
<a class="comment" href="/news/2015/09/22/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Cordova tools 5.3.3 has been released to properly support <a href="https://nodejs.org/en/blog/release/v4.0.0/">Node v4</a>.</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova">cordova@5.3.3</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@5.3.3</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@1.0.4</a></li>
</ul>
<p>If you are currently develop for the <strong>iOS</strong> platform and plan to use <strong>Node v4</strong>, we recommend you update to this release:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2015/09/22/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 21 Sep 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/09/21/file-transfer-release.html">cordova-plugin-file-transfer release: September 21, 2015</a>
</h2>
<div class="details">
<span class="date">21 Sep 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/09/21/file-transfer-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>A medium security issue was discovered for cordova-plugin-file-transfer plugin. We are releasing version <code>1.3.0</code> of <code>cordova-plugin-file-transfer</code> to address this security issue. We recommend that all applications currently using an older version of this plugin to upgrade as soon as possible.</p>
<hr />
<p>You can update the plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your file-transfer plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm cordova-plugin-file-transfer --save
cordova plugin add cordova-plugin-file-transfer --save
</code></pre></div></div>
<p>The security issue is CVE-2015-5204.</p>
<p>For your convenience, the text of the CVE is included here:</p>
</p>
<div><a href="/news/2015/09/21/file-transfer-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 09 Sep 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/09/09/tools-release.html">Tools Release: September 9th, 2015</a>
</h2>
<div class="details">
<span class="date">09 Sep 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/09/09/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of cordova tools are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@5.3.1</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@5.3.1</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@1.0.2</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@4.1.1</a></li>
</ul>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2015/09/09/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 08 Sep 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/09/08/cpr-readonly.html">Cordova Plugins Registry becomes immutable</a>
</h2>
<div class="details">
<span class="date">08 Sep 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/09/08/cpr-readonly.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Starting today, <a href="http://50.17.177.14/">plugins.cordova.io</a> has become immutable. Plugin authors are encouraged to move their plugins over to <a href="http://npmjs.org">npm</a> if they haven&#39;t already. Plugin authors should checkout our guide to transition over to npm <a href="http://cordova.apache.org/plugins/authors.html">here</a>.</p>
<p>Users can start searching for cordova plugins which have moved over to npm on our new <a href="http://cordova.apache.org/plugins/">cordova npm search page</a>.</p>
<p>Cordova CLI version 5.0.0 or higher is required to fetch plugins from npm. If you want to use the latest releases of plugins, please update your version of Cordova. Alternatively, older cli users can add plugins via git urls. Example:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin add https://github.com/apache/cordova-plugin-camera.git
</code></pre></div></div>
<p>Make sure to checkout our previous blog post about <a href="http://cordova.apache.org/announcements/2015/04/21/plugins-release-and-move-to-npm.html">moving plugins to npm</a> if you missed it the first time around.</p>
</p>
<div><a href="/news/2015/09/08/cpr-readonly.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Sat, 05 Sep 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/09/05/cordova-blackberry-3.8.0.html">Apache Cordova BlackBerry 3.8.0</a>
</h2>
<div class="details">
<span class="date">05 Sep 2015</span>
- by
<span class="author">
<a href="https://twitter.com/bryanhiggins">Bryan Higgins</a>
</span>
<a class="comment" href="/announcements/2015/09/05/cordova-blackberry-3.8.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova BlackBerry 3.8.0</code> has been released and will be the
default BlackBerry version after next <code>cordova-cli</code> release.</p>
<p>This release adds support for adding blackberry10 platform on any workstation OS, adds subdomain whitelisting and includes several bug fixes.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update blackberry10@3.8.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add blackberry10@3.8.0 --save
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/announcements/2015/09/05/cordova-blackberry-3.8.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 18 Aug 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/08/18/cordova-windows-4.1.0.html">Apache Cordova Windows 4.1.0</a>
</h2>
<div class="details">
<span class="date">18 Aug 2015</span>
- by
<span class="author">
<a href="https://twitter.com/robpaveza">Rob Paveza</a>
</span>
<a class="comment" href="/announcements/2015/08/18/cordova-windows-4.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 4.1.0</code> has been released and will be the
default Windows version after next <code>cordova-cli</code> release.</p>
<p>This release aligns with the RTM release of Windows 10, and supports the web platform enhancements that it included, such as hosted apps and a new version of WinJS. It also supports the new .NET Native compilation model for Cordova plugins which include a native or .NET component.</p>
<p>There are also a number of bug fixes, including platform dependency problems and the ability to perform a <code>cordova prepare</code> for Windows while on a Mac.</p>
<p>Finally, user-configurable packaging parameters are now fully baked, so that Windows code signing requirements don&#39;t overwrite code signing requirements for other platforms. Use the <code>windows-packageVersion</code> attribute of <code>&lt;widget&gt;</code> in config.xml to specify an independent version for Windows Store submission, and to incorporate the name of the application which is assigned by the Windows Store, set the <code>&lt;preference&gt;</code> named <code>WindowsStoreIdentityName</code>.</p>
<p>Now there is support to see console.log messages and exceptions from your app in the console. This can be useful for quick diagnostics. In an admin command prompt, you can run:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>platforms\windows\cordova\log
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows@4.1.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@4.1.0 --save
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/announcements/2015/08/18/cordova-windows-4.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 13 Aug 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/08/13/tools-release.html">Tools Release: August 13th, 2015</a>
</h2>
<div class="details">
<span class="date">13 Aug 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/08/13/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of cordova tools are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@5.2.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@5.2.0</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@1.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@4.1.0</a></li>
</ul>
<p>Release highlights:</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-9330">CB-9330</a> Removed <code>Plugman</code> <code>publish</code>, <code>unpublish</code>, <code>addUser</code> and <code>owner add/rm</code> commands due to <a href="http://plugins.cordova.io/#/">plugins.cordova.io</a> switching to read only. Plugin authors are encouraged to publish to <a href="https://www.npmjs.com/">npm</a> instead. Learn more at <a href="http://plugins.cordova.io/npm/authors.html">http://plugins.cordova.io/npm/authors.html</a>.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-5578">CB-5578</a> Adds <code>clean</code> command to <code>cordova-cli</code>. This cleans the build artifacts for your project. Run <code>cordova clean -h</code> for more information.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-9177">CB-9177</a> Use tilde instead of caret when saving to <code>config.xml</code> via <code>--save</code> flag.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-9225">CB-9225</a> Add <strong>Windows</strong> platform support to <code>plugman platform add</code></li>
<li><a href="https://issues.apache.org/jira/browse/CB-9114">CB-9114</a>: Deprecation Warning for <code>--usegit</code> flag.</li>
<li>Browserify flag for adding plugins at build time vs run time has all tests passings. Please try it out via <code>--browserify</code>. EX. <code>cordova run android --browserify</code>.</li>
</ul>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2015/08/13/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 04 Aug 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/08/04/cordova-ios-3.9.0.html">Apache Cordova iOS 3.9.0</a>
</h2>
<div class="details">
<span class="date">04 Aug 2015</span>
- by
<span class="author">
<a href="https://twitter.com/sgrebnov">Sergey Grebnov</a>
</span>
<a class="comment" href="/announcements/2015/08/04/cordova-ios-3.9.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova iOS 3.9.0</code> has been released and will be the
default iOS version after next cordova-cli release.</p>
<p><strong>UPDATE:</strong> To deploy to iOS devices, developers will have to update their ios-deploy
dependency to the version 1.4.0 or greater. Run <code>npm install ios-deploy -g</code> to download
the latest release.</p>
<p>Apart from a number of bug fixes, there is now support for checking system
requirements for iOS platform:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$&gt;cordova requirements ios
Requirements check results for ios:
Apple OS X: installed darwin
Xcode: installed 6.3
ios-deploy: installed 1.7.0
ios-sim: installed 4.1.1
</code></pre></div></div>
<p>and support for <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_ios_tools.md.html#signing-the-app">Signing the App for iOS platform</a>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$&gt;/path/to/my/project/cordova/build --codeSignIdentity="iPhone Distribtion" --provisioningProfile="926c2bd6-8de9-4c2f-8407-1016d2d12954"
</code></pre></div></div>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update ios@3.9.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2015/08/04/cordova-ios-3.9.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 21 Jul 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/07/21/cordova-android-4.1.0.html">Apache Cordova Android 4.1.0</a>
</h2>
<div class="details">
<span class="date">21 Jul 2015</span>
- by
<span class="author">
<a href="https://twitter.com/nikhilkh">Nikhil Khandelwal</a>
</span>
<a class="comment" href="/announcements/2015/07/21/cordova-android-4.1.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 4.1.0</code> has been released.</p>
<p>With this release, there is now support for checking system requirements for Android platform:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$&gt;cordova requirements android
Requirements check results for android:
Java JDK: installed 1.7.0
Android SDK: installed
Android target: installed android-19,android-21,android-22,Google Inc.:Google APIs:19,Google Inc.:Google APIs (x86 System Image):19,Google Inc.:Google APIs:21
Gradle: installed 1.12
</code></pre></div></div>
<p>Apart from a number of bug fixes, mininumSdkTarget has also been switched to 14 from 7. The minimum supported Android OS for Cordova is now Ice Cream Sandwich.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@4.1.0
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@4.1.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2015/07/21/cordova-android-4.1.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 22 Jun 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/06/22/plugins-release.html">Plugins Release: June 22, 2015</a>
</h2>
<div class="details">
<span class="date">22 Jun 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/06/22/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status@1.1.0</li>
<li>cordova-plugin-camera@1.2.0</li>
<li>cordova-plugin-console@1.0.1</li>
<li>cordova-plugin-contacts@1.1.0</li>
<li>cordova-plugin-device@1.0.1</li>
<li>cordova-plugin-device-motion@1.1.1</li>
<li>cordova-plugin-device-orientation@1.0.1</li>
<li>cordova-plugin-dialogs@1.1.1</li>
<li>cordova-plugin-file@2.1.0</li>
<li>cordova-plugin-file-transfer@1.2.0</li>
<li>cordova-plugin-geolocation@1.0.1</li>
<li>cordova-plugin-globalization@1.0.1</li>
<li>cordova-plugin-inappbrowser@1.0.1</li>
<li>cordova-plugin-legacy-whitelist@1.1.0</li>
</ul>
</p>
<div><a href="/news/2015/06/22/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 10 Jun 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/06/10/tools-release.html">Tools Release: June 10, 2015</a>
</h2>
<div class="details">
<span class="date">10 Jun 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/06/10/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of cordova tools are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@5.1.1</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@5.1.1</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@0.23.3</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@4.0.0</a></li>
</ul>
<p>Release highlights:</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-8898">CB-8898</a> Introduced a new <code>cordova requirements</code> command</li>
<li><a href="https://issues.apache.org/jira/browse/CB-8441">CB-8441</a> <code>cordova prepare --browserify</code> now supports 3rd party plugins to build your <code>cordova.js</code> at run time! Try it out!</li>
<li><a href="https://issues.apache.org/jira/browse/CB-9075">CB-9075</a> pinned platforms will include platform patch updates without requiring a new tools release.</li>
</ul>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2015/06/10/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 04 Jun 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/06/04/tools-release.html">Tools Release 4.3.1</a>
</h2>
<div class="details">
<span class="date">04 Jun 2015</span>
- by
<span class="author">
Tim Barham
</span>
<a class="comment" href="/news/2015/06/04/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Cordova tools 4.3.1 has been released to pin version 3.7.2 of the Android platform, which includes an important
<a href="https://cordova.apache.org/announcements/2015/05/26/android-402.html">security update</a>.</p>
<p>If you are currently using <strong>Cordova 4.x</strong> and develop for the <strong>Android</strong> platform, we recommend you update to this
release:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@4.3.1
</code></pre></div></div>
<p>If you have existing projects that use <strong>Cordova Android 3.7.1</strong> or earlier, you can update them to <strong>3.7.2</strong>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform update android@3.7.2
</code></pre></div></div>
<h2>Pinned Platform Versions for <strong>Cordova CLI 4.3.1</strong></h2>
<ul>
<li>Cordova Amazon-FireOS: 3.6.3</li>
<li>Cordova Android: 3.7.2</li>
<li>Cordova BlackBerry10: 3.7.0</li>
<li>Cordova Browser: 3.6.0</li>
<li>Cordova FirefoxOS: 3.6.3</li>
<li>Cordova iOS: 3.8.0</li>
<li>Cordova Ubuntu: 4.0.0</li>
<li>Cordova Windows: 3.8.0</li>
<li>Cordova WP8: 3.7.1</li>
</ul>
</p>
<div><a href="/news/2015/06/04/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 03 Jun 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/06/03/windows-release.html">Apache Cordova Windows 4.0.0 release</a>
</h2>
<div class="details">
<span class="date">03 Jun 2015</span>
- by
<span class="author">
<a href="https://twitter.com/nikhilkh">Nikhil Khandelwal</a>
</span>
<a class="comment" href="/announcements/2015/06/03/windows-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that Cordova Windows 4.0.0 has been released!</p>
<h2>Key features</h2>
<ul>
<li>The default Windows target version is now 8.1. Windows 8.0 support is deprecated and a warning will be issued when building for Windows 8.0. The support for Windows 8.0 will be removed in 6 months. If you have <code>windows-target-version</code> preference in config.xml set to 8.0, you will see this warning and you should consider changing it to 8.1.</li>
<li><code>windows8</code> platform keyword is deprecated. For all plugins, use <code>windows</code> as the platform keyword.</li>
<li>Support for Windows 10 Insider Preview and building using Visual Studio 2015 RC. More details can be found below. This support will evolve as Windows 10 release comes along.</li>
<li>Support for specifying parameters for signing Windows apps - like signing certificate, publisher identity etc. More details can be found in <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_win8_packaging.md.html#Windows%20Plugins">docs</a></li>
</ul>
<h2>What&#39;s new in Windows 10</h2>
<ul>
<li>Windows 10 Insider Preview introduces the <a href="https://msdn.microsoft.com/en-us/library/windows/apps/dn894631.aspx">Universal Windows Platform (UWP)</a> which provides a guaranteed core API layer across devices. You can create a single app package that can be installed onto a wide range of devices. A single store makes it easy to publish apps across all device types - desktop, mobile, Xbox, iOT.</li>
<li>In Windows 8 and 8.1, the app was loaded in the ms-appx context. In Windows 10 for Cordova, by default the app is loaded in ms-appx-web and have access to most Windows Runtime APIs. This allows you to <a href="https://msdn.microsoft.com/en-us/library/windows/apps/dn705792.aspx">host remote content</a> in your Windows Cordova app. More details on how to customize this behavior can be found <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_win8_win10-support.md.html#Cordova%20for%20Windows%2010">here</a>.</li>
<li>Some JavaScript libraries could not run in Windows 8/8.1 due to the safeHTML restriction and we needed to use winstore-jscompat. In Windows 10 Cordova apps, the security can be applied using <a href="http://content-security-policy.com/">Content Security Policies</a>.</li>
</ul>
</p>
<div><a href="/announcements/2015/06/03/windows-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 26 May 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/05/26/android-402.html">Apache Cordova Android 4.0.2 and 3.7.2 released</a>
</h2>
<div class="details">
<span class="date">26 May 2015</span>
- by
<span class="author">
<a href="https://twitter.com/infil00p">Joe Bowser</a>
</span>
<a class="comment" href="/announcements/2015/05/26/android-402.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>A major Security issue were discovered in the Android platform of Cordova. We are releasing version 4.0.2 of Cordova Android to address these security issues. We recommend that all Android applications built using Cordova 4.0.x or higher be upgraded to use version 4.0.2 of Cordova Android. If you are using an older version of Cordova, we have also released 3.7.2 with the same fix, and we recommend that you at upgrade your project to either of these fixed versions. Other Cordova platforms such as iOS are unaffected, and do not have an update.</p>
<p>When using the Cordova CLI, the command to use 4.0.2 of Cordova Android is:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@4.0.2
</code></pre></div></div>
<p>and the command to use 3.7.2 is:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@3.7.2
</code></pre></div></div>
<p>The security issue is CVE-2015-1835</p>
<p>For your convenience, the text of the CVE is included here.</p>
</p>
<div><a href="/announcements/2015/05/26/android-402.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 21 Apr 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/04/21/tools-release.html">Tools Release: April 21, 2015</a>
</h2>
<div class="details">
<span class="date">21 Apr 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/04/21/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of cordova tools are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@5.0.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@5.0.0</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@0.23.1</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@3.9.0</a></li>
</ul>
<p>Release highlights:</p>
<ul>
<li>Plugins have been renamed and the <strong>Cordova-CLI</strong> now supports fetching plugins from <strong>npm</strong>. We highly recommend reading about it in the <a href="http://cordova.apache.org/announcements/2015/04/21/plugins-release-and-move-to-npm.html">plugins release blog post</a>.</li>
<li><code>&lt;feature&gt;</code> tags have been renamed to <code>&lt;plugin&gt;</code> tags in your projects <code>config.xml</code>. Adding a <code>&lt;plugin&gt;</code> tag to your <code>config.xml</code> will fetch and install it on <code>cordova prepare</code> if it isn&#39;t already installed.</li>
<li><strong>Cordova Android@4.0.0</strong> has been released and pinned as the default version for new projects. This includes support for pluggable WebViews! Read about it in the <a href="http://cordova.apache.org/announcements/2015/04/15/cordova-android-4.0.0.html">Android 4.0.0 release blog post</a>.</li>
<li>Our template app, <strong><a href="https://www.npmjs.com/package/cordova-app-hello-world">Cordova App Hello World</a></strong>, has been moved to <strong>npm</strong>.</li>
<li>Added the ability to manage your plugin and platform dependencies in your project&#39;s <code>config.xml</code>. When adding plugins or platforms, use the <code>--save</code> flag to add them to <code>config.xml</code>. Ex: <code>cordova platform add android --save</code>. Existing projects can use <code>cordova plugin save</code> and <code>cordova platform save</code> commands to save all previously installed plugins and platforms into your project&#39;s <code>config.xml</code>. Platforms and plugins will be autorestored when <code>cordova prepare</code> is run. This allows developers to easily manage and share their dependenceis among different development enviroments and with their coworkers.</li>
</ul>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2015/04/21/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 21 Apr 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/04/21/plugins-release-and-move-to-npm.html">Plugins Release and Moving plugins to npm: April 21, 2015</a>
</h2>
<div class="details">
<span class="date">21 Apr 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2015/04/21/plugins-release-and-move-to-npm.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The <strong>Apache Cordova</strong> team is happy to announce a new plugins release that coincides with us moving our core plugins to <strong><a href="https://www.npmjs.org/">npm</a></strong>!</p>
<ul>
<li>We are also encouraging third party plugin developers to start publishing their plugins to npm!</li>
<li>To start using plugins from <strong>npm</strong>, developers will have to update their <strong>Cordova CLI</strong> to version <strong>5.0.0</strong> or higher. Read about <strong>Cordova CLI 5.0.0</strong> in its <a href="http://cordova.apache.org/news/2015/04/21/tools-release.html">release blog post</a>.</li>
</ul>
<p>With the move over to <strong>npm</strong>, we have decided to rename our core plugins for improved readability and to better fit within the <strong>npm</strong> ecosystem.</p>
<ul>
<li>All of our core plugins have changed their IDs from <code>org.apache.cordova.*</code> to <code>cordova-plugin-*</code>.</li>
<li>Developers can now install a plugin with the command <code>cordova plugin add cordova-plugin-device</code>.
Using the new ID will fetch the plugin directly from <strong>npm</strong>.</li>
</ul>
<p>Our current <strong>Cordova plugins registry</strong> (<a href="http://plugins.cordova.io">CPR</a>) will continue to be operational for at least 6 months (<code>October 15th, 2015</code>) as we help plugin developers transition over to <strong>npm</strong>.
This will also allow current <strong>Cordova</strong> developers to upgrade their <code>CLI</code> to version <strong>5.0.0</strong> or higher.</p>
<ul>
<li>We will be switching <a href="http://plugins.cordova.io">CPR</a> to read-only on <code>July 15th, 2015</code>.</li>
</ul>
<p>To find plugins on <strong>npm</strong>, search for <a href="https://www.npmjs.com/search?q=ecosystem%3Acordova">ecosystem:cordova</a>.
We are working with <strong>npm</strong> to improve discoverability and will have more to announce later this year.
We encourage all third party plugin developers to add <code>ecosystem:cordova</code> as a keyword in their plugin&#39;s <code>package.json</code>.</p>
</p>
<div><a href="/announcements/2015/04/21/plugins-release-and-move-to-npm.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 15 Apr 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/04/15/cordova-android-4.0.0.html">Apache Cordova Android 4.0.0</a>
</h2>
<div class="details">
<span class="date">15 Apr 2015</span>
- by
<span class="author">
<a href="https://twitter.com/GrieveAndrew">Andrew Grieve</a>
</span>
<a class="comment" href="/announcements/2015/04/15/cordova-android-4.0.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 4.0.0</code> has been released!</p>
<p>This release adds significant functionality, and also introduces a number
of breaking changes. Mostly though, it adds first-class support for <a href="https://crosswalk-project.org/">Crosswalk</a> -- a bundled modern WebView!</p>
<p><code>cordova-android@4.0.0</code> will be the default android version in the next
version of <code>cordova</code>. If you just can&#39;t wait though, you can try it out now:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd my_project
cordova platform update android@4.0.0
cordova plugin add https://github.com/apache/cordova-plugin-whitelist.git#r1.0.0
# To install Crosswalk (optional):
cordova plugin add https://github.com/MobileChromeApps/cordova-plugin-crosswalk-webview.git#1.0.0
</code></pre></div></div>
</p>
<div><a href="/announcements/2015/04/15/cordova-android-4.0.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 02 Mar 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/03/02/tools-release.html">Tools Release: March 02, 2015</a>
</h2>
<div class="details">
<span class="date">02 Mar 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/03/02/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of cordova tools are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@4.3.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@4.3.0</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@0.23.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@3.8.0</a></li>
</ul>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman
</code></pre></div> </div>
</li>
</ul>
<p>Release highlights:</p>
<ul>
<li><strong>Cordova-iOS</strong> developers will need to update their <code>iOS-deploy</code> dependency to launch on <strong>iOS</strong> devices. Please run <code>npm install -g ios-deploy</code> to install the latest version <code>1.4.0</code>.</li>
<li>You can now save your list of installed plugins and platforms using the <code>--save</code> command when adding platforms and plugins to your project.
Saved platforms and plugins are automagically restored during prepare.
Ex. <code>cordova platform add android --save</code>.
This should make it easier developing cordova projects among a team.</li>
<li>Plugin authors can use the new command <code>plugman createpackagejson &lt;plugin_path&gt;</code> to add a <code>package.json</code> file to their plugins.</li>
<li>We are preparing to transition our plugin hosting over to npm. We will be doing a detailed blog post soon.
<strong>Stay tuned</strong>.</li>
</ul>
</p>
<div><a href="/news/2015/03/02/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 27 Feb 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/02/27/cordova-windows-3.8.0.html">Apache Cordova Windows 3.8.0</a>
</h2>
<div class="details">
<span class="date">27 Feb 2015</span>
- by
<span class="author">
<a href="https://twitter.com/sgrebnov">Sergey Grebnov</a>
</span>
<a class="comment" href="/announcements/2015/02/27/cordova-windows-3.8.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows 3.8.0</code> has been released!</p>
<p>This release adds support for new Visual Studio 2015 Tools and has various other improvements. It will be the default Windows version when the cordova-cli 4.3.0 is released.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@3.8.0
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/announcements/2015/02/27/cordova-windows-3.8.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 25 Feb 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/02/25/cordova-ios-3.8.0.html">Apache Cordova iOS 3.8.0</a>
</h2>
<div class="details">
<span class="date">25 Feb 2015</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/announcements/2015/02/25/cordova-ios-3.8.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p><strong>UPDATE:</strong> To deploy to iOS devices, developers will have to update their <code>ios-deploy</code> dependency to the latest release. Run <code>npm install ios-deploy -g</code> to download the latest release of version <code>1.4.0</code>.</p>
<p>We are happy to announce that <code>Cordova iOS 3.8.0</code> has been released!</p>
<p>This release has various bug fixes, and will be the default iOS version when the cordova-cli 4.3.0 is released.
This release also requires Xcode 6.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update ios
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@3.8.0
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/announcements/2015/02/25/cordova-ios-3.8.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 10 Feb 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/02/10/plugins-release.html">Plugins Release: February 10, 2015</a>
</h2>
<div class="details">
<span class="date">10 Feb 2015</span>
- by
<span class="author">
<a href="https://twitter.com/GrieveAndrew">Andrew Grieve</a>
</span>
<a class="comment" href="/news/2015/02/10/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status@0.2.12</li>
<li>cordova-plugin-camera@0.3.5</li>
<li>cordova-plugin-console@0.2.13</li>
<li>cordova-plugin-contacts@0.2.16</li>
<li>cordova-plugin-device-motion@0.2.11</li>
<li>cordova-plugin-device-orientation@0.3.11</li>
<li>cordova-plugin-device@0.3.0</li>
<li>cordova-plugin-dialogs@0.3.0</li>
<li>cordova-plugin-file-transfer@0.5.0</li>
<li>cordova-plugin-file@1.3.3</li>
<li>cordova-plugin-geolocation@0.3.12</li>
<li>cordova-plugin-globalization@0.3.4</li>
<li>cordova-plugin-inappbrowser@0.6.0</li>
<li>cordova-plugin-media@0.2.16</li>
<li>cordova-plugin-media-capture@0.3.6</li>
<li>cordova-plugin-network-information@0.2.15</li>
<li>cordova-plugin-splashscreen@1.0.0</li>
<li>cordova-plugin-vibration@0.3.13</li>
<li>cordova-plugin-statusbar@0.1.10</li>
<li>cordova-plugins@file-system-roots-0.1.0</li>
<li>cordova-plugin-test-framework@0.0.1</li>
</ul>
<p>The plugins have been updated on our registry at <a href="http://plugins.cordova.io/">plugins.cordova.io</a>.</p>
<hr />
<p>You can update any plugin by removing it, and then re-adding it.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm org.apache.cordova.camera
cordova plugin add org.apache.cordova.camera
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2015/02/10/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 06 Feb 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2015/02/06/cordova-android-3.7.1.html">Apache Cordova Android 3.7.1</a>
</h2>
<div class="details">
<span class="date">06 Feb 2015</span>
- by
<span class="author">
<a href="https://twitter.com/infil00p">Joe Bowser</a>
</span>
<a class="comment" href="/announcements/2015/02/06/cordova-android-3.7.1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Android 3.7.1</code> has been released!</p>
<p>This release has numerous bug fixes, and sets the target-sdk to android-21 (which yields a pretty good graphics speed-up on Lollipop devices!). It will be the default Android version when the cordova-cli 4.1.0 is released.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android@3.7.1
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@3.7.1
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/announcements/2015/02/06/cordova-android-3.7.1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 09 Jan 2015 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2015/01/09/tools-release.html">Tools Release: January 09, 2015</a>
</h2>
<div class="details">
<span class="date">09 Jan 2015</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2015/01/09/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of cordova tools are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@4.2.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@4.2.0</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@0.22.17</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@3.7.3</a></li>
</ul>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2015/01/09/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 09 Dec 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/12/09/plugins-release.html">Plugins Release: December 9, 2014</a>
</h2>
<div class="details">
<span class="date">09 Dec 2014</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2014/12/09/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>org.apache.cordova.battery-status@0.2.12</li>
<li>org.apache.cordova.camera@0.3.4</li>
<li>org.apache.cordova.console@0.2.12</li>
<li>org.apache.cordova.contacts@0.2.15</li>
<li>org.apache.cordova.device@0.2.13</li>
<li>org.apache.cordova.device-motion@0.2.11</li>
<li>org.apache.cordova.device-orientation@0.3.10</li>
<li>org.apache.cordova.dialogs@0.2.11</li>
<li>org.apache.cordova.file@1.3.2</li>
<li>org.apache.cordova.file-transfer@0.4.8</li>
<li>org.apache.cordova.geolocation@0.3.11</li>
<li>org.apache.cordova.globalization@0.3.3</li>
<li>org.apache.cordova.inappbrowser@0.5.4</li>
<li>org.apache.cordova.media@0.2.15</li>
<li>org.apache.cordova.media-capture@0.3.5</li>
<li>org.apache.cordova.network-information@0.2.14</li>
<li>org.apache.cordova.splashscreen@0.3.5</li>
<li>org.apache.cordova.statusbar@0.1.9</li>
<li>org.apache.cordova.vibration@0.3.12</li>
</ul>
<p>The plugins have been updated on our registry at <a href="http://plugins.cordova.io/">plugins.cordova.io</a>.</p>
<hr />
<p>You can update any plugin by removing it, and then readding it. E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm org.apache.cordova.camera
cordova plugin add org.apache.cordova.camera
</code></pre></div></div>
<p>Changes include:</p>
</p>
<div><a href="/news/2014/12/09/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 25 Nov 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2014/11/25/ios-64bit.html">iOS 64-bit apps in Cordova</a>
</h2>
<div class="details">
<span class="date">25 Nov 2014</span>
- by
<span class="author">
<a href="https://twitter.com/MarcelKinard">Marcel Kinard</a>
</span>
<a class="comment" href="/announcements/2014/11/25/ios-64bit.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p><strong>Apple</strong> has <a href="https://developer.apple.com/news/?id=10202014a">recently announced</a>
that new and updated apps submitted to the <strong>Apple App Store</strong> must include <em>64-bit</em>
support for them to be approved. This change will be implemented by the <strong>Apple
App Store</strong> starting <strong>February 1, 2015</strong>.</p>
<p>This means that starting at that time, Cordova-based apps should be built using
a version of <strong>Cordova</strong> that has <em>64-bit</em> <strong>iOS</strong> support.</p>
<p>The first version of <strong>Cordova</strong> to include <em>64-bit</em> for <strong>iOS</strong> is <strong>3.4.1</strong>. Therefore,
to meet these requirements of the <strong>Apple App Store</strong>, you should be using at least
version <strong>3.4.1</strong> of <strong>Cordova</strong> before this <em>February</em> deadline.</p>
</p>
<div><a href="/announcements/2014/11/25/ios-64bit.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 18 Nov 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/blog/2014/11/18/cordova-perf.html">Automating Performance Audits for Cordova apps</a>
</h2>
<div class="details">
<span class="date">18 Nov 2014</span>
- by
<span class="author">
<a href="https://twitter.com/nparashuram">Parashuram</a>
</span>
<a class="comment" href="/blog/2014/11/18/cordova-perf.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>While developing mobile apps with Cordova,
performance is a common concern many developers have.
Though recent WebView improvements have made smooth experiences easy to achieve,
it is always important to watch out for code in our apps that may make the app <a href="http://jankfree.org">janky</a>.</p>
<h2>Measuring Performance</h2>
<p>The latest versions of <strong>Android</strong> and <strong>iOS</strong> <em>WebView</em>s can connect to and leverage developer tools in browsers for profiling rendering performance of apps.
Developer tools provide insights into details like frames rates, repaints, layouts, etc.</p>
<p><img src="https://i.imgur.com/zR2f1.gif" alt="Chrome Developer tools - profiling" /></p>
<p>Articles (like
<a href="http://aerotwist.com/blog/my-performance-audit-workflow/">my performance audit workflow</a>
and
<a href="http://calendar.perfplanet.com/2013/the-runtime-performance-checklist/">the runtime performance checklist</a>)
articulate the typical workflow for auditing performance of webpages.
Similar principles can be applied to apps too.</p>
</p>
<div><a href="/blog/2014/11/18/cordova-perf.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 13 Nov 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/11/13/tools-release.html">Tools Release: November 13, 2014</a>
</h2>
<div class="details">
<span class="date">13 Nov 2014</span>
- by
<span class="author">
<a href="https://github.com/kamrik">Mark Koudritsky</a>
</span>
<a class="comment" href="/news/2014/11/13/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of cordova tools are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@4.1.2</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@4.1.2</a></li>
<li><a href="https://www.npmjs.org/package/plugman">plugman@0.22.16</a></li>
<li><a href="https://www.npmjs.org/package/cordova-js">cordova-js@3.7.2</a></li>
</ul>
<p>To update your tools:</p>
<ul>
<li>
<p>If you have <code>cordova</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
</code></pre></div> </div>
</li>
<li>
<p>If you have <code>plugman</code> installed:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g plugman
</code></pre></div> </div>
</li>
</ul>
</p>
<div><a href="/news/2014/11/13/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 11 Nov 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/11/11/windows-cert.html">Critical Update: Windows 3.7.1. Release</a>
</h2>
<div class="details">
<span class="date">11 Nov 2014</span>
- by
<span class="author">
<a href="https://twitter.com/nparashuram">Parashuram</a>
</span>
<a class="comment" href="/news/2014/11/11/windows-cert.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>A certificate in the <strong>Windows</strong> platform template has expired on 11/11/2014 and as a result, building <strong>Windows</strong> using the <strong>Cordova CLI</strong> currently fails. This affects all existing projects and any new projects created using the command line prior to <strong>Cordova</strong> versions &lt;= <code>4.0.0</code>.</p>
<blockquote>
<p>Note that this does not affect the <strong>WP8</strong> platform.</p>
</blockquote>
<h2>Error Message</h2>
<p>When building Cordova for <strong>Windows</strong>, you may seen an error message that looks something like this</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova run windows
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets(1772,9): error APPX0108: The certificate specified has expired.
</code></pre></div></div>
<p>For more information about renewing certificates, see <a href="http://go.microsoft.com/fwlink/?LinkID=241478">http://go.microsoft.com/fwlink/?LinkID=241478</a>.</p>
<h2>Workaround</h2>
<p>This issue will be fixed in the next release of the <strong>Cordova CLI</strong></p>
<p>However, to ensure that you can continue building your existing <strong>Cordova</strong> projects for <strong>Windows</strong> till then, please replace the expired certificate located at <code>yourCordovaProject\platforms\windows\CordovaApp_TemporaryKey.pfx</code> with a new one from <a href="https://git-wip-us.apache.org/repos/asf?p=cordova-windows.git;a=blob;f=template/CordovaApp_TemporaryKey.pfx;h=90d7ab2208ce170d176a2ac8a60eb22fbc1cbf7a;hb=refs/tags/3.7.1">here</a>. Ensure that the downloaded file is renamed to <code>CordovaApp_TemporaryKey.pfx</code></p>
</p>
<div><a href="/news/2014/11/11/windows-cert.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 06 Nov 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2014/11/06/cordova-wp-windows-3.7.0.html">Apache Cordova Windows &amp; Windows Phone 3.7.0</a>
</h2>
<div class="details">
<span class="date">06 Nov 2014</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2014/11/06/cordova-wp-windows-3.7.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova Windows &amp; WP8 3.7.0</code> has been released!</p>
<p>This release has various bug fixes.</p>
<p>It will be available in the next cordova-cli release (Cordova CLI 4.1.0), which is expected in a few days.</p>
<p>To upgrade (once CLI update is released):</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update windows
</code></pre></div></div>
<p>To add it explicitly (available now):</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add windows@3.7.0
cordova platform add wp8@3.7.0
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/announcements/2014/11/06/cordova-wp-windows-3.7.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 06 Nov 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2014/11/06/cordova-ios-3.7.0.html">Apache Cordova iOS 3.7.0</a>
</h2>
<div class="details">
<span class="date">06 Nov 2014</span>
- by
<span class="author">
<a href="https://twitter.com/shazron">Shazron Abdullah</a>
</span>
<a class="comment" href="/announcements/2014/11/06/cordova-ios-3.7.0.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova iOS 3.7.0</code> has been released!</p>
<p>This release has various bug fixes, and will be the default iOS version when the cordova-cli 4.1.0 is released.
This release also requires Xcode 6.</p>
<p>To upgrade:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update ios
</code></pre></div></div>
<p>To add it explicitly:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add ios@3.7.0
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/dev/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/announcements/2014/11/06/cordova-ios-3.7.0.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 17 Oct 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/10/17/plugins-release.html">Plugins Release: October 17, 2014</a>
</h2>
<div class="details">
<span class="date">17 Oct 2014</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2014/10/17/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-camera: 0.3.3</li>
<li>cordova-plugin-contacts: 0.2.14</li>
<li>cordova-plugin-file-transfer: 0.4.7</li>
<li>cordova-plugin-globalization: 0.3.2</li>
<li>cordova-plugin-inappbrowser: 0.5.3</li>
<li>cordova-plugin-media: 0.2.14</li>
<li>cordova-plugin-media-capture: 0.3.4</li>
<li>cordova-plugin-network-information: 0.2.13</li>
<li>cordova-plugin-splashscreen: 0.3.4</li>
</ul>
<p>Notable changes include:</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/CB-7633">CB-7633</a> - Add <code>iPhone 6/6+</code> support for <code>cordova-splashscreen</code> plugin</li>
<li><a href="https://issues.apache.org/jira/browse/CB-7595">CB-7595</a>: <strong>Android L</strong> changes the type from <code>Mobile</code> to <code>Cellular</code> for <code>cordova-network-information</code> plugin.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-7429">CB-7429</a> Added <strong>Windows</strong> support for <code>cordova-media-capture</code> plugin</li>
<li><a href="https://issues.apache.org/jira/browse/CB-7548">CB-7548</a> <strong>BlackBerry10</strong> Re-implement <code>getPreferredLanguage()</code> and <code>getLocaleName()</code> for <code>cordova-globalization</code> plugin.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-7529">CB-7529</a> <strong>Windows</strong> Adds support for <code>ms-appdata URIs</code> for <code>cordova-file-transfer</code> plugin</li>
</ul>
<p>The plugins have been updated on our registry at <a href="http://plugins.cordova.io/">plugins.cordova.io</a>.</p>
<hr />
<p>You can update any plugin by removing it, and then readding it. E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm org.apache.cordova.camera
cordova plugin add org.apache.cordova.camera
</code></pre></div></div>
<p>Other changes include:</p>
</p>
<div><a href="/news/2014/10/17/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 16 Oct 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2014/10/16/cordova-4.html">Apache Cordova CLI 4.0 Release</a>
</h2>
<div class="details">
<span class="date">16 Oct 2014</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2014/10/16/cordova-4.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Apache Cordova CLI 4.0</code> has been released!</p>
<p>We have also released <code>Cordova-Browser 3.6.0</code>, <code>Cordova-Android 3.6.4</code>, <code>Cordova-Windows 3.6.4</code>, and <code>Cordova-WP8 3.6.4</code>.</p>
<p>Most notable changes include:</p>
<ul>
<li><strong>Cordova CLI</strong> version bump to <code>4.0.0</code> to reflect our changes in <a href="https://github.com/apache/cordova-coho/blob/master/docs/versioning-and-release-strategy.md">release policy</a>.</li>
<li><strong>WP8</strong> and <strong>Windows</strong> both implemented support for <code>--target</code> flag</li>
<li>Initial support for <strong>Cordova-Browser</strong> platform.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-5390">CB-5390</a> Uninstall - recursively remove dependencies of dependencies</li>
</ul>
<p>To upgrade: (replace <code>android</code> with the platform you want to update):</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/4.0.0/guide_platforms_index.md.html">upgrade guides</a>.</p>
<h2>Cordova CLI bumped to version 4.0</h2>
<p>We have recently decided to update our release process to include independent releases for platforms. This means that our platform maintainers can release updates when they need to and not have to wait for other platforms to be ready to release.</p>
</p>
<div><a href="/announcements/2014/10/16/cordova-4.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 22 Sep 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/09/22/plugins-release.html">Plugins Release: September 22, 2014</a>
</h2>
<div class="details">
<span class="date">22 Sep 2014</span>
- by
<span class="author">
<a href="https://twitter.com/MarcelKinard">Marcel Kinard</a>
</span>
<a class="comment" href="/news/2014/09/22/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status: 0.2.11</li>
<li>cordova-plugin-camera: 0.3.2</li>
<li>cordova-plugin-console: 0.2.11</li>
<li>cordova-plugin-contacts: 0.2.13</li>
<li>cordova-plugin-device: 0.2.12</li>
<li>cordova-plugin-device-motion: 0.2.10</li>
<li>cordova-plugin-device-orientation: 0.3.9</li>
<li>cordova-plugin-dialogs: 0.2.10</li>
<li>cordova-plugin-file: 1.3.1</li>
<li>cordova-plugin-file-transfer: 0.4.6</li>
<li>cordova-plugin-geolocation: 0.3.10</li>
<li>cordova-plugin-globalization: 0.3.1</li>
<li>cordova-plugin-inappbrowser: 0.5.2</li>
<li>cordova-plugin-media: 0.2.13</li>
<li>cordova-plugin-media-capture: 0.3.3</li>
<li>cordova-plugin-network-information: 0.2.12</li>
<li>cordova-plugin-splashscreen: 0.3.3</li>
<li>cordova-plugin-statusbar: 0.1.8</li>
<li>cordova-plugin-vibration: 0.3.11</li>
</ul>
<p>Notable changes include:</p>
<ul>
<li>There is a new framework for testing the plugins. This affects plugin developers, not plugin users.</li>
<li>Many fixes have been made to the file plugin and other plugins that use it.</li>
<li>Globalization plugin has been cleaned up.</li>
<li>Brought the vibration plugin API into alignment with the W3C specification.</li>
</ul>
<p>The plugins have been updated on our registry at <a href="http://plugins.cordova.io/">plugins.cordova.io</a>.</p>
</p>
<div><a href="/news/2014/09/22/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 08 Sep 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2014/09/08/cordova-361.html">Apache Cordova 3.6</a>
</h2>
<div class="details">
<span class="date">08 Sep 2014</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2014/09/08/cordova-361.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Apache Cordova 3.6</code> has been released!</p>
<p>Most notable changes include:</p>
<ul>
<li>Android and Amazon FireOS platforms include a new whitelist for controlling the launch of external applications via intents. Also support for gradle was added.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-6761">CB-6761</a> Android: Fix native-&gt;JS bridge ceasing to fire when page changes and online is set to false and the JS loads quickly</li>
<li>Windows8 platform is now called Windows to indicate the support for windows universal apps. The windows8/windows platform now supports building apps targeting Windows 8.1 and Windows Phone 8.1 in addition to Windows 8 which was originally supported (see documentation for new --win and --phone Command Line switches).</li>
<li>For targeting Windows Phone 8.0, the wp8 is still supported.</li>
<li>Support for Windows Universal Apps is being added.</li>
</ul>
<p>To upgrade: (replace <code>android</code> with the platform you want to update):</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/3.6.0/guide_platforms_index.md.html">upgrade guides</a>.</p>
<h2>If this is 3.6.3, where are 3.6.0, 3.6.1, and 3.6.2?</h2>
<p>While preparing the 3.6.0 release,
the release candidates were published to a write-once repository.
When it was discovered that the release candidates needed to be updated,
we were unable to modify the write-once repository,
so we were forced to bump the version number.
This is why all the 3.6 cadence release items are labelled as &quot;3.6.3&quot;.
So 3.6.3 is the first release of the 3.6.x version.
Apologies for the confusion.</p>
<h2>What&#39;s new in Android</h2>
</p>
<div><a href="/announcements/2014/09/08/cordova-361.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 13 Aug 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/08/13/tools-update.html">Tools Release: August 13, 2014</a>
</h2>
<div class="details">
<span class="date">13 Aug 2014</span>
- by
<span class="author">
<a href="https://twitter.com/MarcelKinard">Marcel Kinard</a>
</span>
<a class="comment" href="/news/2014/08/13/tools-update.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>An updated version of <code>cordova</code> and <code>cordova-lib</code> are available starting today.</p>
<ul>
<li><a href="https://www.npmjs.org/package/cordova">cordova@3.5.0-0.2.7</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@0.21.7</a></li>
</ul>
<p>To update your tools:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
</code></pre></div></div>
<p>These contain only one minor function change, which is related to the recent release of <a href="http://cordova.apache.org/announcements/2014/08/04/android-351.html">Cordova Android 3.5.1</a>. Before today&#39;s update, when adding the Android platform to a project, by default it would use version 3.5.0 of Cordova Android. In order to get the latest 3.5.1 of Cordova Android, you would need to manually specify the 3.5.1 version number on the <code>platform add</code> command. Today&#39;s update changes the default version of Cordova Android used when adding the Android platform to a project, so that you no longer need to manually specify the 3.5.1 version number to get the 3.5.1 version. You&#39;ll now get 3.5.1 by default.</p>
</p>
<div><a href="/news/2014/08/13/tools-update.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 11 Aug 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/08/11/plugins-release.html">Plugins Release: August 11, 2014</a>
</h2>
<div class="details">
<span class="date">11 Aug 2014</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2014/08/11/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-battery-status: 0.2.10</li>
<li>cordova-plugin-camera: 0.3.1</li>
<li>cordova-plugin-console: 0.2.10</li>
<li>cordova-plugin-contacts: 0.2.12</li>
<li>cordova-plugin-device: 0.2.11</li>
<li>cordova-plugin-device-motion: 0.2.9</li>
<li>cordova-plugin-device-orientation: 0.3.8</li>
<li>cordova-plugin-dialogs: 0.2.9</li>
<li>cordova-plugin-file: 1.3.0</li>
<li>cordova-plugin-file-transfer: 0.4.5</li>
<li>cordova-plugin-geolocation: 0.3.9</li>
<li>cordova-plugin-globalization: 0.3.0</li>
<li>cordova-plugin-inappbrowser: 0.5.1</li>
<li>cordova-plugin-media: 0.2.12</li>
<li>cordova-plugin-media-capture: 0.3.2</li>
<li>cordova-plugin-network-information: 0.2.11</li>
<li>cordova-plugin-splashscreen: 0.3.2</li>
<li>cordova-plugin-statusbar: 0.1.7</li>
<li>cordova-plugin-vibration: 0.3.10</li>
</ul>
<p>Notable changes include:</p>
<ul>
<li>Most of the plugins docs are now translated into other languages.</li>
<li><strong>FirefoxOS</strong> has updated many of their proxies for plugins</li>
<li><strong>FirefoxOS</strong> support added to device motion plugin</li>
<li>Many updates to file plugin for <strong>BlackBerry10</strong>, <strong>FirefoxOS</strong> and <strong>Windows</strong></li>
<li><strong>BlackBerry10</strong> &amp; <strong>FirefoxOS</strong> support added to globalization plugin</li>
</ul>
<p>The plugins have been updated on our registry at <a href="http://plugins.cordova.io/">plugins.cordova.io</a>.</p>
<hr />
<p>You can update any plugin by removing it, and then readding it. E.g. To update your file plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm org.apache.cordova.file
cordova plugin add org.apache.cordova.file
</code></pre></div></div>
<p>Other changes include:</p>
</p>
<div><a href="/news/2014/08/11/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 06 Aug 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2014/08/06/android-351-update.html">Apache Cordova Android 3.5.1 Update</a>
</h2>
<div class="details">
<span class="date">06 Aug 2014</span>
- by
<span class="author">
<a href="https://twitter.com/iclelland">Ian Clelland</a>
</span>
<a class="comment" href="/announcements/2014/08/06/android-351-update.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>On Monday, we released Cordova Android 3.5.1, to address a couple of security issues. Afterwards, talking with the original researchers, we realized that the text of the security announcement that went out wasn&#39;t quite right, so we&#39;ve amended it.</p>
<p>You can read the amended blog post <a href="http://cordova.apache.org/announcements/2014/08/04/android-351.html">here</a>.</p>
<p>The issue in CVE-2014-3502 is that Cordova applications would, by default, pass any URLs that they couldn&#39;t load to the Android intent system for handling. This lets developers construct URLs that open email applications, maps, or send SMS messages, or even open web pages in the system browser, but it also allowed malicious URLs that could potentially open other applications on the device. This meant that if someone could execute their own JavaScript in your application, that they could use other applications on the device to &quot;phone home&quot; with the user&#39;s data. This is why we are recommending that all Android developers upgrade to Cordova 3.5.1.</p>
</p>
<div><a href="/announcements/2014/08/06/android-351-update.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 04 Aug 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2014/08/04/android-351.html">Apache Cordova Android 3.5.1</a>
</h2>
<div class="details">
<span class="date">04 Aug 2014</span>
- by
<span class="author">
<a href="https://twitter.com/MarcelKinard">Marcel Kinard</a>
</span>
<a class="comment" href="/announcements/2014/08/04/android-351.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p><strong>Updated: 2014-08-06</strong>
(The text of CVE-2014-3502 was changed after this post was released, to better explain the cope of the issue and the ways to mitigate the problem)</p>
<p>Security issues were discovered in the Android platform of Cordova. We are releasing version 3.5.1 of Cordova Android to address these security issues. We recommend that all Android applications built using Cordova be upgraded to use version 3.5.1 of Cordova Android. Other Cordova platforms such as iOS are unaffected, and do not have an update.</p>
<p>When using the Cordova CLI, the command to use 3.5.1 of Cordova Android is:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova platform add android@3.5.1 --usenpm
</code></pre></div></div>
<p>The security issues are CVE-2014-3500, CVE-2014-3501, and CVE-2014-3502.</p>
<p>For your convenience, the text of these CVEs is included here.</p>
</p>
<div><a href="/announcements/2014/08/04/android-351.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 10 Jul 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/07/10/tools-release.html">Tools Release: July 10, 2014</a>
</h2>
<div class="details">
<span class="date">10 Jul 2014</span>
- by
<span class="author">
<a href="https://github.com/kamrik">Mark Koudritsky</a>
</span>
<a class="comment" href="/news/2014/07/10/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of <code>plugman</code>, <code>cordova</code> and <code>cordova-lib</code> are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/plugman">plugman@0.22.4</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@3.5.0-0.2.6</a></li>
<li><a href="https://www.npmjs.org/package/cordova-lib">cordova-lib@0.21.6</a></li>
</ul>
<p>To update your tools:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
npm install -g plugman
</code></pre></div></div>
<p>Most notable changes are:</p>
<ul>
<li>Support for splash screens</li>
<li>Drop <strong>wp7</strong> as platform</li>
<li>An experimental feature that allows to persist the currently added plugins to config.xml. Try it out as:
<ul>
<li><code>cordova save plugins --experimental</code></li>
<li>and later when you check out the project without a plugins folder:</li>
<li><code>cordova restore plugins --experimental</code></li>
<li>Read <a href="http://www.gorkem-ercan.com/2014/06/sharing-cordova-projects-becomes-easier.html">Gorkem Ercan&#39;s post</a> for details.</li>
</ul>
</li>
<li>We are experimenting with using <code>browserify</code> to package our <code>cordova.js</code> build artifact. This is an internal change to our tooling, and is currently still off-by-default. We would appreciate feedback since we hope to switch to on-by-default in a future release. Try it using plugman as:</li>
<li><code>plugman (un)install --browserify --project [PROJECT] --plugin [PLUGIN] --platform [ios|android]</code></li>
</ul>
<p>Other changes include:</p>
</p>
<div><a href="/news/2014/07/10/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 08 Jul 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/07/08/plugins-release.html">Plugins Release: July 8, 2014</a>
</h2>
<div class="details">
<span class="date">08 Jul 2014</span>
- by
<span class="author">
<a href="https://twitter.com/iclelland">Ian Clelland</a>
</span>
<a class="comment" href="/news/2014/07/08/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-contacts: 0.2.11</li>
<li>cordova-plugin-network-information: 0.2.10</li>
</ul>
<p>Notable changes include:</p>
<ul>
<li>The network-information plugin no longer crashes immediately if no network is available</li>
<li><code>navigator.contacts.pickContact</code> API has been added for <strong>Android</strong>, <strong>iOS</strong>, <strong>Windows Phone 8</strong> and <strong>Windows 8</strong> platforms</li>
<li><code>navigator.contacts.find</code> API on <strong>Android</strong>, <strong>iOS</strong> and <strong>Windows Phone 8</strong> now supports <code>desiredFields</code> which specifies contact fields to be returned</li>
<li>Contacts on <strong>Firefox OS</strong> no longer requires manual change of the application permissions</li>
</ul>
<p>The plugins have been updated on our registry at <a href="http://plugins.cordova.io/">plugins.cordova.io</a>.</p>
<hr />
<p>You can update any plugin by removing it, and then re-adding it. E.g. To update your contacts plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm org.apache.cordova.contacts
cordova plugin add org.apache.cordova.contacts
</code></pre></div></div>
<p>Other changes include:</p>
</p>
<div><a href="/news/2014/07/08/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 12 Jun 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/06/12/plugins-release.html">Plugins Release: June 12, 2014</a>
</h2>
<div class="details">
<span class="date">12 Jun 2014</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2014/06/12/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>cordova-plugin-camera: 0.3.0</li>
<li>cordova-plugin-console: 0.2.9</li>
<li>cordova-plugin-device: 0.2.10</li>
<li>cordova-plugin-device-motion: 0.2.8</li>
<li>cordova-plugin-device-orientation: 0.3.7</li>
<li>cordova-plugin-dialogs: 0.2.8</li>
<li>cordova-plugin-file: 1.2.0</li>
<li>cordova-plugin-file-transfer: 0.4.4</li>
<li>cordova-plugin-geolocation: 0.3.8</li>
<li>cordova-plugin-globalization: 0.2.8</li>
<li>cordova-plugin-inappbrowser: 0.5.0</li>
<li>cordova-plugin-media: 0.2.11</li>
<li>cordova-plugin-media-capture: 0.3.1</li>
<li>cordova-plugin-network-information: 0.2.9</li>
<li>cordova-plugin-splashscreen: 0.3.1</li>
<li>cordova-plugin-statusbar: 0.1.6</li>
<li>cordova-plugin-vibration: 0.3.9</li>
</ul>
<p>Notable changes include:</p>
<ul>
<li>Several File plugin changes:
<ul>
<li>Initial implementation for <strong>Firefox OS</strong></li>
<li>Important platform-specific paths now exposed as properties on <code>cordova.file.*</code> (<strong>iOS</strong> &amp; <strong>Android</strong>, refer to docs)</li>
<li>Several bug fixes (across most platforms)</li>
<li>Updated support for <strong>BlackBerry 10</strong>, <strong>Ubuntu</strong> &amp; <strong>Windows 8</strong></li>
</ul>
</li>
<li>Every plugin now has its own license file and how to contribute document (<code>CONTRIBUTING.md</code>)</li>
</ul>
<p>The plugins have been updated on our registry at <a href="http://plugins.cordova.io/">plugins.cordova.io</a>.</p>
<hr />
<p>You can update any plugin by removing it, and then readding it. E.g. To update your file plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm org.apache.cordova.file
cordova plugin add org.apache.cordova.file
</code></pre></div></div>
<p>Other changes include:</p>
</p>
<div><a href="/news/2014/06/12/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 23 May 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2014/05/23/cordova-350.html">Apache Cordova 3.5.0</a>
</h2>
<div class="details">
<span class="date">23 May 2014</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2014/05/23/cordova-350.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Apache Cordova 3.5</code> has been released!</p>
<p>Most notable changes include:</p>
<ul>
<li>Common code between <code>cordova-cli</code> &amp; <code>cordova-plugman</code> has been moved into its own repo named <code>cordova-lib</code>.</li>
<li>Each platform now has a <code>package.json</code> file and has been uploaded to <code>npm</code>. Future updates to the <code>cordova-cli</code> will make use of <code>npm</code> instead of <code>git</code> for loading platforms.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-4863">CB-4863</a> - Drop <strong>iOS</strong> 5.0 support, and support <code>arm64</code>. New projects are built as a universal binary (64 and 32-bit), and require a minimum deployment target of iOS 6.0.</li>
<li>This is the last release with support for <strong>WP7</strong></li>
<li>Added Chrome devtools support for debug builds for <strong>amazon-fireos</strong></li>
</ul>
<p>To upgrade: (replace <code>android</code> with the platform you want to update):</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/3.5.0/guide_platforms_index.md.html">upgrade guides</a>.</p>
<p>Other changes include:</p>
</p>
<div><a href="/announcements/2014/05/23/cordova-350.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 23 Apr 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/04/23/plugins.release.html">Plugins Release: April 23, 2014</a>
</h2>
<div class="details">
<span class="date">23 Apr 2014</span>
- by
<span class="author">
<a href="https://twitter.com/iclelland">Ian Clelland</a>
</span>
<a class="comment" href="/news/2014/04/23/plugins.release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>org.cordova.battery-status@0.2.8</li>
<li>org.cordova.camera@0.2.9</li>
<li>org.cordova.console@0.2.8</li>
<li>org.cordova.contacts@0.2.10</li>
<li>org.cordova.device@0.2.9</li>
<li>org.cordova.device-motion@0.2.7</li>
<li>org.cordova.device-orientation@0.3.6</li>
<li>org.cordova.dialogs@0.2.7</li>
<li>org.cordova.file@1.1.0</li>
<li>org.cordova.file-transfer@0.4.3</li>
<li>org.cordova.geolocation@0.3.7</li>
<li>org.cordova.globalization@0.2.7</li>
<li>org.cordova.inappbrowser@0.4.0</li>
<li>org.cordova.media@0.2.10</li>
<li>org.cordova.media-capture@0.3.0</li>
<li>org.cordova.network-information@0.2.8</li>
<li>org.cordova.splashscreen@0.3.0</li>
<li>org.cordova.statusbar@0.1.5</li>
<li>org.cordova.vibration@0.3.8</li>
</ul>
<p>Many of these are minor, or only relevant to a couple of platforms. However, some notable changes include:</p>
<ul>
<li><code>statusbar</code> is now a core Cordova plugin, and now includes support for Windows Phone</li>
<li><code>splashscreen</code> now includes support for Tizen</li>
<li><code>file</code> now produces webview-compatible URLs (file:///) URLs by default when calling <code>.toURL</code></li>
<li><code>file</code> includes much of the functionality of the <code>file-system-roots</code> plugin, and allows access to all files on the device (except those blocked by the OS)</li>
<li>iOS In-App-Browser now supports <code>clearcache</code> and <code>clearsessioncache</code> like Android</li>
<li>Fixed several issues in <code>media-capture</code> which prevented it from being used with the <code>file</code> plugin</li>
<li>iOS warnings have been fixed when compiling for 64-bit ARM</li>
<li>Windows8 uses the built-in cordova exec proxy for all plugins, rather than a custom proxy.</li>
</ul>
<p>The plugins have been updated on our registry at <a href="http://plugins.cordova.io/">plugins.cordova.io</a>.</p>
<p>E.g. To update your file plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm org.apache.cordova.file
cordova plugin add org.apache.cordova.file
</code></pre></div></div>
<p>Other changes include:</p>
</p>
<div><a href="/news/2014/04/23/plugins.release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 09 Apr 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/04/09/tools-ios-release.html">Tools Release: April 9, 2014</a>
</h2>
<div class="details">
<span class="date">09 Apr 2014</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2014/04/09/tools-ios-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of <code>plugman</code>, <code>cordova</code> and <code>cordova-ios</code> are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/plugman">plugman@0.21.0</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@3.4.1-0.1.0</a></li>
<li><a href="http://archive.apache.org/dist/cordova/platforms/ios">cordova-ios@3.4.1</a></li>
</ul>
<p>To update your tools:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm update -g cordova
npm update -g plugman
</code></pre></div></div>
<p><strong>Cordova iOS 3.4.1</strong> is included with the latest update of <code>cordova</code>.</p>
<p>Most notable changes include:</p>
<ul>
<li>Update <strong>Xcode</strong> <code>.pbxproj</code> files according to <strong>Xcode 5.1</strong> recommendations</li>
<li><a href="https://issues.apache.org/jira/browse/CB-4863">CB-4863</a> Drop <strong>iOS 5.0</strong> support</li>
<li><a href="https://issues.apache.org/jira/browse/CB-4863">CB-4863</a> supporting <strong>iOS</strong> <code>arm64</code> by default</li>
<li><a href="https://issues.apache.org/jira/browse/CB-6160">CB-6160</a> Fix <code>plugin add</code> for <strong>FirefoxOS</strong>.</li>
<li>Fix to never remove top-level plugins that are dependencies + tests.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-6211">CB-6211</a> <code>cordova info</code> command fixed for <strong>Windows</strong> platform</li>
</ul>
<p>Other changes include:</p>
</p>
<div><a href="/news/2014/04/09/tools-ios-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 05 Mar 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/03/05/tools-release.html">Tools Release: March 5, 2014</a>
</h2>
<div class="details">
<span class="date">05 Mar 2014</span>
- by
<span class="author">
<a href="https://twitter.com/GrieveAndrew">Andrew Grieve</a>
</span>
<a class="comment" href="/news/2014/03/05/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>New versions of <code>plugman</code> and <code>cordova</code> are now live!</p>
<ul>
<li><a href="https://www.npmjs.org/package/plugman">plugman@0.20.2</a></li>
<li><a href="https://www.npmjs.org/package/cordova">cordova@3.4.0-0.1.3</a></li>
</ul>
<p>To update your tools:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm update -g cordova
npm update -g plugman
</code></pre></div></div>
<p>Most notable changes include:</p>
<ul>
<li>New command <code>plugman create</code> for generating a plugin template (CB-4886)</li>
<li>No longer necessary to run <code>cordova prepare</code> after installing a plugin (CB-5647)</li>
<li><code>cordova</code> now shows output of builds and hook scripts</li>
<li>Installing multiple plugins at once is now faster (CB-5885)</li>
</ul>
<p>Other changes include:</p>
</p>
<div><a href="/news/2014/03/05/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 03 Mar 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/03/03/plugins-release.html">Plugins Release: March 3, 2014</a>
</h2>
<div class="details">
<span class="date">03 Mar 2014</span>
- by
<span class="author">
<a href="https://twitter.com/GrieveAndrew">Andrew Grieve</a>
</span>
<a class="comment" href="/news/2014/03/03/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>org.apache.cordova.camera@0.2.8</li>
<li>org.apache.cordova.contacts@0.2.9</li>
<li>org.apache.cordova.file@1.0.1</li>
<li>org.apache.cordova.file-transfer@0.4.2</li>
<li>org.apache.cordova.inappbrowser@0.3.2</li>
<li>org.apache.cordova.media@0.2.9</li>
<li>org.apache.cordova.media-capture@0.2.8</li>
</ul>
<p>Notable changes include:</p>
<ul>
<li>Several bugfixes to the recently overhauled <code>file</code> plugin</li>
<li>Fixed the default value of <code>file-transfer</code> trustAllHosts on iOS (was true, is now false)</li>
<li>Prevent malicious code within an <code>inappbrowser</code> on iOS being able to run code within the host UIWebView</li>
</ul>
<p>The plugins have been updated on our registry at <a href="http://plugins.cordova.io/">plugins.cordova.io</a>.</p>
<p>E.g. To update your file plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm org.apache.cordova.file
cordova plugin add org.apache.cordova.file
</code></pre></div></div>
<p>Other changes include:</p>
</p>
<div><a href="/news/2014/03/03/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 20 Feb 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2014/02/20/cordova-340.html">Apache Cordova 3.4.0</a>
</h2>
<div class="details">
<span class="date">20 Feb 2014</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2014/02/20/cordova-340.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>We are happy to announce that <code>Cordova 3.4</code> has been released!</p>
<p>This release has various bug fixes for all of our supported platforms.</p>
<p>Our friends at <a href="http://www.mozilla.org/">Mozilla</a> have put together a blog post about getting started with <strong>Cordova Firefox OS</strong>. Check it out at <a href="https://hacks.mozilla.org/2014/02/building-cordova-apps-for-firefox-os/">https://hacks.mozilla.org/2014/02/building-cordova-apps-for-firefox-os/</a>.</p>
<p>To upgrade: (replace <code>android</code> with the platform you want to update):</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/3.4.0/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/announcements/2014/02/20/cordova-340.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 10 Feb 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/02/10/plugins-release.html">Plugins Release: Feb 10, 2014</a>
</h2>
<div class="details">
<span class="date">10 Feb 2014</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2014/02/10/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>org.apache.cordova.battery-status@0.2.7</li>
<li>org.apache.cordova.camera@0.2.7</li>
<li>org.apache.cordova.console@0.2.7</li>
<li>org.apache.cordova.contacts@0.2.8</li>
<li>org.apache.cordova.device@0.2.8</li>
<li>org.apache.cordova.device-motion@0.2.6</li>
<li>org.apache.cordova.device-orientation@0.3.5</li>
<li>org.apache.cordova.dialogs@0.2.6</li>
<li>org.apache.cordova.file@1.0.0</li>
<li>org.apache.cordova.file-transfer@0.4.1</li>
<li>org.apache.cordova.geolocation@0.3.6</li>
<li>org.apache.cordova.globalization@0.2.6</li>
<li>org.apache.cordova.inappbrowser@0.3.1</li>
<li>org.apache.cordova.media@0.2.8</li>
<li>org.apache.cordova.media-capture@0.2.7</li>
<li>org.apache.cordova.network-information@0.2.7</li>
<li>org.apache.cordova.vibration@0.3.7</li>
</ul>
<p>The most noticeable changes in this release are to the File plugin. It has been revamped to use a new URL scheme <code>cdvfile://localhost/&lt;filesystemType&gt;/&lt;path to file&gt;</code>. These URLs are generated by all file operations, and are passed over the bridge to native code. (This is in contrast to the previous version, which passed around absolute paths on the device filesystem).</p>
<p>Most of these changes are to bring us more in line with the HTML Filesystem standard, although they will also allow us to extend the filesystem abstraction to cover new kinds of storage, both internal and external to devices.</p>
<p>Other changes include:</p>
</p>
<div><a href="/news/2014/02/10/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 31 Jan 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/01/31/tools-release.html">Tools Release: Jan 31, 2014</a>
</h2>
<div class="details">
<span class="date">31 Jan 2014</span>
- by
<span class="author">
<a href="https://twitter.com/GrieveAndrew">Andrew Grieve</a>
</span>
<a class="comment" href="/news/2014/01/31/tools-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>It&#39;s been a long time since our last tools release, but it&#39;s certainly no sign of stagnation. Today&#39;s release is action packed!</p>
<ul>
<li>plugman@0.19.0</li>
<li>cordova@3.3.1-0.3.1</li>
</ul>
<p>To update your tools:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm update -g cordova
npm update -g plugman
</code></pre></div></div>
<p>This release brings with it a plethora of bug fixes as well as some new features! Notably:</p>
<ul>
<li><code>config.xml</code> now lives at the project root by default (instead of within <code>www/</code>)</li>
<li><code>hooks</code> now lives at the project root by default (instead of within <code>.cordova</code>)</li>
<li>Specify a <code>www/</code> to use when creating a new project with <code>--link-to</code> or <code>--copy-from</code></li>
<li>When installing by plugin ID, tell <code>cordova</code> and <code>plugman</code> to search for plugins locally using <code>--searchpath</code></li>
</ul>
<p>Full list of release notes:</p>
</p>
<div><a href="/news/2014/01/31/tools-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 02 Jan 2014 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2014/01/02/plugins-release.html">Plugins Release: Jan 2, 2014</a>
</h2>
<div class="details">
<span class="date">02 Jan 2014</span>
- by
<span class="author">
<a href="https://twitter.com/GrieveAndrew">Andrew Grieve</a>
</span>
<a class="comment" href="/news/2014/01/02/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The following plugins were updated today:</p>
<ul>
<li>org.apache.cordova.battery-status@0.2.6</li>
<li>org.apache.cordova.camera@0.2.6</li>
<li>org.apache.cordova.console@0.2.6</li>
<li>org.apache.cordova.contacts@0.2.7</li>
<li>org.apache.cordova.device-motion@0.2.5</li>
<li>org.apache.cordova.device-orientation@0.3.4</li>
<li>org.apache.cordova.device@0.2.6</li>
<li>org.apache.cordova.dialogs@0.2.5</li>
<li>org.apache.cordova.geolocation@0.3.5</li>
<li>org.apache.cordova.globalization@0.2.5</li>
<li>org.apache.cordova.inappbrowser@0.3.0</li>
<li>org.apache.cordova.media@0.2.7</li>
<li>org.apache.cordova.media-capture@0.2.6</li>
<li>org.apache.cordova.network-information@0.2.6</li>
<li>org.apache.cordova.splashscreen@0.2.6</li>
<li>org.apache.cordova.vibration@0.3.6</li>
</ul>
<p>With this release, documentation for plugins have moved from
<a href="http://cordova.apache.org/docs">http://cordova.apache.org/docs</a> to the <code>doc/</code> directory
within plugins themselves. Eventually, docs will be available online through
<a href="http://plugins.cordova.io">plugins.cordova.io</a>. Until then, they will be viewable online
<a href="http://cordova.apache.org/docs/en/dev/cordova_plugins_pluginapis.md.html">via github</a>.</p>
<p>Aside from documentation, changes include:</p>
</p>
<div><a href="/news/2014/01/02/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 16 Dec 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2013/12/16/cordova-330.html">Apache Cordova 3.3.0</a>
</h2>
<div class="details">
<span class="date">16 Dec 2013</span>
- by
<span class="author">
<a href="https://twitter.com/GrieveAndrew">Andrew Grieve</a>
</span>
<a class="comment" href="/announcements/2013/12/16/cordova-330.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>On Friday, <code>Cordova 3.3</code> went live on npm. Woohoo!</p>
<p>This release brings with it initial support for <a href="http://cordova.apache.org/docs/en/3.3.0/guide_platforms_ubuntu_index.md.html">Ubuntu Touch</a>
as well as <a href="http://cordova.apache.org/docs/en/3.3.0/guide_platforms_amazonfireos_index.md.html">Amazon Fire OS</a>!</p>
<p>To upgrade: (replace <code>android</code> with the platform you want to update):</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/3.3.0/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/announcements/2013/12/16/cordova-330.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 06 Dec 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/releases/2013/12/06/cordova-330rc1.html">Apache Cordova 3.3.0 RC1</a>
</h2>
<div class="details">
<span class="date">06 Dec 2013</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/releases/2013/12/06/cordova-330rc1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The <a href="http://cordova.apache.org/">Apache Cordova</a> team has just released the first release candidate for Cordova 3.3.0! We will be aiming to release the final version near the end of next week! Just in time for some holiday hacking!</p>
<p>Now we ask you, our community, to please download and help us test!</p>
<p>Installing cordova for the first time:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@3.3.0-rc.1
</code></pre></div></div>
<p>Updating your current version of cordova:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm update -g cordova@3.3.0-rc.1
</code></pre></div></div>
<p>Example of updating your current cordova android project to the latest version:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd cordovaApp
cordova platform update android
</code></pre></div></div>
<p>Issues can be reported at <a href="https://issues.apache.org/jira/browse/CB">https://issues.apache.org/jira/browse/CB</a></p>
<p>We will release a changelog with the offical 3.3.0 release when it ships!</p>
</p>
<div><a href="/announcements/releases/2013/12/06/cordova-330rc1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 04 Dec 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2013/12/04/plugins-release.html">Plugins Release: Dec 4, 2013</a>
</h2>
<div class="details">
<span class="date">04 Dec 2013</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2013/12/04/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Today we are doing a plugins release in preparation for Cordova 3.3.0. Most plugins now have support for our upcoming platform additions, Amazon Fire OS &amp; Ubuntu! Most notable changes include:</p>
<ul>
<li>Ubuntu support for most plugins</li>
<li>Amazon Fire OS support for most plugins</li>
<li>WP8 add support for battery-level</li>
<li>Camera Plugin now supports Firefox OS</li>
<li>Geolocation Plugin now supports Firefox OS</li>
<li><a href="https://issues.apache.org/jira/browse/CB-3420">CB-3420</a> WP feature hidden=yes implemented for inappbrowser</li>
<li><a href="https://issues.apache.org/jira/browse/CB-4724">CB-4724</a> WP8 - Fixed UriFormatException for inappbrowser</li>
<li><a href="https://issues.apache.org/jira/browse/CB-5291">CB-5291</a> iOS - Media Capture Audio - status bar issues under iOS 7</li>
<li><a href="https://issues.apache.org/jira/browse/CB-5275">CB-5275</a> Fixed media-capture&#39;s ability to select images &amp; videos on Android</li>
<li><a href="https://issues.apache.org/jira/browse/CB-4747">CB-4747</a> Fixed BlackBerry background vibrate</li>
</ul>
<p>The plugins have been updated on our registry at <a href="http://plugins.cordova.io/">plugins.cordova.io</a>.</p>
<p>The new &amp; improved file plugin did not get released with todays release. It requires more work &amp; testing. We hope to have it out before 3.3.0 lands next week.</p>
</p>
<div><a href="/news/2013/12/04/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 22 Nov 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2013/11/22/cordova-320.html">Apache Cordova 3.2.0</a>
</h2>
<div class="details">
<span class="date">22 Nov 2013</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/2013/11/22/cordova-320.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The <a href="http://cordova.apache.org/">Apache Cordova</a> team has just released Cordova 3.2.0. Woo Hoo! This release has various bug fixes and enhancements for all of the platforms.</p>
<p>To upgrade to a 3.2 project (replace <code>android</code> with the platform you want to update):</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/3.2.0/guide_platforms_index.md.html">upgrade guides</a>.</p>
<p>We are in the process of fixing Android 4.4 (KitKat) related bugs. If you want to develop for KitKat, please read our <a href="http://cordova.apache.org/announcements/2013/11/15/kitkat.html">KitKat blog post</a>.</p>
<p>Two known issues can be found at <a href="https://issues.apache.org/jira/browse/CB-5398">CB-5398</a> and <a href="https://issues.apache.org/jira/browse/CB-5294">CB-5294</a>.</p>
<p>Please report any bugs on our <a href="https://issues.apache.org/jira/browse/CB">issue tracker</a>.</p>
</p>
<div><a href="/announcements/2013/11/22/cordova-320.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 15 Nov 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/2013/11/15/kitkat.html">Action Required: Android KitKat Compatibility</a>
</h2>
<div class="details">
<span class="date">15 Nov 2013</span>
- by
<span class="author">
<a href="https://twitter.com/GrieveAndrew">Andrew Grieve</a>
</span>
<a class="comment" href="/announcements/2013/11/15/kitkat.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Android KitKat brings a <a href="https://developers.google.com/chrome/mobile/docs/webview/overview">massive update</a>
to the system WebView. This is terrific news for Cordova developers, as
<a href="http://www.mobilexweb.com/blog/android-4-4-kitkat-browser-chrome-webview">initial</a>
<a href="http://thenextweb.com/google/2013/11/02/kitkats-webview-powered-chromium-enabling-android-app-developers-use-new-html5-css-features/">reviews</a>
give it a big thumbs up.</p>
<p><strong>Update:</strong> The following is not actually true. It was an issue with a release candidate, but does not manifest in the final version of the WebView.</p>
<p>However, the update introduced <a href="https://issues.apache.org/jira/browse/CB-5393">a bug in Cordova applications</a>
that were built with Cordova versions prior to <code>3.1.0</code>, or <code>2.9.1</code>
which can cause native bridge callbacks to not be received until another one is made
(e.g. by switching in &amp; out of the app). We strongly encourage all apps to
<a href="http://cordova.apache.org/docs/en/3.1.0/guide_platforms_android_upgrading.md.html">update their Cordova version</a>,
or to directly apply the fix to
<a href="https://git-wip-us.apache.org/repos/asf?p=cordova-android.git;a=commit;h=166b35bc6c5977cf547f4093690d554b57cb855a">cordova-android</a> and
<a href="https://git-wip-us.apache.org/repos/asf?p=cordova-js.git;a=commit;h=1be2876635d2a788270238c4b1cfad200c488e32">cordova-js</a>.</p>
</p>
<div><a href="/announcements/2013/11/15/kitkat.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 13 Nov 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/announcements/releases/2013/11/13/cordova-320rc1.html">Apache Cordova 3.2.0 RC1</a>
</h2>
<div class="details">
<span class="date">13 Nov 2013</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/announcements/releases/2013/11/13/cordova-320rc1.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The <a href="http://cordova.apache.org/">Apache Cordova</a> team has just released the first release candidate for Cordova 3.2.0! Barring no hiccups, we will be aiming to release the final version later this week.
Now we ask you, our community, to please download and help us test! We want this to be the most solid release yet!</p>
<p>Installing cordova for the first time:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova@3.2.0-rc.1
</code></pre></div></div>
<p>Updating your current version of cordova:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm update -g cordova@3.2.0-rc.1
</code></pre></div></div>
<p>Example of updating your current cordova android project to the latest version:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd cordovaApp
cordova platform update android
</code></pre></div></div>
<p>Issues can be reported at <a href="https://issues.apache.org/jira/browse/CB">https://issues.apache.org/jira/browse/CB</a></p>
<p>We will release a changelog with the offical 3.2.0 release when it ships!</p>
</p>
<div><a href="/announcements/releases/2013/11/13/cordova-320rc1.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 06 Nov 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/blog/releases/2013/11/06/cordova-291.html">Apache Cordova 2.9.1</a>
</h2>
<div class="details">
<span class="date">06 Nov 2013</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/blog/releases/2013/11/06/cordova-291.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The <a href="http://cordova.apache.org/">Apache Cordova</a> 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&#39;t upgraded to the Cordova 3 series yet. Hurray! Among other fixes, this release backports iOS 7 support.</p>
<p>Users can download the source zip from <a href="https://www.apache.org/dist/cordova/cordova-2.9.1-src.zip">https://www.apache.org/dist/cordova/cordova-2.9.1-src.zip</a></p>
<p>We will continue to backport fixes for a few more months, but we highly suggest upgrading to the Cordova 3 series.</p>
</p>
<div><a href="/blog/releases/2013/11/06/cordova-291.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 28 Oct 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2013/10/28/plugins-release.html">CLI, Plugman &amp; Plugins Release: Oct 28, 2013</a>
</h2>
<div class="details">
<span class="date">28 Oct 2013</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2013/10/28/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Today we are doing a plugins and tooling release in preparation for Cordova 3.2.0. Most notable changes include:</p>
<ul>
<li>Cordova CLI &amp; Plugman have been refactored to use promises instead of callbacks</li>
<li><a href="https://issues.apache.org/jira/browse/CB-5125">CB-5125</a> Replace shell.exec with child process spawn</li>
<li><a href="https://issues.apache.org/jira/browse/CB-2234">CB-2234</a> Added cordova info command</li>
<li><a href="https://issues.apache.org/jira/browse/CB-5128">CB-5128</a> Repo &amp; Issue tags have been added to all of our core plugins plugin.xml file. This will allow us to display issue tracker and repo information on our registry.</li>
<li><a href="https://issues.apache.org/jira/browse/CB-5184">CB-5184</a> Fix uninstall logic being too aggressive (plugman)</li>
<li>Overhauled dependency uninstallation in regards to plugins (plugman)</li>
<li>FirefoxOS support for device-motion, device-orientation and dialogs plugins.</li>
</ul>
<p>The plugins have been updated on our registry at <a href="http://plugins.cordova.io/">plugins.cordova.io</a>.</p>
</p>
<div><a href="/news/2013/10/28/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 21 Oct 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2013/10/21/cordova-registry.html">Cordova's Plugin Registry</a>
</h2>
<div class="details">
<span class="date">21 Oct 2013</span>
- by
<span class="author">
<a href="http://www.maxwoghiren.com">Max Woghiren</a>
</span>
<a class="comment" href="/news/2013/10/21/cordova-registry.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Cordova 3.0 saw a major shift towards plugins. As part of this shift, we&#39;re focusing on making plugins easy to use and, equally importantly, easy to discover. App developers want to know what plugins are available to them, and plugin developers want their plugins to be visible to the community.</p>
<p>Our solution, which has been alluded to in previous posts, is the <a href="http://plugins.cordova.io/">Cordova plugin registry</a>. Using the Cordova CLI, app developers can add plugins to their projects with a single command.</p>
</p>
<div><a href="/news/2013/10/21/cordova-registry.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 10 Oct 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2013/10/10/plugins-release.html">Plugins Release: October 10th, 2013</a>
</h2>
<div class="details">
<span class="date">10 Oct 2013</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2013/10/10/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Today we are doing a release for the plugins that have been updated since our last release. We are also excited to announce three new plugins that have recently been added to our registry.</p>
<p>The new plugins include:</p>
<ul>
<li>websql for Android</li>
<li>keyboard for iOS</li>
<li>statusbar for iOS</li>
</ul>
<p>The following plugins have been updated for this release:</p>
<ul>
<li>cordova-plugin-contacts</li>
<li>cordova-plugin-file</li>
<li>cordova-plugin-file-transfer</li>
<li>cordova-plugin-inappbrowser</li>
<li>cordova-plugin-media</li>
<li>cordova-plugin-media-capture</li>
<li>cordova-plugin-splashscreen</li>
<li>cordova-plugin-vibration</li>
</ul>
<p><br /></p>
<p>These plugins have been updated on our registry at <a href="http://plugins.cordova.io">plugins.cordova.io</a>.</p>
<p><br /></p>
</p>
<div><a href="/news/2013/10/10/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Wed, 02 Oct 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/blog/releases/2013/10/02/cordova-31.html">Apache Cordova 3.1</a>
</h2>
<div class="details">
<span class="date">02 Oct 2013</span>
- by
<span class="author">
<a href="https://twitter.com/GrieveAndrew">Andrew Grieve</a>
</span>
<a class="comment" href="/blog/releases/2013/10/02/cordova-31.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>The <a href="http://cordova.apache.org/">Apache Cordova</a> team has just released Cordova 3.1.0. Hurray! Most notable changes include:</p>
<ul>
<li>Initial (alpha) support for Firefox OS.</li>
<li>Windows 8 support for CLI project.</li>
<li>Unified <a href="http://cordova.apache.org/docs/en/3.1.0/guide_appdev_whitelist_index.md.html">whitelist syntax</a> on iOS and Android</li>
<li><a href="http://cordova.apache.org/docs/en/3.1.0/">Documentation</a> translated into several languages (<a href="http://cordova.apache.org/docs/fr/3.1.0/index.html">fr</a>
<a href="http://cordova.apache.org/docs/zh/3.1.0/index.html">zh</a>
<a href="http://cordova.apache.org/docs/de/3.1.0/index.html">de</a>
<a href="http://cordova.apache.org/docs/it/3.1.0/index.html">it</a>
<a href="http://cordova.apache.org/docs/ja/3.1.0/index.html">ja</a>
<a href="http://cordova.apache.org/docs/ko/3.1.0/index.html">ko</a>
<a href="http://cordova.apache.org/docs/ru/3.1.0/index.html">ru</a>
<a href="http://cordova.apache.org/docs/es/3.1.0/index.html">es</a>)</li>
</ul>
<p>To upgrade a 3.0 project (replace <code>android</code> with the platform you want to update):</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm install -g cordova
cd my_project
cordova platform update android
</code></pre></div></div>
<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/3.1.0/guide_platforms_index.md.html">upgrade guides</a>.</p>
</p>
<div><a href="/blog/releases/2013/10/02/cordova-31.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 01 Oct 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2013/10/01/plugins-release.html">Plugins Release: October 1st, 2013</a>
</h2>
<div class="details">
<span class="date">01 Oct 2013</span>
- by
<span class="author">
<a href="https://twitter.com/stevesgill">Steve Gill</a>
</span>
<a class="comment" href="/news/2013/10/01/plugins-release.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Today we are doing a plugin release in preparation for Apache Cordova 3.1.0, which is scheduled to be released later this week.</p>
<p>The main change for this release is removing &#39;core&#39; from the plugin ID fields. This was done to make installing plugins simpler in 3.1.0. We are switching over to using plugin IDs and our <a href="http://plugins.cordova.io/">plugin registry</a> for plugin installation instead of directly installing from the plugin git urls.</p>
<p>These plugins are compatible with Cordova 3.0.0. Feel free to upgrade your current plugins if you can&#39;t wait for 3.1.0 next week. Keep in mind that after you install these updated plugins, if you decide to remove these plugins from your project, you will have to reference the new IDs instead of the old ones that our docs show.</p>
<p>E.g. To update your camera plugin:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cordova plugin rm org.apache.cordova.core.camera
cordova plugin add org.apache.cordova.camera
</code></pre></div></div>
<p><br /></p>
</p>
<div><a href="/news/2013/10/01/plugins-release.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 13 Sep 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2013/09/13/last-week.html">Last Week in Cordova: FirefoxOS, Translations, bug fixes</a>
</h2>
<div class="details">
<span class="date">13 Sep 2013</span>
- by
<span class="author">
<a href="https://twitter.com/GrieveAndrew">Andrew Grieve</a>
</span>
<a class="comment" href="/news/2013/09/13/last-week.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Last week Cordova saw 83 commits come in from 24 different authors. No releases were made,
but attention was spent on <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20component%20%3D%20FirefoxOS">adding Firefox OS support</a>,
translating docs, and fixing bugs.</p>
</p>
<div><a href="/news/2013/09/13/last-week.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Fri, 06 Sep 2013 00:00:00 +0000"></div>
<h2 class="title">
<a href="/news/2013/09/06/last-week.html">Last Week in Cordova</a>
</h2>
<div class="details">
<span class="date">06 Sep 2013</span>
- by
<span class="author">
<a href="https://twitter.com/GrieveAndrew">Andrew Grieve</a>
</span>
<a class="comment" href="/news/2013/09/06/last-week.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Last week Cordova saw 39 commits come in, <code>plugman</code> reached version <code>0.11.0</code>, and <code>CLI</code> reached <code>3.0.9</code>.</p>
<p><code>plugman</code> now has initial support for Windows Phone, plugin URLs can now
<a href="https://issues.apache.org/jira/browse/CB-4622">specify a git hash and subdirectory</a>,
and <code>&lt;engine&gt;</code> tags <a href="https://issues.apache.org/jira/browse/CB-4494">are now enforced</a>.
There was also good progress made towards launching our <a href="https://issues.apache.org/jira/browse/CB-4489">Plugin Registry</a>.</p>
</p>
<div><a href="/news/2013/09/06/last-week.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Mon, 12 Aug 2013 20:45:04 +0000"></div>
<h2 class="title">
<a href="/blog/2013/08/12/crowdintranslation.html">Apache Cordova Is Looking for a Few Good Translators</a>
</h2>
<div class="details">
<span class="date">12 Aug 2013</span>
- by
<span class="author">
<a href="https://twitter.com/IBMLisa">Lisa Seacat DeLuca</a>
</span>
<a class="comment" href="/blog/2013/08/12/crowdintranslation.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Apache Cordova is going global! Apache Cordova is already being used by
developers all over the world and now, we are proud to announce, the Apache
Cordova documentation will be translated into a number of languages. But we
need your help! With the support of <a href="http://crowdin.net/project/cordova">Crowdin</a>, a translation and
localization management platform, translators can login to the easy-to-use
tooling and provide as much or as little translation assistance as they would
like. If you know another language please support Cordova and contribute.</p>
<p><a href="http://crowdin.net/project/cordova">http://crowdin.net/project/cordova</a></p>
<p>Email <a href="mailto:ldeluca@apache.org">ldeluca@apache.org</a> for more information.</p>
</p>
<div><a href="/blog/2013/08/12/crowdintranslation.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Tue, 23 Jul 2013 18:45:04 +0000"></div>
<h2 class="title">
<a href="/blog/releases/2013/07/23/cordova-3.html">Apache Cordova 3.0</a>
</h2>
<div class="details">
<span class="date">23 Jul 2013</span>
- by
<span class="author">
<a href="https://twitter.com/brianleroux">Brian LeRoux</a>
</span>
<a class="comment" href="/blog/releases/2013/07/23/cordova-3.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>It went live on Friday! Snapshot available on our <a href="https://www.apache.org/dist/cordova/">download page</a> but before downloading please read on to find out whats new including for more ways to work with Cordova!</p>
<h2>Light Weight Core</h2>
<p>Cordova 3 introduces a new unified project structure and ships with a very limited API surface. Developers can now compose a version of Cordova with only the APIs they need. In the past, Cordova shipped with the entire kitchen sink of APIs that most applications only needed a small subset of. This lead to messy, and often not even necessary, upgrading for our community. With the release of Cordova 3 you start with a very light weight core and only add the API surface your application requires. Obviously, this means a performance improvement but the real win here is maintenance and upgrading. We&#39;ll continue to maintain &quot;core&quot; APIs which are the same device APIs you&#39;ve come to know and love.</p>
<h2>New Command Line Tooling</h2>
<p>We&#39;re very excited to share two new command line tools: Cordova and Plugman. Both are implemented using <code>NodeJS</code> and thusly distributed via <code>npm</code>. The <code>cordova</code> command line tool has been a long time coming. It unifies all platforms into a single project structure, making it easy to maintain a single codebase for multiple platforms. The <code>cordova</code> tool builds off of our other new tool: <code>plugman</code>, which provides automated discovery, installation, and removal of both core and custom plugins.</p>
<p>We&#39;ve been testing for months but keep in mind both tools are new. Bugs happen, so you if you find one or even just have an idea for a new feature please visit our <a href="http://issues.cordova.io">issue tracker</a>.</p>
</p>
<div><a href="/blog/releases/2013/07/23/cordova-3.html">More...</a></div>
</section>
</li>
<li>
<header>
<div class="adorner" blogTime="Thu, 11 Jul 2013 20:45:04 +0000"></div>
<h2 class="title">
<a href="/blog/2013/07/11/cordova-has-a-blog.html">Apache Cordova Gets an Official Blog</a>
</h2>
<div class="details">
<span class="date">11 Jul 2013</span>
- by
<span class="author">
<a href="https://twitter.com/csantanapr">Carlos Santana</a>
</span>
<a class="comment" href="/blog/2013/07/11/cordova-has-a-blog.html#disqus_thread"></a>
</div>
</header>
<section class="post-excerpt">
<p><p>Cordova now has a Blog! Look here to stay up-to-date with what&#39;s happening with the project.
There is a major release <a href="https://issues.apache.org/jira/browse/CB/fixforversion/12322491">3.0</a>
just around the corner (July 19, 2013), and we are really excited about it!</p>
<p>Be sure to <a href="/feed.xml">subscribe</a> using RSS</p>
</p>
<div><a href="/blog/2013/07/11/cordova-has-a-blog.html">More...</a></div>
</section>
</li>
</ul>
<!-- <a target="_blank" href="http://feed1.w3.org/check.cgi?url=/feed.xml"><img src="/static/img/valid-rss-rogers.png" alt="[Valid RSS]" title="Validate my RSS feed" /></a> -->
</div>
</div>
<script>
window.onload = function(){
setTimeout(function(){
var lastPostTime = new Date("Wed, 03 Apr 2024 00:00:00 +0000").getTime();
setCookie("visitTime", lastPostTime, 365);
}, 2000);
};
</script>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES * * */
var disqus_shortname = 'cordovablogs';
/* * * DON'T EDIT BELOW THIS LINE * * */
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
</div>
</div>
<div class="blue-divider"></div>
<footer>
<div class="container">
<div class="row">
<div class="col-sm-9">
<h1>More Resources</h1>
<div class="row">
<div class="col-sm-4">
<h2>General</h2>
<ul class="nav">
<li>
<a target="_blank" href="https://projects.apache.org/project.html?cordova">Apache Project Page</a>
</li>
<li>
<a href="https://www.apache.org/dyn/closer.cgi/cordova">Source Distribution</a>
</li>
<li>
<a target="_blank" href="https://www.apache.org/licenses">License</a>
</li>
<li>
<a href="/artwork">Artwork</a>
</li>
</ul>
</div>
<div class="col-sm-4">
<h2>Development</h2>
<ul class="nav">
<li><a target="_blank" href="https://github.com/apache?utf8=%E2%9C%93&amp;q=cordova-">Source Code</a></li>
<li><a target="_blank" href="https://github.com/apache/cordova#filing-a-bug">Issue Tracker</a></li>
<li><a target="_blank" href="https://stackoverflow.com/questions/tagged/cordova">Stack Overflow</a></li>
<li><a href="/contact">Mailing List</a></li>
<li><a href="/contribute/nightly_builds.html">Nightly builds</a></li>
</ul>
</div>
<div class="col-sm-4">
<h2>Apache Software Foundation</h2>
<ul class="nav">
<li>
<a target="_blank" href="https://www.apache.org/">About ASF</a>
</li>
<li>
<a target="_blank" href="https://www.apache.org/events/current-event">Events</a>
</li>
<li>
<a target="_blank" href="https://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a>
</li>
<li>
<a target="_blank" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
</li>
<li>
<a target="_blank" href="https://www.apache.org/security/">Security</a>
</li>
<li>
<a target="_blank" href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy policy</a>
</li>
</ul>
</div>
</div>
</div>
<div class="col-sm-3">
<h1>Contribute</h1>
<p style="padding-top:20px"><strong>Help Cordova move forward!</strong></p>
<p>Report bugs, improve the docs, or contribute to the code.</p>
<a href="/contribute" class="btn btn-lg btn-primary">
Learn More
</a>
<p style="padding-top:20px"> <a href="https://twitter.com/apachecordova" class="twitter-follow-button" data-show-count="false">Follow @apachecordova</a></p>
</div>
</div>
<p class="copyright_text">
Copyright &copy; 2024 <a href="https://apache.org">The Apache Software Foundation</a>, Licensed under the <a target="_blank" href="https://www.apache.org/licenses/">Apache License, Version 2.0</a>.<br/>
Apache and the Apache feather logos are <a target="_blank" href="https://www.apache.org/foundation/marks/list/">trademarks</a> of The Apache Software Foundation.
<br/>
<p>See the <a href="/attributions/">attributions page</a> for other copyright & trademark notices.</p>
</p>
</div>
</footer>
<script defer type="text/javascript" src="/static/js/index.js"></script>
<script defer type="text/javascript" src="/static/js/twitter.js"></script>
</body>
</html>