Blog RSS Feed

Cordova Windows 6.0.0 Released!
27 Feb 2018

We are happy to announce the release of cordova-windows 6.0.0.

This is a major release that changes functionality you might rely on, so please make sure to read the following list of changes:

Changes

  • Windows 10 / UWP builds are now default, meaning cordova build windows will now build a Windows 10 UWP app by default.
    Windows (Phone) 8.1 is still supported, of course, just use cordova build windows -- --appx=8.1-win, cordova build windows -- --appx=8.1-phone or an equivalent configuration option.
  • You can now build apps with a current installation of Visual Studio 2017 (15.5.x at the time of writing) without any additional configuration or hacks (like the environment variable VSINSTALLDIR that was required for 5.0.0). (Note: Visual Studio 2017 doesn't support Windows 8.1 apps anymore, so you can only build these apps with Visual Studio 2015 installed.)
  • New ENV variable MSBUILDDIR allows to directly configure the MSBuild Tools to be used to build the app. While VSINSTALLDIR 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. C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin or C:\Program Files (x86)\MSBuild\14.0\bin\) and it will be used to build your project.
    • If you have Visual Studio 2017 and Visual Studio 2015 installed at the same time, the normal logic would always choose Visual Studio 2017'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.
    • If the supplied path is invalid or doesn't contain a working MSBuild, the normal MSBuild selection logic will be triggered
  • Fixes several bugs

Installation

As usual, this new version will be added as the default cordova-windows version for cordova platform add windows only with the next release of Cordova CLI. Until then, please use these commands to remove and re-add the windows platform:

cordova platform rm windows
cordova platform add windows@6.0.0

Known limitations

As it's often the case, the 6.0.0 release of cordova-windows is not perfect and has some known limitations:

  • If you only have Visual Studio 2017 installed on your machine, you can not build Windows (Phone) 8.1 apps.
  • 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
  • Some build and requirements error messages are not optimal

Feedback

If you encounter problems with this new version, you can use the GitHub issues of the cordova-windows repository to do so now.

The future of cordova-windows

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.

As Microsoft recently ended mainstream support for all Windows 8.1 variants, total market share recedes below 6% and Visual Studio 2017 doesn't support 8.1 development anymore, we don't expect any future changes that would require updates to cordova-windows' 8.1 support. Same for Windows 10 Mobile, which is not under active development by Microsoft anymore and will not receive any other updates than security fixes.

Because of that, we decided to deprecate all "mobile" and "phone" build targets of cordova-windows. In the near future, we will release a 7.0.0 version that will remove support for those platform variants and focus on Windows 10 UWP - which will greatly reduce complexity and simplify future maintenance.
cordova-windows 6.0.0 with support for these platforms, of course, will stay available and receive bugfixes if necessary (Similar to how cordova-windows@4 was the last version to support Windows 8.0).

Please tell us in the comments to this blog post if you have any objections or comments to these plans.

Curated Changelog

  • CB-13889 Allow test failures for Visual Studio 2017 environments (#263)
  • CB-13878 MSBUILDDIR env variable (#262)
  • CB-13883 Visual Studio 2017 support (#261)
  • CB-13877 Clean up MSBuildTools.js (#259)
  • CB-13870 Improve check_reqs (#258)
  • CB-13877 more env information about msbuild and visual studio on appveyor (#257)
  • CB-13877 First MSBuildTools.js work: Debug output, move misplaced method, comments (#255)
  • CB-13875 add prepare script that can be called in e2e tests (#254)
  • CB-13817 Add new alias uwp for --appx param including tests (#251)
  • CB-13870 change default from UAP to 10.0 (#253)
  • CB-13829 Fix tests that were broken since CB-13237 (#246)
  • CB-11968 Add support for config-file in config.xml (#235)
  • CB-13799 updated npm test for cordova-windows
  • CB-13812 run tests on AppVeyor with VS 2017 as well
  • CB-13641 support transparent splash screen background color. (#245)
  • CB-13175 fixing Windows8.1 crash on startup
  • CB-13422 (windows) Fix typo in build error message
  • CB-12895 ignoring cordova.js for eslint & removing comments and references to jshint
  • CB-13237 Default to UAP
  • CB-13155 Improved target parsing
  • CB-13022 Correct a VS installation warning during check_reqs
  • CB-12636 Fix check_reqs to properly find VS 2017
  • CB-12895 setup eslint and removed jshint
  • Allow build when using --bundle and multiple architectures. This closes #175
  • README: Fix broken Markdown headings
  • CB-12617 Removed node 0.x from CI
  • CB-12847 fixed bugs entry in package.json
  • CB-12784 Fixed a crash on Windows 10 Creators Update
  • Add support for uap3.
  • CB-12018 updated tests to work with jasmine instead of jasmine-node
  • CB-12499 UWP: Dependent external libraries specified as resource-file not being referenced in Release mode