Releases: microsoft/code-push
v2.0.2-beta
This is a small incremental release with small new feature and doc updates.
New Features:
- Add ability to use plain integer number for app version #377
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 addcommand 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-cordovacommand is executed with the newisReleaseBuildTypeflag alongside thebuildflag, 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-pushpromote command will now accept a--label/-lparameter 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/-oparameter to therelease-reactcommand 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-reactcommand. 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 androidwhile multiple devices are active. - Make the confirmation prompt more severe on
app rmanddeployment rmcommands, to further prevent accidental deletion. - Improve the robustness of the
release-reactcommand 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
debugcommand 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 addcommand now supports an additional--ttlparameter, 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 patchcommand 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 lscommand, which allows you to view all of the current login sessions associated with your account. Additionally, the newsession rmcommand allows you to revoke a login session that you don't want to be usable anymore. This functionality was previously available via theaccess-key lsandaccess-key rmcommands, 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-reactcommand will now automatically infer the target binary version of a CodePush release when yourbuild.gradlefile is referencing itsversionNamevia a property in yourgrade.propertiesfile.Example build.gradle file:
android { defaultConfig { versionName VERSION_NAME } }Corresponding gradle.properties file:
VERSION_NAME=1.2.3
New Features (iOS)
-
The
release-reactcommand supports two new parameters to allow customizing whichInfo.plistfile is used to infer the target binary version of a CodePush release:--plistFileand--plistFilePrefix. We hope these allow more apps to release updates without needing to explicitly specify the--targetBinaryVersionparameter.# 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 logincommand 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--noProxyparameter 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--proxyparameter.# 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-cordovacommand now supports automatically preparing/building your app if you have the PhoneGap CLI installed as opposed to requiring Cordova.
Bug Fixes
- The
release-reactcommand now correctly generates your JS bundle file on machines with case-sensitive file systems (e.g. Linux).