Skip to content

Releases: cloudfoundry/cli

v6.22.2

27 Oct 02:22
Compare
Choose a tag to compare

Installers

Binaries

Change Log

CF Trace file permissions

When CF_TRACE or cf config --trace are configured to save to a file, the file is now created to be only readable/writable by the file's owner.

Fixed regressions

  • help lost its entry for CF_DIAL_TIMEOUT in cf CLI 6.22.x. (#855)
  • update-buildpack was not parsing the value passed in to its -p option correctly in cf CLI 6.22.x. (#983)
  • push panicked rather than giving a useful error message when specifying an empty env var in the app manifest. (#958)

Updated commands

  • restart now has a better command description, clarifying all app instances being stopped first, causing downtime. (#959)
  • restage now has a better command description, explaining what a restage entails. (#959)
  • logs and push now use reconnection logic from the noaa library when the connection to the stream is dropped. (#966)
  • logs and push now use the doppler logging endpoint published by the CC API (/v2/info), as opposed to extracting it from the recently deprecated logging endpoint entry.
  • bind-route-service and unbind-route-service now have a better description for the --path option.

v6.22.1

24 Sep 02:39
Compare
Choose a tag to compare

Installers

Binaries

Change Log

Mac OS Sierra

The cf CLI is now built with Golang 1.7.1, adding support for Mac OS Sierra as well as showing a reduction in filesize of binaries and installers for all platforms.

Fixed regressions

  • install-plugin's -f option was not accepted as a stand-alone option in cf CLI 6.22.0. (#964)
  • bind-route-service's deprecated -f option was not accepted in cf CLI 6.22.0.

v6.22.0

23 Sep 06:42
Compare
Choose a tag to compare

Installers

Binaries

Change Log

Improved help pages

The cf help page now lists commands in columns and no longer lists commands that app developers rarely use, or cannot use (such as admin-only commands). This reduces the length of the output greatly, making it easier to discover commands.
The help page listing all commands and their descriptions is now available under cf help -a.
Also, the individual help pages for most commands have an added SEE ALSO section listing commands you would likely use together with the current command, or even consider instead.

Windows installation without administrator permissions

The Windows installer will now ask you whether you want to install the cf CLI for all users or only the current user. The latter does not require administrator permissions, so should make the installation process easier on restricted systems. (#935)
Note that to install the cf CLI for all users, the installer needs to be run as administrator (e.g. right-click on it and select "Run as administrator"), or else this option is disabled.

Updated translations

IBM has contributed updated translations of CLI messages again.
As the update came in mid-release and a number of message strings changed since, you may find some untranslated messages (in particular in the help pages). (#940)

Bumped loggregator library

The bundled loggregator library (used to retrieve log files) was updated to the latest version, incorporating support for HTTP proxies with basic authentication. (#949)

Built with Golang 1.7.1

The cf CLI is now built with Golang 1.7.1, showing a reduction in filesize of binaries and installers.

Fixed regressions

  • A bug fix to the push command caused the uploaded archive with application files to no longer be compressed. This is now fixed. (#898)
  • A change in DNS resolution in Golang 1.5 caused resolution of domains to fail on Linux when the primary DNS server responded that the domain was not registered, instead of querying the next DNS server. There was a work-around that stopped working in CF CLI v6.17.1 when we started to statically link the Linux binaries. This issue is now fixed due to improvements in Golang 1.7.1. (#763)

Updated commands

  • plugins now lists the plugins in stable order. (#923)
  • help now lists the plugin commands in stable order.
  • push now displays a better error message when omitting both application name and manifest filepath. (#920)
  • start no longer waits and polls for started application instances if the application has 0 instances. (#917)
  • Application startup and staging related environment variables CF_STARTUP_TIMEOUT and CF_STAGING_TIMEOUT are now described in the relevant commands' help pages (push, start, restart, restage, copy-source) instead of the main help page.
  • Standard error output from plugin commands is now propagated to the terminal. (#928)
  • The scope of keys in JSON output in CF trace that is redacted to present sensitive information to be logged is widened to cover any key that includes "password" and "token" (regardless of case). (#926)

v6.21.1

11 Aug 01:01
Compare
Choose a tag to compare

Installers

Binaries

Change Log

Digitally Signed Windows binaries

The 64 bit and 32 bit Windows binaries are now digitally signed with a Cloud Foundry Foundation certificate, hopefully reducing the chance of anti-virus software incorrectly flagging them as infected. (#913)

Configurable Dial Timeout

The cf CLI has a 5 second timeout to resolve the API endpoint domain and establish a connection to it. Users reported this was insufficient in e.g. environments with multiple DNS services and a fail-over time of 5 seconds or more. This timeout is now configurable by setting environment variable CF_DIAL_TIMEOUT. (#763, #802, #855, #897)

Fixed Regressions

  • A fix in 6.21.0 to restore unreadable text on light backgrounds on Linux terminals caused messages displayed by logs to not appear on Windows. logs now displays these messages without ansi coloring to ensure they're visible on all platforms and backgrounds. (#908)
  • curl now displays an actionable message when running it when no API endpoint has been set. (#896)

Updated Commands

  • create-buildpack and update-buildpack no longer return an error when specifying a local buildpack path. (#565)
  • create-buildpack now does a file check first before sending a request to the Cloud Controller to create the buildpack. (#899)
  • files now displays a better message when inspecting an empty file. (#869)

v6.21.0

27 Jul 17:25
Compare
Choose a tag to compare

Installers

Binaries

Change Log

App Manifest Support for Routes with Paths, TCP Routes

The app manifest now supports a new, more concise way to express routes. It allows mixing HTTP routes with hosts and paths, as well as TCP routes, and prepares for future route specific configurations such as mapping to app ports.
Example:

---
applications:
- name: myapp
  routes:
  - route: example.com
  - route: www.example.com/foo
  - route: tcp-example.com:1234

The app manifests that cf create-app-manifest generates use the new format, but cf push will remain accepting app manifests using the format as well.
For details refer to the documentation, which should be updated in a day or so.

Updated translations

IBM has contributed updated translations of CLI messages again.

Fixed Regressions

  • Stack "Unknown"
    cf push and cf app were displaying Unknown for the stack name. (#799)
  • Unreadable text when using light background terminal
    When introducing a color library to support ansi coloring on Windows in cf CLI 6.17.1, one color was wrongly mapped causing headers in help and other commands to be unreadable when using light background terminals. This color has been restored. (#873)
  • Closing connections
    New connections were created for each API call that were not closed properly, which could lead to a "too many open files" socket error. (#878)

Updated Commands

  • api now no longer falls back to insecure http when a URL without a URL scheme is specified and the API endpoint is not accessible on port 443.

v6.20.0

30 Jun 00:25
Compare
Choose a tag to compare

Installers

Binaries

Change Log

Route Services and Routes with Paths

Route services can now be bound to routes with paths.

Binding Security Groups to All Spaces of an Org

Security groups can now be bound to all spaces of an org in one command call.

Fixed Regressions

  • Plug-in failures
    Some plug-ins failed since cf CLI 6.17.0 due to an unintended change to the response of the CliCommandWithoutTerminalOutput function (#866)
  • .* in .cfignore
    While cf CLI 6.13.0 correctly interprets pattern .* in .cfignore to mean ignore all files starting with a period, cf CLI 6.14.0 and greater ignores all files and fails to push the app (#870)
  • cf copy-source with non-existing target app produces confusing error message
    While cf CLI 6.17.1 correctly fails with a message that the target app could not be found, cf CLI 6.18.1 fails saying the target space could not be found. This is addressed, and the command's help has been improved to clarify that the target app has to exist. (#849)
  • Negative WaitGroup Counter Panic
    The cf CLI could panic when pushing an app when the noaa library the CLI uses to retrieve logs does a retry. (#850)

Updated Commands

  • bind-route-service and unbind-route-service now accept a route path
  • bind-security-group now allows the space name to be omitted, binding the security group to all spaces of the org

v6.19.0

09 Jun 00:33
Compare
Choose a tag to compare

Installers

Binaries

Change Log

Space Quota for Reserved Route Ports

Space quota related commands have been enhanced to enable setting, updating or retrieving the limit on the total number of reserved ports that can be used to create routes within a space. This can be used to distribute a limited number of available ports over multiple spaces for use in TCP routes.
This feature requires the target CF release to be v236 (CC API v2.55.0) or higher.

Display Suggestions

When you mistype a command, e.g. cf craete-service, the cf CLI will try to display a suggestion of the command you may have meant.

Safe hostnames

Routes created with random hostnames could lead to embarrassing situations as words were picked from a bundled dictionary. The dictionary has been filtered, removing profanity, swear words and other questionable words.

App Start Hang

Fixed an issue where the cf CLI could hang while attempting to start an app due to an issue in the loggregator_consumer and noaa libraries.

Fixed Regressions

  • Linux 64 bit release
    Some users reported panics with the Linux 64 bit binaries since cf CLI 6.18.0. We fixed a build issue that resolves these issues. (#848, #843)
  • cf org, cf space
    A regression in cf CLI 6.18.0 caused most values for the fields displayed by cf org and cf space to not appear.
  • cf disable-service-access
    A change in cf CLI 6.18.1 to improve this command's performance caused a regression.

Updated Commands

  • create-space-quota, update-space-quota, space-quotas, space-quota, space and org now take an argument to set/update the reserved route port quota, or display it.
  • set-env now displays the app name in the restage tip (#832)
  • push no longer interweaves output when pushing multiple apps while the doppler endpoint is not accessible.
  • push no longer fails due to a rare race condition while tailing logs when starting an app (#850)

v6.18.1

24 May 21:10
Compare
Choose a tag to compare

Installers

Binaries

Change Log

Updated Translations

IBM contributed updated translations for all supported locales.

Windows 64 bit Installer

The Windows 64 bit installer now defaults to "C:\Program Files\Cloud Foundry", instead of "C:\Program Files (x86)\Cloud Foundry" where 32 bit applications belong.

Updated Commands

  • orgs now lists organizations in alphabetical order
  • login now lists organizations and spaces in alphabetical order
  • spaces now lists organizations in alphabetical order
  • bind-route-service no longer prompts for confirmation ('-f' option is still accepted but removed from help text)
  • enable-service-access and disable-service-access now perform faster (#819)
  • service now displays apps that are bound to the service
  • install-plugin now displays the plugin binary name correctly
  • marketplace now displays its option correctly in usage help text
  • events now displays the 'actor' if the 'actor_name' field is not available
  • quotas now displays 'unlimited' instead of '-1' for routes

Updated Plugins:

v6.18.0

10 May 22:56
Compare
Choose a tag to compare

Installers

Binaries

Change Log

Org Quota for Reserved Route Ports

Org quota related commands have been enhanced to allow CF admins to set, update and retrieve the limit on the total number of reserved ports that can be used to create routes within an organization. This can be used to distribute a limited number of available ports over multiple organizations for use in TCP routes.
This feature requires the target CF release to be v236 (CC API v2.55.0) or higher.

Color Output Enabled by Default on Windows

CLI output coloring on Windows, introduced in the previous release, is now enabled by default (it can be toggled with cf config --color true|false), and resolves a bug where ansi codes were displayed in cf help and trace output.

Updated Commands

  • create-quota, update-quota, quotas and quota now take an argument to set/update the reserved route port quota, or display it.
  • quotas, space-quotas now display shorter table headers in most locales to reduce the total width of the table.
  • delete-orphaned-routes now displays the port of TCP routes that are about to be deleted.

v6.17.1

03 May 16:33
Compare
Choose a tag to compare

Installers

Binaries

Change Log

HTTPS for CF-Community plugin repo

The "CF-Community" plugin repo that is registered with the CLI by default now uses HTTPS.
Unless your local ~/.cf/config.json is removed, the "CF-Community" repo's URL displayed in cf list-plugin-repos will continue to start with "http://", but actual calls to it will be made securely. To update the displayed URL, either delete ~/.cf/config.json and re-login, or update it manually (cf remove-plugin-repo CF-Community && cf add-plugin-repo CF-Community https://plugins.cloudfoundry.org).

Windows Installer

The 64 bit and 32 bit Windows installers are now digitally signed with a Cloud Foundry Foundation certificate, so no more warnings popping up that it is not trusted because it has no publisher.

Windows Coloring

The CLI can now display messages in colors on Windows, as it has on Linux and Mac OS. Use cf config --color true to enable it. Note that it has a side-effect of adding ansi codes in the trace log. That will be addressed in a next release.

Linux 64 bit Static Linking

The Linux 64 bit release is now statically linked (the 32 bit one was already), allowing it to run on alternative distributions such as Alpine.

NOAA client library

The CLI now uses the NOAA client library (https://github.com/cloudfoundry/noaa) instead of Loggregator Consumer (https://github.com/cloudfoundry/loggregator_consumer) to obtain application log messages and metrics. This should not affect CLI users other than that it fixes a regression in cf CLI 6.17.0 with pushing multiple applications defined in an app manifest.

Error Handling for CF_HOME

The CLI will no longer try to create a directory for its local config.json file if the path that environment variable CF_HOME points to does not exist; instead it will return a meaningful error message.