Assets 2

Package Manager Installation

Installers

Binaries

Change Log

Fix for cf push bug when providing a -s stack flag.

Fixes a bug whereby when you attempted to cf push by passing in the -b buildpacks and -s stacks flags, the CLI ignored the -s flag.

Now pushing with multiple buildpacks and providing an explicit -s flag (cf push app -b ruby_buildpack -b go_buildpack -s cflinuxfs3) works as expected.

Note:

  • If you do not explicitly provide a stack, the CLI will continue to use the default system stack.

@tjvman tjvman released this Sep 11, 2018 · 30 commits to master since this release

Assets 2

Package Manager Installation

Known Issue: The GPG signing key we use for our Debian installers expired on 9/12/18. We are working on renewing the key and creating a new release. Please use one of the other installation media if you want to download v6.39.0.

Installers

Binaries

Change Log

Buildpacks association with Stacks

In order to help with the transition to cflinuxsf3 in April 2019, stack association with buildpack is introduced in this release.

  • Buildpacks can now have the same name, as long as they are associated with a unique stack. update-buildpack, rename-buildpack, and delete-buildpack now support a -s stack flag to disambiguate buildpacks with the same name epic
  • In order to update-buildpack, rename-buildpack, or delete-buildpack a buildpack with a duplicate name, you must disambiguate the buildpack by providing a stack association with the -s option
  • In order to update-buildpack, rename-buildpack, or delete-buildpack a buildpack that has a unique stack, you do not need provide a -s option
  • In order to update-buildpack, rename-buildpack, or delete-buildpack a buildpack that has no stack association, you do not need to provide a -s option
  • cf buildpacks table display is updated with a new stack field

Review this documentation for more information about this feature, including usage examples.

Refactored commands (rewrites)

In order to prepare for the buildpack - stack association feature, the CLI embarked on a rewrite (refactor) of a subset of buildpacks-related command. User-facing changes include promoting consistency, improving error messages, and enhancing the UX to provide additional information. See below for more information.

We also refactored the create-org command to prepare for work on fixing an existing issue with creating orgs whilst logged with client credentials.

Create Buildpack epic

  • in order to move toward establishing a more consistent CLI experience, create-buildpack now shows more verbose output:
    • user role is outputted when creating a buildpack
    • a upload progress bar is displayed in the output information
  • Fixes a bug whereby previously when you have manifest.yml in your path, that file is ignored when the directory is zipped up story
  • now when you attempt to create a buildpack and you provide a path to an empty directory, the CLI prevents you from creating the buildpack story
  • we no longer validate whether the buildpack zip file contains a bin/compile, which has been deprecated for some time. As a result, the CLI no longer modifies the contents of user provided zip files; previously we defined a buildpack as at the root of bin/compile story
  • the --enable is found to be unnecessary since creating a buildpack will enable the buildpack by default when you use the create-buildpack command story

Rename Buildpack epic

  • error message for when attempting to rename a non-existent buildpack updated

Update Buildpack epic

  • now when you attempt to update a buildpack and you provide a path to an empty directory, the CLI prevents you from creating the buildpack story
  • we no longer validate whether the buildpack zip file contains a bin/compile, which has been deprecated for some time. As a result, the CLI no longer modifies the contents of user provided zip files; previously we defined a buildpack at the root of bin/compile story

Create-org Refactor epic

  • correction to color text output as prescribed by our style guide

Support for Async Operations for Service Bindings epic

  • cf bind-service and cf unbind-service now supports asynchronous operations. The output of both commands have changed accordingly with additional information how to view operation status details.
  • cf service service-instance has been updated such that the service instance information section is separated from the bound apps information. status and message has been added added to the bound apps information.

cf auth supports the --origin option to log in to different identity providers epic

The cf auth command is updated to include an optional --origin flag, so that users can more seamlessly log in to different identity providers. If not provided, cf auth continues to default to the UAA internal data store. See the UAA api documentation for more information.

Service instance sharing is no longer experimental

In CLI release v6.35.0 we introduced service instance sharing, which enables you to share service instances between spaces in the same or in a different organization. The share service CLI commands are no longer experimental.

