<!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>
