Releases: microsoft/code-push
v2.0.1-beta
Release 2.0.0 was our first with Mobile Center integration.
This release updates that with a couple minor fixes.
Bug Fixes:
-
When slashes (/) are specified in the app name, to specify an organization or owner qualifier for the app, it now works properly.
-
The
code-push collaborator add
command now outputs a better message clarifying that with Mobile Center integration adding a collaborator works a little differently, sending an email invite to the collaborator which they must then accept to get access.
v1.12.9-beta
This is a small incremental release with a needed bugfix. Thank you @max-mironov for your contributions this release!
New Features:
- Release build type for Cordova builds. When the
release-cordova
command is executed with the newisReleaseBuildType
flag alongside thebuild
flag, a release build will be performed instead of a debug build.
Bug Fixes:
- Fix the command-line parsing of boolean flags that was regressed in
1.12.8-beta
.
v1.12.8-beta
This release introduces more user control over how versions are released and promoted, as well as multiple bug fixes. It is available now on NPM and can be installed by running npm i -g code-push-cli@latest
.
New Features:
- Promoting specific versions. The
code-push
promote command will now accept a--label
/-l
parameter to promote a specific label from one deployment to the other, as opposed to the latest version. This was a highly requested feature! - Saving bundles and sourcemaps. Add a
--outputDir
/-o
parameter to therelease-react
command to write the bundle and sourcemap to a specified directory. This should help make debugging easier, as well as allowing integration with crash reporting solutions. - Customizing the node environment. Allow arguments to node to be specified when running the
release-react
command. For example, out-of-memory issues for very large apps can be overcome by running a command likeenv NODE_ARGS="--max-old-space-size=4096" code-push release-react APP_NAME ios
. Thanks @zk!
Bug Fixes:
- Display an error message when running
code-push debug android
while multiple devices are active. - Make the confirmation prompt more severe on
app rm
anddeployment rm
commands, to further prevent accidental deletion. - Improve the robustness of the
release-react
command on Android when parsing gradle files. - Check that the app and deployment exist before building releases, as opposed to after.
v1.12.6-beta
Bug Fixes
- Fix an issue where users would see a 500 or 502 error message when attempting to make a release when their session was expired
v1.12.5-beta
New Features (CLI)
This release adds a --noDuplicateReleaseError
flag that causes the CLI to generate a warning instead of an error when the user attempts to publish an update that is identical to the latest release. This is useful for continuous integration scenarios where it is expected that small modifications may trigger releases where no production code has changed.
New Features (Management SDK)
Improved error handling in the management SDK, including error codes that identify different categories of errors.
Bug Fixes
- Fix an issue where in some cases, access keys were not validated when logging in
- Fix an issue where in some cases, error messages were not displayed when access keys were invalid
- Remove 'authentication failed' error message when attempting to logout after a previous failure
- Add a descriptive error message when there is a network failure preventing connection to the CodePush server, and prevent a null de-referencing error when this happens
v1.12.3-beta
New Features
This release adds a new gradle file parameter (--gradleFile
or -g
) to the release-react
command. It allows Android users to specify a custom path to the build.gradle
file that the command reads to infer the targetBinaryVersion
of the release. Huge thanks to @mtunique for adding this feature!
Bug Fixes
App versions are no longer implicitly converted to numbers. For example, 8.10
will no longer be incorrectly parsed as 8.1
.
v1.12.1-beta
This release simply improves the performance of the app ls
command for users with a large number of apps registered with the CodePush service.
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
v1.11.0-beta
This release introduces support for connecting to the CodePush server via a proxy, and includes a few improvements to the release-*
commands. It is available now on NPM and can be installed by running npm i -g code-push-cli@latest
.
New Features
-
Proxied connections The
code-push login
command will now check for the presence of a system-wide proxy, and use it to connect to the CodePush server. If you don't want the CLI to use this behavior, you can specify the--noProxy
parameter to connect directly to CodePush. Additionally, if you'd like to use a proxy connection to CodePush, which isn't configured system-wide, you can specify the--proxy
parameter.# Ignore any system proxy settings code-push login --noProxy # Specify an explicit proxy server code-push login --proxy https://foo.bar:4563
-
PhoneGap support The
release-cordova
command now supports automatically preparing/building your app if you have the PhoneGap CLI installed as opposed to requiring Cordova.
Bug Fixes
- The
release-react
command now correctly generates your JS bundle file on machines with case-sensitive file systems (e.g. Linux).
v1.10.0-beta
New Features
-
You can now release updates to your React Native apps on Windows 10 devices In order to align with the new Windows support for React Native, the
release-react
command now supports specifyingwindows
as the platform, which will generate the appropriate app update, infer your app's version and release it to CodePush! We look forward to working with the community as the support for Windows continues to evolve. View the CLI docs for more details.$ code-push release-react MyApp windows
-
The
release-cordova
command now includes an additional flag called--build
(or-b
), which specifies that you want to run acordova build
instead of simplycordova prepare
when generating your app update. This can be helpful if your app relies on before or after Cordova build hooks. View the CLI docs for more details.# Release an update to CodePush that will # ensure your Cordova build hooks are executed $ code-push release-cordova MyApp ios -b