Enhancements

  • for users on cc api 3.27, cf start is enhanced to display the new cf app v3 output. For users on cc api 3.27 or lower, users will see the same v2 output. Note that if you use v3 commands to create and start your app, if you subsequently use cf stop and cf start, the routes property in cf app will not populate even though the route exists story
  • for users on cc api 3.27, cf restart is enhanced to display the new cf app v3 output. For users on cc api 3.27 or lower, users will see the same v2 output. story
  • for users on cc api 3.27, cf restage is enhanced to display the new cf app v3 output. For users on cc api 3.27 or lower, users will see the same v2 output. story
  • improved help text for -d domains for cf push to include examples of usage story
  • cf v3-scale displays additional app information story
  • if you've created an internal domain, and it is the first domain in cc, the CLI will now ignore the internal domain and instead choose the next non-internal domain when you push an app story

Bug Fixes

  • Fix for users on macOS attempting to brew install cf-cli the CF CLI using the unreleased master branch of Homebrew story
  • Fixes an issue whereby, due to a recent cc api change, when you execute cf push and watch the cf app command, the app display returned a 400 error story
  • Fixes a bug whereby if you logged in using client credentials, cf auth user pass --client credentials you were unable to create an org; now create-org will assign the role to the user id specified in your manifest story
  • fixes an issue introduced when we refactored cf start and as part of that work, we stopped blocking on the initial connection with the logging backend; now the CLI blocks until the NOAA connection is made, or the default dial timeout of five seconds is reached story

Plugins Updates

  • Updated CF Dev plugin #247
  • Updated Log Cache CLI plugin #248
  • Updated Blue Green plugin #248

Contributors: An Yu, Sebastian Vidrio, Anande Gaitonde, Thomas Viehman, Alex Zhao, Abby Chau, Spencer Hawley, Renee Chu, Nick Guerette, Ryan Tang, William Murphy

Special Guests: Buildpacks team (for help with the buildpack-stack association feature), SAPI London team (for pull requests and the async operation work), SAP and UAA Team (for help with the cf auth --origin work)

@abbyachau abbyachau released this Aug 8, 2018 · 162 commits to master since this release

Assets 2

Package Manager Installation

Installers

Binaries

Change Log

Changes to the cf app Display

In late June, we sent out a survey to ask the community their opinion on changing the cf app display. Buoyed by your feedback, we decided to move forward with changing the cf app display such that it is backed by the v3 app api endpoint. story

Users on CC API 3.27.0 or higher will see the new display; primary changes include:

  • app instance information is broken down by process type. See information about using procfiles and how to manage multi processes via a procfile
  • if you are using multiple buildpacks, the new cf app display will list all the buildpacks for your app

Notes:

  • users on CC API 3.27.0 or lower will continue to see the previous cf app display
  • the start command will only appear if the api provides it
  • details no longer appears in the app display table
  • if your app is in a crashed state, information for requested_state and instances no longer appear highlighted in red text
  • if you use the v3-set-droplet command and you do not immediately restage your app, the last_uploaded time will reflect the last time your app was restaged, not when you set the droplet
  • cf v3-app has been removed as a result of this work as it is now a redundant command
  • the new cf app summary at the end of the cf push output will also appear for users on cc api 3.27 or higher (note: commands (cf-start, cf-scale, cf-restart, cf-restage) where cf app appear will change in an upcoming release)
  • plugins will continue to see the previous (non-v3) app display regardless of API version.

Invocation Timeout Configuration

App devs on cc api 3.43.0 or higher can now use v3-set-health-check to set per invocation timeouts for http and port health checks for individual health checks. story. See documentation for more details.

Upgraded to Golang 1.10.3

This release bumps the CLI to use Golang 1.10.3. See the Golang release notes for more information.

Support for SOCKS5

  • Adds SOCKS5 support for cf v3-ssh (Note: SOCKS5 is not supported for the cf ssh command). See the Using the CF CLI with a Proxy Server documentation for more information. story

Multiple Buildpacks Support

Previously, pushing with multiple buildpacks, required you to use a combination of "v2" and "v3" commands. Now, if you are using CC API 3.25 or above, you can push with multiple buildpacks by either passing in multiple -b flags, or use the new buildpacks field in the manifest.

Note:

  • If you are using cc api 3.25, you will not see multiple buildpacks when you use the cf app command - upgrade to cc api 3.27 or higher to see multiple buildpacks displayed in the new app display
  • The buildpack field has been deprecated as a result of this work.
  • In some cases, buildpacks must be specified in a particular order, see the documentation below and this link for more information
  • buildpacks reflects the app buildpack, not the buildpack used if you have used the v3-set-droplet commands

See documentation for more information.

