github cloudfoundry/cli v6.33.0

latest releases: v8.7.10, v7.7.10, v8.7.9...
6 years ago

Package Manager Installation

Installers

Binaries

Change Log

Refactored push

This cf CLI release exposes a refactored version of the push command, which includes a number of improvements to performance and stability of the push process, and make it easier to maintain and enhance in the future.

The new implementation of the command is initially introduced alongside the "old" push command to give cf CLI users an opportunity to try it out and report back any issues: Although we believe v2-push to have feature-parity, our codebase had been lacking sufficient integration tests around this command to be sure nothing was missed.

We plan to replace "old" push with this implementation in a subsequent release soon.

Notes

  1. v2-push creates many fewer temporary files during the package creation and upload process. This reduced push time from 21 minutes to 4 minutes in one case
  2. v2-push initially compares the "current" state with the "desired" state and displays this in a diff-like format to give a quick understanding of the updates it is going to make.
  3. v2-push breaks up the API call to check the Cloud Controller cache for existing app files in batches to reduce the chance of timeouts. (#1123)
  4. The pattern format for the .cfignore exclusion file had not been well defined. To address this, v2-push uses an external library that is compatible with git's rules for .gitignore.
    (#1006)
  5. v2-push does not implement "promoted" (global) attributes and app manifest inheritance.
    When you push with an app manifest using these features, the "old" push implementation is invoked and a message will be displayed that explains it is doing so. Same for app manifest route declarations using any of "host", "hosts", "domain", "domains" or "no-hostname" attributes.
  6. v2-push does not accept conflicting flag combinations such as cf v2-push myapp --no-route --random-route.

We welcome your feedback on the new implementation.

V3 app commands

This cf CLI release exposes app related features offered by the CC V3 APIs that were marked GA on 4 Aug 2017. This release adds:

  • v3-ssh
  • v3-push now supports the --no-start flag to suppress staging and starting of the app
  • -p flag to v3-create-package to specify a path to an app directory or zip file
  • .cfignore support to v3-push and v3-create-package
  • an experimental warning to all "v3" commands at the start of execution (it was displayed for only a few of them)

SOCKS5 proxy support

The cf CLI now uses your SOCKS5 proxy when specified in the https_proxy environment variable.
In fact, this works since cf CLI release 6.31.0, as it relies on support added in Golang 1.9. (#1047)

$ https_proxy=socks5://localhost:1080 cf login

Documentation added here.

Note that it does not work for the ssh and logs commands for now as they use TCP connection APIs that do not read this environment variable.

Built with Golang 1.9.2

Golang 1.9.1 and 1.9.2 were released last month. They address security vulnerabilities and other bugs.
See the Golang release summaries for details on the bug fixes.

Refactored commands

We are in the process of creating a more consistent user experience; our goal is to standardize UI output.
For example, warnings and errors will consistently be outputted to stderr instead of stdout and English table and key-value headers displayed in lowercase.
As we iterate through the list of commands, we are also focusing on improving performance and stability.
Please review your scripts if they depend on the output of these commands.

List of improved commands in this release:

  • bind-service (was mistakenly listed in previous release's notes)
  • service

Plugin development

Windows plugin binaries can be signed with the author's digital certificate to assure recipients that they do indeed come from you.

Although an optional step, unsigned binaries can often not be used in locked-down machines common in organizations with stricter security policies. Signing the binary allows system admins to whitelist the plugin by signature or publisher.

Documentation has been improved on how to about signing your plugin binary. See here.

Updated commands

  • create-user now returns a friendlier error message when run with insufficient permissions. (#1238)
  • delete-user now no longer includes a confusing suggestion to use cf curl to delete a user that has multiple UAA origins. (#1097)
  • set-org-role, set-space-role, unset-org-role and unset-space-role now fail with an error when the specified user has multiple UAA origins and the set_roles_by_username resp. unset_roles_by_username feature flags are disabled (same message as for delete-user above)
  • push has removed some questionable words from the dictionaries it uses to generate random HTTP routes (#1261)

Don't miss a new cli release

NewReleases is sending notifications on new releases.