v1.12.0-beta
This is a feature-packed release which addresses a handful of commonly requested user stories. Thanks to everyone for the amazing feedback! It is available now on NPM and can be installed by running npm i -g code-push-cli@latest
.
New Features (General)
-
CodePush integration can now be easily diagnosed directly from our CLI We've added a lot of debug logs to the CodePush plugins to help make it easier to understand how it's behaving and why. However, viewing these logs requires using a different tool between iOS and Android (e.g. logcat), and potentially between Cordova and React Native. To simplify the need to quickly identify the source of an issue with your app's CodePush integration, the CLI now includes a new
debug
command which lets you view all of the CodePush plugin's logs directly within the CLI.View the docs for more details.
-
Access key expiration can now be configured The
access-key add
command now supports an additional--ttl
parameter, which lets you specify how long an access key should be usable for, which gives you greater control over the impact that a key can have, in case you forget to explicitly delete it. By default, new keys will expire in 60 days, but you can change this to whatever fits your desired policy and/or use case (e.g.6m
,2y
).# Create a temporary key to use for CI that will expire in 2 weeks code-push access-key add "CI Environment" --ttl 2w
Additionally, as part of our efforts to improve security, the value of an access key will no longer be displayed in the CLI (since we are now hashing them in the database), so make sure to persist the value somewhere safe!
-
Access keys can now be renamed The CLI now includes a new
access-key patch
command which lets you modify the name and/or TTL (see #2) of an existing access key.# Rename the VSTS key to reflect its purpose more generically code-push access-key patch "VSTS Integration" --name "CI Key"
-
Login sessions are now managed separately from access keys The CLI includes a new
session ls
command, which allows you to view all of the current login sessions associated with your account. Additionally, the newsession rm
command allows you to revoke a login session that you don't want to be usable anymore. This functionality was previously available via theaccess-key ls
andaccess-key rm
commands, however, we believe that separating the concepts of login sessions and access keys provides a simplified experience, and makes it easier to spotting unidentified and/or undesired login sessions. -
Azure Active Directory is now a supported authentication provider Users who want to be able to register/login with their work and/or school account, can now use Azure Active Directory in addition to the existing GitHub and Microsoft support.
New Features (Android)
-
The
release-react
command will now automatically infer the target binary version of a CodePush release when yourbuild.gradle
file is referencing itsversionName
via a property in yourgrade.properties
file.Example build.gradle file:
android { defaultConfig { versionName VERSION_NAME } }
Corresponding gradle.properties file:
VERSION_NAME=1.2.3
New Features (iOS)
-
The
release-react
command supports two new parameters to allow customizing whichInfo.plist
file is used to infer the target binary version of a CodePush release:--plistFile
and--plistFilePrefix
. We hope these allow more apps to release updates without needing to explicitly specify the--targetBinaryVersion
parameter.# Release a new update, targeting it at the binary version # specified in the STAGING-Info.plist file code-push release-react foo ios --pre STAGING