Enhancements

  • v3-ssh process type now defaults to web story
  • Support added for setting tags for user provided service instances story
  • Now a warning appears if you attempt to use deprecated properties and variable substitution story
  • Updated usage so now you can rename the cf binary use it with every command story
  • cf events now displays the Diego cell_id and instance guid in crash events story
  • Includes cf service service-instance table display improvements wherein the service instance information is now grouped separately from the binding information story
  • cf service service-instance table display information for user provided services changed: status has been added to the table story

New Translations

New translations are included in this release. Big thanks to IBM who contributed updated translations of CLI output and help text. 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). story

Bug Fixes

  • the CLI now properly handles escaped commas in the X-Cf-Warnings header

Deprecations

  • the buildpack field in the manifest has been deprecated in favour of buildpacks.

Plugin Updates

  • Updated CF Dev plugin #235
  • Updated copy env plugin #236
  • Updated Mysql Tools plugin #237
  • Updated report users plugin #238
  • Updated maven-push plugin #239
  • Updated drains plugin #241
  • Updated create service push plugin #244

Contributors: An Yu, Sebastian Vidrio, Anande Gaitonde, Thomas Viehman, Alex Zhao, Abby Chau, Spencer Hawley, Renee Chu, Nick Guerette

Special Guests: Dies Koper (for helping us test SOCK5 support), SAPI London team (for tags support for user provided services and help updating the cf service service-instance table), Dr. Max and the IBM team (for translation updates).

@tjvman tjvman released this May 29, 2018 · 384 commits to master since this release

Assets 2

Package Manager Installation

Installers

Binaries

Change Log

Variable Substitution

Variable substitution allow app developers to create app manifests with values shared across all applicable environments in combination with references to environment-specific differences defined in separate files. Using variable substitution also enables developers to store sensitive data in a separate file that the app manifest inherits, making the credentials easier to manage and keep secure.

See documentation for more information including usage.

Enhancements

  • The api/cloudcontroller/ccv2 package has been updated with more functions #1343
  • Now a warning appears if you are using a API version older than 2.69.0, which is no longer officially supported
  • Now the CLI reads the username and password from the environment variables #1358

Bug Fixes

  • Fixes bug whereby X-Cf-Warnings were not being unescaped when displayed to user #1361
  • When using CF_TRACE=1, passwords are now sanitized #1375 and tracker

Plugin Updates

Note: The minimum version of the CC API this CF CLI release is compatible with is CC API v2.69.0. See our minimum supported version policy for more information.

Release contributors: Dies Koper and Jay Badenhope (CF CLI PMs who helped research Variable Substitution), An Yu, Sebastian Vidrio, Anande Gaitonde, Thomas Viehman, Alex Zhao, Abby Chau

@XenoPhex XenoPhex released this May 17, 2018 · 529 commits to master since this release

Assets 2

Package Manager Installation

Installers

Binaries

Change Log

Downgraded to Golang. 1.9

Due to a regression with certs in Golang 1.10, we've decided to publish a new release and downgrade our Golang version to 1.9.

This release is a tag of v6.36.1 with Golang version 1.9. When the issues have been fix in Golang, we will upgrade to 1.10.x.

Other Fixes

Note: The minimum version of the CC API this CF CLI release is compatible with is CC API v2.69.0. See our minimum supported version policy for more information.

Release contributors: An Yu, Sebastian Vidrio, Anande Gaitonde, Thomas Viehman, Abby Chau

@XenoPhex XenoPhex released this Apr 5, 2018 · 529 commits to master since this release

Assets 2

Package Manager Installation

Installers

Binaries

Change Log

Bug Fix for bind-service

Fix for bind-service, whereby when a user attempts to bind a service to an app, an error message would be thrown stating --name requires a specific CF API version. This patch release fixes the issue. #1359

Clarified the error message when you try to push an app to a space that already has that app name and route in a different space.

Release contributors: An Yu, Sebastian Vidrio, Anande Gaitonde, Thomas Viehman, Abby Chau

@XenoPhex XenoPhex released this Apr 3, 2018 · 540 commits to master since this release

Assets 2

Package Manager Installation

Installers

Binaries

Change Log

Droplet Upload

Now you can push an app without staging it. The push command now has an optional --droplet flag that allows you to specify a path to a tgz file with a pre-staged app. This allows you to have more granular control over which droplet is being used. For example, you can put the exact version of the app from staging on production and get the results you expect.

Name Service Bindings

