github cloudfoundry/cli v6.34.0

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

Package Manager Installation

Installers

Binaries

Change Log

New push implementation

In this cf CLI release, the v2-push that was exposed in cf CLI 6.33.0 has become the default push. It addresses a number of issues, adds improvements to performance and stability of the push process, and deprecates some app manifest features. This release will make push easier to maintain and enhance in the future.

push Fixes and Enhancements

  • 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.
  • push now allows environment variables with ${...} in them in a manifest file. (#682)
  • push now preserves relative symlinks in app files. This makes it easier to work with Node.js apps using npm link, but note that it now errors when it detects a symlink pointing outside the app folder (e.g. a node_modules folder containing external symlinks). (#903)
  • push has a clarified error message when the route is not in the same space as the app. (#977)
  • The pattern format for the .cfignore exclusion file had not been well defined. To address this, push uses an external library that is compatible with git's rules for .gitignore. Folders containing only a .gitignore file are now included. (#993)
  • 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. (#1006)
  • 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)
  • push resolves an issue when no value is specified for services in the app manifest. (#1142)
  • push resolves issues with platform-specific case sensitivity and locking of file and directory names by processing app bits in memory instead of writing them to disk. (#1147 and #1223)
  • push no longer adds new routes when updating an app and using --random-route. (#1177)
  • push resolves an issue with the generated random hostname for an app pushed with a non-ASCII app name. (#1214)
  • push has a new, smaller dictionary to generate random HTTP routes in order to avoid the use of questionable words. (Also resolves #1283)

Deprecations

  • App manifest deprecations getting a grace period:
    • For at least the next six months, when you use these features, the "old" push implementation is invoked and a deprecation message will be displayed. In this case, the fixes and enhancements of the "new" push (listed above) will not be invoked.
    • See blog post regarding app manifest changes on https://www.cloudfoundry.org/blog/coming-changes-app-manifest-simplification/ for more details. Please review your app manifests to see if they use the deprecated features.
    • push no longer supports app manifest route declarations using any of host, hosts, domain, domains or no-hostname attributes. You can use route attributes instead.
  • App manifest deprecations effective immediately (no grace period):
    • push no longer processes ${random-word} in the app manifest. We recently discovered this undocumented feature. If the intent was to create a random hostname, you can use random-route: true in the app manifest.
  • Other deprecations:
    • push does not accept conflicting flag combinations such as cf v2-push myapp --no-route --random-route.

Updated commands

  • install-plugin now displays a warning on its help page about plugins from untrusted authors.
  • install-plugin now displays the correct version of an existing plugin when installing a different version. (#946 (comment))

Don't miss a new cli release

NewReleases is sending notifications on new releases.