You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2014/11/18 21:42:36 UTC

svn commit: r1640422 [1/3] - in /cordova/site: public/ public/blog/ public/blog/2014/ public/blog/2014/11/ public/blog/2014/11/18/ public/news/2014/11/13/ www/_posts/

Author: steven
Date: Tue Nov 18 20:42:35 2014
New Revision: 1640422

URL: http://svn.apache.org/r1640422
Log:
added perf blog post

Added:
    cordova/site/public/blog/2014/
    cordova/site/public/blog/2014/11/
    cordova/site/public/blog/2014/11/18/
    cordova/site/public/blog/2014/11/18/cordova-perf.html
    cordova/site/www/_posts/2014-11-18-cordova-perf.md   (with props)
Modified:
    cordova/site/public/blog/index.html
    cordova/site/public/index.html
    cordova/site/public/news/2014/11/13/tools-release.html
    cordova/site/public/rss.xml

Added: cordova/site/public/blog/2014/11/18/cordova-perf.html
URL: http://svn.apache.org/viewvc/cordova/site/public/blog/2014/11/18/cordova-perf.html?rev=1640422&view=auto
==============================================================================
--- cordova/site/public/blog/2014/11/18/cordova-perf.html (added)
+++ cordova/site/public/blog/2014/11/18/cordova-perf.html Tue Nov 18 20:42:35 2014
@@ -0,0 +1,232 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <link rel="SHORTCUT ICON" href="//cordova.apache.org/favicon.ico"/>
+    <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" />
+    <!-- Original Jekyll
+    <meta name="viewport" content="width=device-width">
+    -->
+    <title>Automating Performance Audits for Cordova apps</title>
+    <!-- syntax highlighting CSS -->
+    <link rel="stylesheet" href="//cordova.apache.org/css/syntax.css">
+    <!-- Custom CSS -->
+    <link rel="stylesheet" href="//cordova.apache.org/css/main.css">
+
+    <!-- Cordova CSS -->
+    <link rel="stylesheet" type="text/css" href="//cordova.apache.org/css/master.css">
+    <script src="//cordova.apache.org/js/smooth.pack.js" type="text/javascript"></script>
+    <script type="text/javascript">
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', 'UA-94271-30']);
+      _gaq.push(['_trackPageview']);
+      (function() {
+        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+      })();
+    </script>
+</head>
+
+<body>
+
+    <a class="scroll-point pt-top" name="top">
+</a>
+<div id="header">
+    <div class="wrap">
+        <a class="logo" href="//cordova.apache.org/#top"></a>
+        <div class="menu">
+            <a href="//cordova.apache.org/#about">About</a>
+            <a href="//cordova.apache.org/#news">News</a>
+            <a href="http://cordova.apache.org/docs/en/4.0.0/">Documentation</a>
+            <a href="http://plugins.cordova.io/">Plugins</a>
+            <a href="//cordova.apache.org/#links">Quick Links</a>
+            <a href="//cordova.apache.org/#contribute">Contribute</a>
+            <a href="//cordova.apache.org/#mailing-list">Mailing List</a>
+        </div>
+        <form class="menu-dropdown">
+            <select onchange="location = this.options[this.selectedIndex].value;">
+                <option value="//cordova.apache.org/#about">About</option>
+                <option value="//cordova.apache.org/#news">News</option>
+                <option value="http://cordova.apache.org/docs/en/4.0.0/">Documentation</option>
+                <option value="http://plugins.cordova.io/">Plugins</option>
+                <option value="//cordova.apache.org/#links">Quick Links</option>
+                <option value="//cordova.apache.org/#contribute">Contribute</option>
+                <option value="//cordova.apache.org/#mailing-list">Mailing List</option>
+            </select>
+        </form>
+    </div>
+    <div class="shadow"></div>
+</div> <!-- /header -->
+<div class="header-placeholder"></div>
+
+
+        <div class="site">
+    <h2>Automating Performance Audits for Cordova apps</h2>
+    <div class="meta">Posted by: <a href="https://twitter.com/nparashuram">Parashuram</a></div>
+    <p class="meta">18 Nov 2014</p>
+    <div class="post">
+    
+<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>
+
+<h1 id="measuring_performance">Measuring Performance</h1>
+
+<p>The latest versions of Android and iOS WebViews 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="http://i.imgur.com/zR2f1.gif" alt="Chrome Developer tools - profiling" /></p>
+
+<p>Articles (like <a href="http://aerotwist.com/blog/my-performance-audit-workflow/">this</a> and <a href="http://calendar.perfplanet.com/2013/the-runtime-performance-checklist/">this</a>) articulate the typical workflow for auditing performance of webpages. Similar principles can be applied to apps too. <!--more--></p>
+
+<h1 id="automating_performance_measurements">Automating Performance measurements</h1>
+
+<p>With rapid development and release cycles of apps, it becomes hard to do regular performance audits. Automating the process with tools would ensure that we have a handle on the performance of the app.</p>
+
+<p><a href="http://npmjs.org/package/browser-perf">browser-perf</a> is a NodeJS based tool picks up data from browser developer tools and converts them to key performance indicators. It is based on Chromium’s performance test suite called <a href="http://www.chromium.org/developers/telemetry">telemetry</a> and supports iOS and Android based Cordova apps. All metrics are recorded while mimicking typical user interactions.</p>
+
+<h2 id="testing_ios_apps">Testing iOS Apps</h2>
+
+<p>To start testing your Cordova app for iOS, you would need to <code>npm install</code> <a href="http://appium.io/">Appium</a> and <a href="http://appium.io/getting-started.html?lang=en">set it up</a>. Appium is a tool to automate your app and emulate user interactions like clicking buttons or typing in the app. Ensure that the app is built at least once and the emulator is running.</p>
+
+<p>You can then use the following NodeJS snippet to run a simple test. In the example, a value is typed entered into a text box, and a button is clicked.</p>
+
+<pre><code>var browserPerf = require(&#39;browser-perf&#39;);
+browserPerf(undefined, function(err, res) {
+    if (err) {
+        console.log(&#39;An error occured&#39;);
+    } else {
+        console.log(&#39;Result is &#39;, res);
+    }
+}, {
+    selenium: &quot;http://localhost:4723/wd/hub&quot;,
+    browsers: [{
+        platformName: &quot;iOS&quot;,
+        platformVersion: &quot;8.0&quot;,
+        deviceName: &quot;iPhone Simulator&quot;,
+        app: &quot;~/cordovaapp/platforms/ios/build/emulator/HelloCordova.app&quot;,
+        bundleId: &quot;io.cordova.hellocordova&quot;,
+        autoWebview: true
+    }],
+    log: console.log.bind(console),
+    actions: [
+        function(browser) {
+            return browser.elementById(&#39;count&#39;).then(function(el) {
+                el.type(1000);
+            }).then(function() {
+                return browser.elementById(&#39;checkout&#39;);
+            }).then(function(el) {
+                return el.click();
+            });
+        }
+    ]
+});</code></pre>
+
+<p>Additional user interactions can be used instead of typing and clicking by following the guide on <a href="https://github.com/axemclion/browser-perf/wiki/Node-Module---API#actions">this page</a>.</p>
+
+<p>The <a href="https://www.youtube.com/watch?v=TG_eTe_H-s4">video below</a> illustrates the steps. Note that in the video, the config file does not specify any action. Hence, the default action scrolls the page and records the metrics.</p>
+
+<p><a href="https://www.youtube.com/watch?v=TG_eTe_H-s4"><img src="http://img.youtube.com/vi/TG_eTe_H-s4/0.jpg" alt="Video of steps to run perf tests in Cordova" /></a></p>
+
+<h2 id="testing_android_apps">Testing Android Apps</h2>
+
+<p>Testing Android apps is very similar to testing iOS Apps. The only difference would be the use of <a href="https://sites.google.com/a/chromium.org/chromedriver/">ChromeDriver</a> instead of Appium. Consequently, the configuration would look something like <a href="https://github.com/axemclion/browser-perf/blob/master/test/res/android-hybrid.config.json">this</a>.</p>
+
+<p>Additional details about setting up the test environment can be found <a href="https://github.com/axemclion/browser-perf/wiki/Setup-Instructions#testing-mobile-cordova-webviewhybrid-applications">here</a>, with reference for browser-perf in the <a href="https://github.com/axemclion/browser-perf/wiki/Node-Module---API">wiki pages</a>.</p>
+
+<h1 id="finishing_touches">Finishing touches</h1>
+
+<p>browser-perf can record a plethora of metrics ranging from frame rates, to count of expensive paints or expensive events that could cause jank. Each of these metrics indicates how a CSS transform or an onscroll handler may have changed the performance of the app. Recording this data over time can give better insight into how each code change affects the smooth experience. The <code>res</code> object in browser-perf callback from the example snippet above can be saved to a database and graphed. For example, <a href="http://npmjs.org/package/perfjankie">Perfjankie</a> works on top of browser-perf, stores the results in a CouchDB database, and displays the results</p>
+
+<h1 id="summary">Summary</h1>
+
+<p>In this article, we saw how to measure the rendering performance of Cordova apps. With the tools described, you can ensure that your apps are just as good as native apps are supposed to be.</p>
+
+<blockquote>
+<p>If you would like to run this for your Cordova app, please <a href="http://twitter.com/nparashuram">contact me</a>, and I would be glad to help you to get started or check out this <a href="http://blog.nparashuram.com/2014/10/measuring-rendering-performance-metrics.html">related blog post</a>.</p>
+</blockquote>
+
+    </div>
+</div>
+
+
+
+    <a class="scroll-point" name="links"></a>
+<hr/>
+
+<div class="wrap quick-links-pane">
+    <h2 class="icon icon-quick-links">Quick Links</h2>
+    <br/>
+    <ul class="quick-links-header">
+        <li>General</li>
+        <li>Development</li>
+        <li class="last">Apache Software Foundation</li>
+    </ul>
+    <div class="clear"></div>
+</div>
+
+<div class="grid">
+    <div class="wrap">
+        <div class="list-container">
+            <ul class="list quick-links">
+                <li class="corner"></li>
+                <li><a href="//cordova.apache.org/index.html#about">About Cordova<span></span></a></li>
+
+                
+                <li><a href="http://projects.apache.org/projects/cordova.html">Apache Project Page<span></span></a></li>
+                
+                <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License<span></span></a></li>
+                
+
+                <li><a href="//cordova.apache.org/artwork.html">Artwork<span></span></a></li>
+            </ul>
+
+            <ul class="list quick-links">
+                <li class="corner"></li>
+                <li><a href="//cordova.apache.org/index.html#download">Download<span></span></a></li>
+                <li><a href="http://cordova.apache.org/docs/en/4.0.0/">Documentation<span></span></a></li>
+
+                
+                <li><a href="https://git-wip-us.apache.org/repos/asf">Source Code<span></span></a></li>
+                
+                <li><a href="https://issues.apache.org/jira/browse/CB">Issue Tracker<span></span></a></li>
+                
+                <li><a href="http://wiki.apache.org/cordova/">Wiki<span></span></a></li>
+                
+
+                <li><a href="//cordova.apache.org/index.html#mailing-list">Mailing List<span></span></a></li>
+
+                <li><a href="http://stackoverflow.com/tags/cordova">Support<span></span></a></li>
+            </ul>
+
+            <ul class="list quick-links last">
+                <li class="corner"></li>
+                
+                <li><a href="http://www.apache.org/">About ASF<span></span></a></li>
+                
+                <li><a href="http://www.apache.org/foundation/thanks.html">Thanks<span></span></a></li>
+                
+                <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor<span></span></a></li>
+                
+                <li><a href="http://www.apache.org/security/">Security<span></span></a></li>
+                
+            </ul>
+
+            <div class="clear"></div>
+        </div>
+    </div>
+</div>
+
+
+    <hr/>
+<div id="footer">
+    <p>Copyright © 2012, 2013 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>
+    Apache and the Apache feather logos are <a href="http://www.apache.org/foundation/marks/list/">trademarks</a> of The Apache Software Foundation.
+    </p>
+    <a class="closing" href="#top"></a>
+</div>
+
+
+</body>
+</html>

Modified: cordova/site/public/blog/index.html
URL: http://svn.apache.org/viewvc/cordova/site/public/blog/index.html?rev=1640422&r1=1640421&r2=1640422&view=diff
==============================================================================
--- cordova/site/public/blog/index.html (original)
+++ cordova/site/public/blog/index.html Tue Nov 18 20:42:35 2014
@@ -69,6 +69,11 @@
 <ul class="posts">
   
     <li>
+    <span>18 Nov 2014</span> &raquo;
+    <a href="//cordova.apache.org/blog/2014/11/18/cordova-perf.html">Automating Performance Audits for Cordova apps</a>
+    </li>
+  
+    <li>
     <span>13 Nov 2014</span> &raquo;
     <a href="//cordova.apache.org/news/2014/11/13/tools-release.html">Tools Release: November 13, 2014</a>
     </li>

Modified: cordova/site/public/index.html
URL: http://svn.apache.org/viewvc/cordova/site/public/index.html?rev=1640422&r1=1640421&r2=1640422&view=diff
==============================================================================
--- cordova/site/public/index.html (original)
+++ cordova/site/public/index.html Tue Nov 18 20:42:35 2014
@@ -101,52 +101,69 @@
   <h2>News <a href="/rss.xml" style="font-size:12pt; margin-left:10px">Subscribe</a></h2>
   <ul class="posts">
     
+      <li><span>18 Nov 2014</span> &raquo; <a href="//cordova.apache.org/blog/2014/11/18/cordova-perf.html">Automating Performance Audits for Cordova apps</a>
+      
+<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>
+
+<h1 id="measuring_performance">Measuring Performance</h1>
+
+<p>The latest versions of Android and iOS WebViews 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="http://i.imgur.com/zR2f1.gif" alt="Chrome Developer tools - profiling" /></p>
+
+<p>Articles (like <a href="http://aerotwist.com/blog/my-performance-audit-workflow/">this</a> and <a href="http://calendar.perfplanet.com/2013/the-runtime-performance-checklist/">this</a>) articulate the typical workflow for auditing performance of webpages. Similar principles can be applied to apps too.</p>
+
+      <div style="padding-bottom:2em"><a href="//cordova.apache.org/blog/2014/11/18/cordova-perf.html">Read More</a></div>
+    
       <li><span>13 Nov 2014</span> &raquo; <a href="//cordova.apache.org/news/2014/11/13/tools-release.html">Tools Release: November 13, 2014</a>
-      <p>New versions of cordova tools are now live!</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>
+<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>
+<li>
+<p>If you have <code>cordova</code> installed:</p>
 
-    <pre><code>npm install -g cordova
-</code></pre>
-  </li>
-  <li>
-    <p>If you have <code>plugman</code> installed:</p>
-
-    <pre><code>npm install -g plugman
-</code></pre>
-  </li>
-</ul>
+<pre><code>npm install -g cordova</code></pre>
+</li>
+
+<li>
+<p>If you have <code>plugman</code> installed:</p>
 
-<h1 id="changes-include">Changes include</h1>
+<pre><code>npm install -g plugman</code></pre>
+</li>
+</ul>
 
+<h1 id="changes_include">Changes include</h1>
 
       <div style="padding-bottom:2em"><a href="//cordova.apache.org/news/2014/11/13/tools-release.html">Read More</a></div>
     
       <li><span>11 Nov 2014</span> &raquo; <a href="//cordova.apache.org/news/2014/11/11/windows-cert.html">Critical Update: Windows 3.7.1. Release</a>
-      <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>
+      
+<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>
+<p>Note that this does not affect the <strong>WP8</strong> platform.</p>
 </blockquote>
 
-<h2 id="error-message">Error Message</h2>
-<p>When building Cordova for <strong>Windows</strong>, you may seen an error message that looks something like this </p>
+<h2 id="error_message">Error Message</h2>
+
+<p>When building Cordova for <strong>Windows</strong>, you may seen an error message that looks something like this</p>
 
 <pre><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>
+C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets(1772,9): error APPX0108: The certificate specified has expired. </code></pre>
 
 <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>
 
@@ -156,39 +173,14 @@ C:\Program Files (x86)\MSBuild\Microsoft
 
 <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>You can also remove the <strong>Windows</strong> platform using <code>cordova platform remove windows</code> and add it again, specifiying a version like <code>cordova platform add windows@3.7.1</code>. This picks up the latest release of the <strong>Windows</strong> platform that has a newer certificate.  </p>
+<p>You can also remove the <strong>Windows</strong> platform using <code>cordova platform remove windows</code> and add it again, specifiying a version like <code>cordova platform add windows@3.7.1</code>. This picks up the latest release of the <strong>Windows</strong> platform that has a newer certificate.</p>
 
-<h2 id="long-term-fix">Long term fix</h2>
-<p>We are working on a long term fix to generate this certificate dynamically. This way, the certificates are not checked into <strong>Cordova</strong> repositories and will not expire. </p>
+<h2 id="long_term_fix">Long term fix</h2>
 
+<p>We are working on a long term fix to generate this certificate dynamically. This way, the certificates are not checked into <strong>Cordova</strong> repositories and will not expire.</p>
 
       <div style="padding-bottom:2em"><a href="//cordova.apache.org/news/2014/11/11/windows-cert.html">Read More</a></div>
     
-      <li><span>06 Nov 2014</span> &raquo; <a href="//cordova.apache.org/announcements/2014/11/06/cordova-wp-windows-3.7.0.html">Apache Cordova Windows & Windows Phone 3.7.0</a>
-      <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>
-
-<pre><code>npm install -g cordova
-cd my_project
-cordova platform update windows
-</code></pre>
-
-<p>To add it explicitly (available now):</p>
-
-<pre><code>cordova platform add windows@3.7.0
-cordova platform add wp8@3.7.0
-</code></pre>
-
-<p>For non-CLI projects or for pre-3.0 projects, refer to the <a href="http://cordova.apache.org/docs/en/edge/guide_platforms_index.md.html">upgrade guides</a>.</p>
-
-
-      <div style="padding-bottom:2em"><a href="//cordova.apache.org/announcements/2014/11/06/cordova-wp-windows-3.7.0.html">Read More</a></div>
-    
   </ul>
   
   <p>

Modified: cordova/site/public/news/2014/11/13/tools-release.html
URL: http://svn.apache.org/viewvc/cordova/site/public/news/2014/11/13/tools-release.html?rev=1640422&r1=1640421&r2=1640422&view=diff
==============================================================================
--- cordova/site/public/news/2014/11/13/tools-release.html (original)
+++ cordova/site/public/news/2014/11/13/tools-release.html Tue Nov 18 20:42:35 2014
@@ -69,82 +69,110 @@
     <div class="meta">Posted by: <a href="https://github.com/kamrik">Mark Koudritsky</a></div>
     <p class="meta">13 Nov 2014</p>
     <div class="post">
-    <p>New versions of cordova tools are now live!</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>
+<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>
+<li>
+<p>If you have <code>cordova</code> installed:</p>
 
-    <pre><code>npm install -g cordova
-</code></pre>
-  </li>
-  <li>
-    <p>If you have <code>plugman</code> installed:</p>
+<pre><code>npm install -g cordova</code></pre>
+</li>
 
-    <pre><code>npm install -g plugman
-</code></pre>
-  </li>
+<li>
+<p>If you have <code>plugman</code> installed:</p>
+
+<pre><code>npm install -g plugman</code></pre>
+</li>
 </ul>
 
-<h1 id="changes-include">Changes include</h1>
+<h1 id="changes_include">Changes include</h1>
 <!--more-->
+<h2 id="platform_updates">Platform updates</h2>
+
+<p>When adding these platforms to your project, the following versions are now used by default. These platform versions were released recently, and the tools’ defaults were updated:</p>
 
-<h2 id="platform-updates">Platform updates</h2>
-<p>When adding these platforms to your project, the following versions are now used by default.
-These platform versions were released recently, and the tools’ defaults were updated:</p>
-
-<ul>
-  <li><a href="http://cordova.apache.org/announcements/2014/11/06/cordova-ios-3.7.0.html">Cordova iOS 3.7.0</a></li>
-  <li><a href="http://cordova.apache.org/announcements/2014/11/06/cordova-wp-windows-3.7.0.html">Cordova WP8 3.7.0</a></li>
-  <li><strong>Cordova Windows 3.7.1</strong> - see <a href="http://cordova.apache.org/announcements/2014/11/06/cordova-wp-windows-3.7.0.html">3.7.0 release</a> and the <a href="http://cordova.apache.org/news/2014/11/11/windows-cert.html">3.7.1 update</a> posts</li>
-</ul>
-
-<h2 id="cordova-lib">cordova-lib</h2>
-<ul>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7079">CB-7079</a> Allow special characters and digits in <code>id</code> when publishing to <em>plugins registry</em></li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-8004">CB-8004</a> Use <strong>Windows 3.7.1</strong> Release</li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7988">CB-7988</a> Update platform versions for <strong>iOS</strong>, <strong>WP8</strong> &amp; <strong>Windows</strong> to <strong>3.7.0</strong></li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7846">CB-7846</a> Fix plugin deletion when a dependent plugin does not exist</li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-6992">CB-6992</a> Fix build issue on <strong>iOS</strong> when app name contains accented characters</li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7890">CB-7890</a> validate file copy operations in <strong>plugman</strong></li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7884">CB-7884</a> moved platform metadata to <code>platformsConfig.json</code></li>
-  <li>Amazon Specific changes: Added support for <code>SdkVersion</code></li>
-  <li>Expose <code>PluginInfo</code> from cordova-lib</li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7839">CB-7839</a> android: Fix <code>versionCode</code> logic when version is less than 3 digits</li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7033">CB-7033</a> Improve <code>cordova platform check</code></li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7311">CB-7311</a> Fix <strong>Xcode</strong> project manipulation on <strong>Windows</strong> host</li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7820">CB-7820</a> Make <code>cordova platfrom restore</code> not stop if a platform fails to restore</li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7649">CB-7649</a> Support iPhone 6 Plus Icon in CLI <code>config.xml</code></li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7647">CB-7647</a> Support new iPhone 6 and 6 Plus Images in the CLI config.xml</li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7909">CB-7909</a> <code>plugman platform add</code> fixes</li>
-  <li>Enable platform-specific id for <strong>Android</strong> and <strong>iOS</strong></li>
-  <li>Check for a <code>CORDOVA_HOME</code> environment variable to create a global config path</li>
+<ul>
+<li><a href="http://cordova.apache.org/announcements/2014/11/06/cordova-ios-3.7.0.html">Cordova iOS 3.7.0</a></li>
+
+<li><a href="http://cordova.apache.org/announcements/2014/11/06/cordova-wp-windows-3.7.0.html">Cordova WP8 3.7.0</a></li>
+
+<li><strong>Cordova Windows 3.7.1</strong> - see <a href="http://cordova.apache.org/announcements/2014/11/06/cordova-wp-windows-3.7.0.html">3.7.0 release</a> and the <a href="http://cordova.apache.org/news/2014/11/11/windows-cert.html">3.7.1 update</a> posts</li>
 </ul>
 
-<h2 id="cordova">cordova</h2>
+<h2 id="cordovalib">cordova-lib</h2>
+
 <ul>
-  <li>Expose cordova-lib and the cli from cordova-cli</li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7636">CB-7636</a> Allow using <code>--nobuild</code> flag without screening</li>
+<li><a href="https://issues.apache.org/jira/browse/CB-7079">CB-7079</a> Allow special characters and digits in <code>id</code> when publishing to <em>plugins registry</em></li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-8004">CB-8004</a> Use <strong>Windows 3.7.1</strong> Release</li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7988">CB-7988</a> Update platform versions for <strong>iOS</strong>, <strong>WP8</strong> &amp; <strong>Windows</strong> to <strong>3.7.0</strong></li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7846">CB-7846</a> Fix plugin deletion when a dependent plugin does not exist</li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-6992">CB-6992</a> Fix build issue on <strong>iOS</strong> when app name contains accented characters</li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7890">CB-7890</a> validate file copy operations in <strong>plugman</strong></li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7884">CB-7884</a> moved platform metadata to <code>platformsConfig.json</code></li>
+
+<li>Amazon Specific changes: Added support for <code>SdkVersion</code></li>
+
+<li>Expose <code>PluginInfo</code> from cordova-lib</li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7839">CB-7839</a> android: Fix <code>versionCode</code> logic when version is less than 3 digits</li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7033">CB-7033</a> Improve <code>cordova platform check</code></li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7311">CB-7311</a> Fix <strong>Xcode</strong> project manipulation on <strong>Windows</strong> host</li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7820">CB-7820</a> Make <code>cordova platfrom restore</code> not stop if a platform fails to restore</li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7649">CB-7649</a> Support iPhone 6 Plus Icon in CLI <code>config.xml</code></li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7647">CB-7647</a> Support new iPhone 6 and 6 Plus Images in the CLI config.xml</li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7909">CB-7909</a> <code>plugman platform add</code> fixes</li>
+
+<li>Enable platform-specific id for <strong>Android</strong> and <strong>iOS</strong></li>
+
+<li>Check for a <code>CORDOVA_HOME</code> environment variable to create a global config path</li>
 </ul>
 
-<h2 id="cordova-js">cordova-js</h2>
+<h2 id="cordova">cordova</h2>
+
 <ul>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7868">CB-7868</a> Make <code>&lt;clobbers&gt;</code> on <code>navigator</code> not break on some versions of <strong>Android</strong></li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7868">CB-7868</a> Use <code>utils.defineGetterSetter</code> instead of <code>Object.defineProperty</code></li>
-  <li>Upleveled <strong>amazon-fireos</strong> bridge</li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-7735">CB-7735</a> Fix <strong>iOS</strong> bridge race condition when using <code>innerHTML</code> on <code>&lt;body&gt;</code></li>
-  <li><a href="https://issues.apache.org/jira/browse/CB-2520">CB-2520</a> User agent-related changes for custom user agents in <strong>iOS</strong></li>
+<li>Expose cordova-lib and the cli from cordova-cli</li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7636">CB-7636</a> Allow using <code>--nobuild</code> flag without screening</li>
 </ul>
 
+<h2 id="cordovajs">cordova-js</h2>
+
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/CB-7868">CB-7868</a> Make <code>&lt;clobbers&gt;</code> on <code>navigator</code> not break on some versions of <strong>Android</strong></li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7868">CB-7868</a> Use <code>utils.defineGetterSetter</code> instead of <code>Object.defineProperty</code></li>
+
+<li>Upleveled <strong>amazon-fireos</strong> bridge</li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-7735">CB-7735</a> Fix <strong>iOS</strong> bridge race condition when using <code>innerHTML</code> on <code>&lt;body&gt;</code></li>
+
+<li><a href="https://issues.apache.org/jira/browse/CB-2520">CB-2520</a> User agent-related changes for custom user agents in <strong>iOS</strong></li>
+</ul>
 
     </div>
 </div>



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org