We've updated the bind-service command by adding an optional --binding-name flag that allows you to assign a name to that binding. This feature provides app developers control and context on the app-service binding when they may not have control over other related names, such as the app or service instance. Thanks to the CAPI team for providing this feature through PR #1309. We've also updated the service command so you can view binding names, if any, for a specific service.

Upgraded cf CLI to Golang 1.10.1

The cf CLI now uses Go version 1.10.1. We expect this update will resolve recent SSL issues.

Use DisableKeepAlives when closing Network connections

The cf CLI previously used just the Connection: close header when making certain API calls to the Cloud Controller and UAA. Now, DisableKeepAlives is set to true on the client side, to aid with closing connections with these requests. This should alleviate some networking issues with certain load balancers.

Bug Fixes

  • int64 support for cf/flags library, #1333
  • Debian package, #1336
  • Web action flag not working on CLI 0.6.5, #1337
  • When a cf push upload fails/Consul is down, a panic occurs, #1340 and #1351

Note: Colors in the terminal will auto-detect a TTY session - which is the default color if Color_Enabled is not set in the config or $CF_COLOR is empty.

Plugin Updates

  • Create Service Push v1.0.1 release, #214
  • Add Copy-Autoscaler 0.0.1, #216
  • Update CF Local to v0.19.0, #218
  • Update the Java plugin to version 2.0.0, #219

Release contributors: An Yu, Sebastian Vidrio, Anande Gaitonde, Thomas Viehman, Jay Badenhope, Abby Chau

@XenoPhex XenoPhex released this Mar 16, 2018 · 591 commits to master since this release

Assets 2

Package Manager Installation

Installers

Binaries

Change Log

Bug Fix

  • Providing a clearer services authorization warning message when a service has been disabled for the organization, fixing #1344

@n4wei n4wei released this Mar 14, 2018 · 593 commits to master since this release

Assets 2

Package Manager Installation

Installers

Binaries

Change Log

Fixed regressions

  • Corrected issue so service, services, and share-service commands no longer fail with a JSON unmarshal error for certain service broker configurations

Other fixes

  • Changed all warnings, including experimental warnings for v3 commands, so they now output to STDERR to make debugging easier

@n4wei n4wei released this Mar 9, 2018 · 599 commits to master since this release

Assets 2

Package Manager Installation

Installers

Binaries

Change Log

Dropping support for older Cloud Controller API versions

In order to focus our resources on the most valuable features and bug fixes, the CF CLI team periodically announces the end of support for older Cloud Controller (CC) API versions. The current CF CLI is backwards compatible to CF 251 / CC API Release 1.15 / APIs 2.69.0 and 3.4.0, from January 2017.

Service Instance Sharing

This cf CLI release includes two new commands, share-service and unshare-service, to enable you to share service instances between spaces in the same or different orgs. Additional details here. We welcome your feedback on the new implementation.

To help you track where a service instance is shared to or from, we refactored and updated the service command.

Service Account Authentication (Client Credentials)

It is now possible to authenticate with only a client ID and a secret using the auth command with a new --client-credentials flag. Before this release, users could only log in as a user (i.e. username & password with either default client id, or custom client id & secret). That meant "fake" users needed to be prepared for CI environments and scripts ("tiles" self-registration).

push Fixes and Enhancements

  • v2-push no longer accepted (previous release merged v2-push into push)
  • Makes explicit that the default route is defined as the route initially used to create the app, if no routes exists. Previously, when you push an existing app by providing a hostname, a second route would be created. Now given an app with a single route, if you attempt to provide a hostname on a subsequent push, the hostname will be ignored. #1321

Other Fixes and Enhancements

  • Fixed problem where wildcards weren't allowed in routes section of app manifest, deployment #399

Plugin Updates

Going forward, we ask that every plugin name matches its command name so it can be installed and uninstalled with the same name.

  • Updated Event Alerts Plugin to 0.0.1, #198, then removed that plugin, #211
  • Updated top Plugin to 0.9.3, #210
  • Updated service-use to 1.2.2 with matching command and plugin names #213

Built with Golang 1.10

Golang 1.10 was released last month. It addresses security vulnerabilities and other bugs.
See the Golang release summaries for details on the bug fixes.

Refactored commands

  • services to enable an upcoming feature
  • service (see above)
  • logout to enable clearing of client credentials for Service Account Authentication (see above); will now also show user name during logout for consistency with other commands

Release contributors: An Yu, Nick Wei, Sebastian Vidrio, Anande Gaitonde, Jay Badenhope, and special guest Kevin Middleton