Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

Releases: microsoft/cordova-plugin-code-push

v1.9.1-beta

19 Oct 03:02
Compare
Choose a tag to compare

Breaking Changes

To improve download speeds globally, CodePush updates are now distributed using a CDN. This applies only to cordova-plugin-code-push versions 1.9.0-beta and up. Note that if you are currently specifying approved URLs using the <access origin /> element in your config.xml file or a whitelist plugin, you will need to add https://codepushupdates.azureedge.net to the list.

Bug Fixes (iOS)

Fix a possible hang that can occur when installing files, due to the file copy operation in cordova-plugin-file being executed on the main thread. Thank you @viking2009 and @galsch for reporting this and following up!

v1.8.2-beta

24 Jun 00:46
Compare
Choose a tag to compare

This is simply a bug fix release which addresses an iOS build issue when using PhoneGap Build and the PhoneGap CLI v6.0.0+. It is now available on NPM and can be updated immediately by running cordova plugin add cordova-plugin-code-push@latest.

v1.8.1-beta

19 Jun 17:05
Compare
Choose a tag to compare

This is simply a bug fix release for the iOS platform (Android is untouched). It is now available on NPM and can be updated immediately by running cordova plugin add cordova-plugin-code-push@latest.

Bug Fixes (iOS)

  1. Fixed a regression with the cordova-plugin-wkwebview-engine plugin which prevented it from working on iOS 9.3+ devices (the simulator worked fine).
  2. Ensured that our most IO-intensive operations run on a background thread in order to free up your app's UI thread as much as possible.

v1.8.0-beta

31 May 20:32
Compare
Choose a tag to compare

This release introduces retry logic to the existing install metrics feature, and address a few key bugs. It is now available on NPM and can be updated immediately by running cordova plugin add cordova-plugin-code-push@latest.

New Features

  1. Install metrics reporting will now retry in the event of connectivity issues In order to ensure the integrity of the install metrics data, this plugin now detects failures when trying to report that an update was installed or rollback, and will queue it up to re-send to the CodePush server later. This way, no metrics are permanently lossed due to temporary connectivity issues for your end users.

Bug Fixes

  1. The getCurrentPackage method wasn't returning the correct metadata in situations when an app had installed two updates before restarting (this is a rare but possible scenario). This has now been fixed, and you can confidently retrieve the metadata for the running version of the app by calling this method.
  2. Fixed a crash that would occur when the plugin tried to report an update rollback.

v1.7.1-beta

04 May 21:16
Compare
Choose a tag to compare

This is simply a quick bug-fix release. It is now available on NPM and can be updated immediately by running cordova plugin add cordova-plugin-code-push@latest.

Bug Fixes

  1. Resolved an issue with reporting install metrics for apps that didn't specify a deployment key in their config.xml file (i.e. they specify the deploymentKey value when calling sync)
  2. Improved the sync logging to be less noisy and output more details when using some of the new features (e.g. mandatoryInstallMode and minimumBackgroundDuration).

v1.7.0-beta

20 Apr 22:32
Compare
Choose a tag to compare

This release introduces a couple of highly-requested features, as well as some key bug fixes. It is now available on NPM and can be updated immediately by running cordova plugin add cordova-plugin-code-push@latest.

New Features

  1. Added support for throttling resume-based installs We've seen a lot of developers want to use the resume-based install strategy, in order to get their updates in front of their end users sooner. However, forcing a restart on the next resume might be too obtrusive if the user switched away from the app for only a few seconds (e.g. to respond to a text). In order to help get updates in front of users sooner, while still respecting their workflow, the sync method now accepts a new option called minimumBackgroundDuration that specifies the number of seconds that the app needs to have been in the background before forcing the install. More details

    // If the app was in the background for 10 minutes, we assume that it is "safe" to restart to install the update
    codePush.sync(null, { installMode: InstallMode.ON_NEXT_RESUME, minimumBackgroundDuration: 10 * 60 });
  2. Optional and mandatory updates can be now be installed using different strategies The sync method now accepts a new option called mandatoryInstallMode, which allows you to individually customize the install mode that is used for optional and mandatory updates. This new property defaults to InstallMode.IMMEDIATE (which is what we've found most devs want), but can be changed by passing a different value when calling sync.

    // Install optional updates on restart, but enforce mandatory updates on the next app resume
    codePush.sync(null, { mandatoryInstallMode: InstallMode.ON_NEXT_RESUME });
  3. The contents of the binary are now hashed and sent to the CodePush server so that we can detect whether an available update is equivalent to what the end-user is already running. This helps prevent the unnecessary first-run update issue, and we now encourage developers to release their binary contents to CodePush to help solve this scenario, as well as enable diff updates for the initial CodePush update after a fresh binary install/update.

Bug Fixes (General)

  1. The deploymentKey parameter of the checkForUpdate and sync methods can now be specified without needing to also configure a deployment key in the app's config.xml file. This way, you can configure your deployment keys entirely in code and/or at runtime.

Bug Fixes (Android)

  1. File permissions are now configured correctly for Marshmallow devices, which ensures that a consent dialog isn't displayed when a CodePush update is about to be written to disk. Please ensure that you have >= 4.2.0 of the cordova-plugin-file plugin installed to ensure this fix is included.

v1.6.0-beta

22 Mar 00:06
Compare
Choose a tag to compare

This release primarily introduces client-side support for the new rollout release feature in the CLI, as well as some key bug fixes. It is now available on NPM and can be updated immediately by running cordova plugin add cordova-plugin-code-push@latest.

New Features

  1. Added client-side support for the new release rollout feature in the CLI This version of the Cordova SDK is required in order to begin taking advantage of this new capability, so make sure to upgrade your apps before attempting to release updates with a rollout percentage. More details

    code-push release-cordova MyApp ios --rollout 25%
  2. Better diagnostic logging when calling checkForUpdate and sync, so that it's easier to understand what the CodePush runtime is doing and whether any errors were encountered. When in doubt, always check the Safari and/or Chrome dev tools console for info!

Bug Fixes

  1. The sync method can no longer be called multiple times concurrently. When sync is called while a previous call is outstanding, the second one will complete by firing an IN_PROGRESS status to the syncStatusCallback (if provided). Being able to call sync concurrently could have led to some subtle bugs, so this change simply ensures that your app can't get into an odd state if you accidentally call sync multiple times.
  2. We updated some of our d.ts files to accommodate Cordova devs using TypeScript with CodePush

1.5.1-beta

05 Mar 00:02
Compare
Choose a tag to compare

This release introduces support for the WKWebView on iOS 9.0+, so that apps can make use of the cordova-plugin-wkwebview-engine plugin at the same time as CodePush.

1.5.0-beta

21 Jan 17:39
Compare
Choose a tag to compare

Release notes:

  • Breaking changes to the rollback mechanism: Rollback is now enabled by default and the rollbackTimeout option was removed. codePush.notifyApplicationReady() MUST to be called after update, sometime during the first run of the updated code. If you use codePush.sync() to install updates you are not affected, since sync() calls notifyApplicationReady() internally.
  • Added a two new methods: getPendingPackage() and restartApplication().
  • Made changes to the reporting mechanism, to accommodate install statistics in the CodePush CLI.

1.3.0-beta

04 Dec 18:54
Compare
Choose a tag to compare

Release notes:

  • Added a download progress callback to download and sync
  • Added two new install modes: on app restart / on app resume
  • Added a parameter to override the config.xml deployment key if needed
  • Renamed LocalPackage.apply to LocalPackage.install
  • Added new, intermediate statuses to sync for better progress reporting