Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
This is a feature-packed release that introduces numerous highly requested enhancements. It is available now on NPM and can be installed by running
npm i -g code-push-cli@latest.
Updates can now be "flighted" to only a percentage of your users The
releasecommand (and derivatives) includes a new parameter called
--rolloutthat allows you to specify the percentage of users you want to be eligible to receive it. This way you can roll releases out slowly, watch your analytics and crash reporting data to see if everything looks good, and slowly roll it out to more users as desired. More details
code-push release-react MyApp ios --rollout 25%
The metadata of existing releases can now be edited We introduced a new
patchcommand that lets you edit the
disabled(see below) and
rolloutproperties of an existing release within a specific deployment. This way, if you need to correct a typo in a description, make a release mandatory or optional, or increase the rollout percentage of a flighted release, you can. More details
code-push patch MyApp Production --rollout 80% code-push patch MyApp Staging --label v5 -m false
Releases can now be disabled The
promote(see below) commands all now include a new
--disabledparameter, which allow you to indicate whether you want a released, edited or promoted update to be downloadable or not.
// Upload a new release but don't make it immediately available for users code-push release-react MyApp ios --disabled ... // When you are ready to release, simply enable the already uploaded update code-push patch MyApp Production --disabled false
Update metadata can now be overridden when promoting a release The existing
promotecommand works by creating a new release in the destination deployment, whose content and metadata are equivalent to that of the latest release in the source deployment. In order to support modifying the metadata of the new release, the
promotecommand now includes parameters for
--rollout. This is effectively a shortcut for doing the
patch, if you want to ensure that certain attributes are changed immediately as part of the promotion. This can be helpful, for example, if you're using the
descriptionfields differently in
Production. More details.
code-push promote MyApp Staging Production -m false
Releasing updates to Cordova apps is now much simpler We introduced a new
release-cordovacommand that handles the
code-push releaseautomatically, and infers the app's version and update contents location. This is the Cordova-equivalent of the existing
release-reactcommand, and now ensures that developers using either platform have a simpler solution, while still being able to use the "vanilla"
releasecommand when more control/flexibility is needed More details
cordova prepare ios code-push release MyApp ./platforms/ios/www 1.0.0
code-push release-cordova MyApp ios
- The ZIP file that is created by the CLI when you run the
releasecommand is now appropriately deleted even if the release process is rejected (e.g. you attempted to upload an update that is identical to the latest release) or fails.
- We resolved an install issue for users running older NPM versions
As mentioned in the release notes for the 1.7.0-beta release, we needed to make some breaking changes between the CLI and CodePush server in order to accommodate some performance improvements and feature enhancements. We ended up maintaining both the old and new management servers for two weeks, but as of the 1.8.1-beta release, the old management server is gone, and all users MUST upgrade to 1.7.0+ (we would encourage using 1.8.1-beta since it has a ton of new features!) to continue managing their account.
Once again, to be extremely clear, this will have no impact on end-users at all. It only impacts the CLI and your ability to release updates, not device's ability to receive updates.
If you are reading this, and have already upgraded to the latest CLI, then you don't need to do anything else. If you haven't upgraded to a 1.7.0-beta+ version of the CLI at this point, you will simply get an error message in the CLI asking you to upgrade, at which point, you just simply need to run
npm i -g code-push-cli@latest and you're good to go.