Releases: cloudfoundry/cli
v6.22.2
Installers
- Debian 32 bit
- Debian 64 bit
- Redhat 32 bit
- Redhat 64 bit
- Mac OS X 64 bit
- Windows 32 bit
- Windows 64 bit
Binaries
- Linux 32 bit binary
- Linux 64 bit binary
- Mac OS X 64 bit binary
- Windows 32 bit binary
- Windows 64 bit binary
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
andpush
now use reconnection logic from the noaa library when the connection to the stream is dropped. (#966)logs
andpush
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
andunbind-route-service
now have a better description for the--path
option.
v6.22.1
Installers
- Debian 32 bit
- Debian 64 bit
- Redhat 32 bit
- Redhat 64 bit
- Mac OS X 64 bit
- Windows 32 bit
- Windows 64 bit
Binaries
- Linux 32 bit binary
- Linux 64 bit binary
- Mac OS X 64 bit binary
- Windows 32 bit binary
- Windows 64 bit binary
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
Installers
- Debian 32 bit
- Debian 64 bit
- Redhat 32 bit
- Redhat 64 bit
- Mac OS X 64 bit
- Windows 32 bit
- Windows 64 bit
Binaries
- Linux 32 bit binary
- Linux 64 bit binary
- Mac OS X 64 bit binary
- Windows 32 bit binary
- Windows 64 bit binary
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
andCF_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
Installers
- Debian 32 bit
- Debian 64 bit
- Redhat 32 bit
- Redhat 64 bit
- Mac OS X 64 bit
- Windows 32 bit
- Windows 64 bit
Binaries
- Linux 32 bit binary
- Linux 64 bit binary
- Mac OS X 64 bit binary
- Windows 32 bit binary
- Windows 64 bit binary
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
andupdate-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
Installers
- Debian 32 bit
- Debian 64 bit
- Redhat 32 bit
- Redhat 64 bit
- Mac OS X 64 bit
- Windows 32 bit
- Windows 64 bit
Binaries
- Linux 32 bit binary
- Linux 64 bit binary
- Mac OS X 64 bit binary
- Windows 32 bit binary
- Windows 64 bit binary
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
andcf app
were displayingUnknown
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 inhelp
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 insecurehttp
when a URL without a URL scheme is specified and the API endpoint is not accessible on port 443.
v6.20.0
Installers
- Debian 32 bit
- Debian 64 bit
- Redhat 32 bit
- Redhat 64 bit
- Mac OS X 64 bit
- Windows 32 bit
- Windows 64 bit
Binaries
- Linux 32 bit binary
- Linux 64 bit binary
- Mac OS X 64 bit binary
- Windows 32 bit binary
- Windows 64 bit binary
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
andunbind-route-service
now accept a route pathbind-security-group
now allows the space name to be omitted, binding the security group to all spaces of the org
v6.19.0
Installers
- Debian 32 bit
- Debian 64 bit
- Redhat 32 bit
- Redhat 64 bit
- Mac OS X 64 bit
- Windows 32 bit
- Windows 64 bit
Binaries
- Linux 32 bit binary
- Linux 64 bit binary
- Mac OS X 64 bit binary
- Windows 32 bit binary
- Windows 64 bit binary
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 bycf org
andcf 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
andorg
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
Installers
- Debian 32 bit
- Debian 64 bit
- Redhat 32 bit
- Redhat 64 bit
- Mac OS X 64 bit
- Windows 32 bit
- Windows 64 bit
Binaries
- Linux 32 bit binary
- Linux 64 bit binary
- Mac OS X 64 bit binary
- Windows 32 bit binary
- Windows 64 bit binary
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 orderlogin
now lists organizations and spaces in alphabetical orderspaces
now lists organizations in alphabetical orderbind-route-service
no longer prompts for confirmation ('-f' option is still accepted but removed from help text)enable-service-access
anddisable-service-access
now perform faster (#819)service
now displays apps that are bound to the serviceinstall-plugin
now displays the plugin binary name correctlymarketplace
now displays its option correctly in usage help textevents
now displays the 'actor' if the 'actor_name' field is not availablequotas
now displays 'unlimited' instead of '-1' for routes
Updated Plugins:
- Scaleover v1.0.4: https://github.com/krujos/scaleover-plugin
- Firehose Plugin v0.9.0: https://github.com/cloudfoundry/firehose-plugin
v6.18.0
Installers
- Debian 32 bit
- Debian 64 bit
- Redhat 32 bit
- Redhat 64 bit
- Mac OS X 64 bit
- Windows 32 bit
- Windows 64 bit
Binaries
- Linux 32 bit binary
- Linux 64 bit binary
- Mac OS X 64 bit binary
- Windows 32 bit binary
- Windows 64 bit binary
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
andquota
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
Installers
- Debian 32 bit
- Debian 64 bit
- Redhat 32 bit
- Redhat 64 bit
- Mac OS X 64 bit
- Windows 32 bit
- Windows 64 bit
Binaries
- Linux 32 bit binary
- Linux 64 bit binary
- Mac OS X 64 bit binary
- Windows 32 bit binary
- Windows 64 bit binary
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.