From e3b74673cb678a67eb66780664e4ba670e4b6a16 Mon Sep 17 00:00:00 2001 From: anita-flegg Date: Fri, 12 Jun 2026 12:22:06 -0700 Subject: [PATCH] Update cf CLI v8 docs for v8.12.0-v8.18.3 releases [ai-assisted] - v8.html.md.erb: remove stale Go version note and old CAPI/cf-deployment version prereqs; update release link to the releases page; add command differences for all v8.x releases up to v8.18.3 (cf auth token auth, cf app ready indicator, cf bind-service --strategy, cf buildpacks/ create-buildpack/update-buildpack/delete-buildpack --lifecycle, cf cleanup-outdated-service-bindings, cf map-route --destination-port, cf push scaling-during-deployment behaviour, cf service/services/ unbind-service multiple-binding support, cf service-key --json, cf stacks state column, cf update-stack new command) - getting-started.html.md.erb: replace deprecated cflinuxfs3 stack with cflinuxfs4 in cf push example output; add token-based cf auth section documenting --client-credentials and token auth (v8.12.0) Co-authored-by: Cursor --- getting-started.html.md.erb | 16 +++- v8.html.md.erb | 148 +++++++++++++++++++++++++++--------- 2 files changed, 125 insertions(+), 39 deletions(-) diff --git a/getting-started.html.md.erb b/getting-started.html.md.erb index dc32c66..091bcb8 100644 --- a/getting-started.html.md.erb +++ b/getting-started.html.md.erb @@ -90,6 +90,20 @@ To write a script to log in: For more information about the `cf auth` command, use `cf auth --help`. + Alternatively, you can authenticate using a client ID and client secret: + + ``` + cf auth CLIENT-ID CLIENT-SECRET --client-credentials + ``` + + Where: + + + You can also authenticate by passing a user token or client token directly. For more information, use `cf auth --help`. + 1. Target your org or space by running: ``` @@ -189,7 +203,7 @@ name: awesome-app requested state: started routes: awesome-app.example.com last uploaded: Wed 17 Jul 22:57:04 UTC 2024 -stack: cflinuxfs3 +stack: cflinuxfs4 buildpacks: name version detect output buildpack name ruby_buildpack 1.8.58 ruby ruby diff --git a/v8.html.md.erb b/v8.html.md.erb index 3c373a6..f6713bc 100644 --- a/v8.html.md.erb +++ b/v8.html.md.erb @@ -4,7 +4,7 @@ owner: CLI --- You can use Cloud Foundry Command Line Interface (cf CLI) v8 to interact with Cloud Foundry API (CAPI) V3. This topic describes the major changes between cf CLI v7 -and cf CLI v8. +and cf CLI v8, and subsequent improvements added through later v8 releases. The cf CLI development team aims to provide: @@ -16,7 +16,7 @@ To understand the differences between specific commands, see [Command difference For more information about CAPI V3, see the [CAPI V3 documentation](https://v3-apidocs.cloudfoundry.org/index.html#introduction). -For more information about cf CLI v8, see [v8.0.0](https://github.com/cloudfoundry/cli/releases/tag/v8.0.0) in GitHub. +For the full list of cf CLI v8 releases, see [Releases](https://github.com/cloudfoundry/cli/releases) in the Cloud Foundry CLI repository on GitHub. ## New workflows supported by cf CLI v8 @@ -27,19 +27,12 @@ Some key new features available through the cf CLI v8 are: ## Install cf CLI v8 -To install cf CLI v8, see the [README](https://github.com/cloudfoundry/cli#downloads) in the Cloud Foundry CLI repository on GitHub. -It includes instructions for downloading the latest CAPI release candidate, which is what the cf CLI v8 beta is tested against. - -In cf CLI v8, Golang has been updated from v1.13 to v1.16. -When targeting a foundation that does not have a SAN, you might encounter errors because the common name field is deprecated in Golang v1.15 and later. -For more information, see [X.509 CommonName deprecation](https://golang.org/doc/go1.15#commonname) in the Golang v1.15 release notes. +To install cf CLI v8, see [Installing the cf CLI](install-go-cli.html). ### Prerequisites The cf CLI v8 requires [cf-deployment](https://github.com/cloudfoundry/cf-deployment) v16.11.0 or later. -This version of cf-deployment contains CAPI release v1.109.0, which provides the CAPI V3 API v3.99.0. - For more information, see the cf CLI [Versioning and Support Policy](https://github.com/cloudfoundry/cli/wiki/Versioning-and-Support-Policy) on GitHub. ## Command differences @@ -69,7 +62,7 @@ Some of these changes are: ### Table of differences -The following table summarizes how commands differ between cf CLI v7 and cf CLI v8. +The following table summarizes how commands differ between cf CLI v7 and cf CLI v8, including improvements added in later v8 releases. @@ -78,11 +71,37 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI + + + + + + + + + + + + @@ -95,6 +114,38 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI + + + + + + + + + + + + + + + + - + - + - + @@ -143,6 +194,7 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI @@ -155,18 +207,10 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI - + - - - - @@ -188,16 +232,6 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI - - - - @@ -217,6 +252,7 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI @@ -226,6 +262,15 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI + + + + + @@ -234,6 +279,7 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI @@ -246,12 +292,38 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI + + + + + + + + + + + +
Changes
cf auth +
    +
  • [Update] (v8.12.0): Now supports token-based authentication in addition to username/password. Use --client-credentials with a client ID and secret, or pass a user or client token directly.
  • +
+
cf app +
    +
  • [New]: Added per-route options to output.
  • +
  • [Update] (v8.16.0): Each process instance now shows a ready indicator.
  • +
+
cf apps +
    +
  • [New]: Added per-route options to output.
  • +
+
cf bind-service
  • [Added flag]: Use --wait to wait for the bind operation to complete.
  • +
  • [Added flag] (v8.18.0): Use --strategy to specify the binding strategy.
cf buildpacks +
    +
  • [Added flag] (v8.14.0): Use --lifecycle to filter buildpacks by lifecycle type (for example, buildpack or cnb).
  • +
+
cf cleanup-outdated-service-bindings +
    +
  • [New command] (v8.18.0): Removes service bindings that no longer have a corresponding service instance. Useful for cleaning up orphaned bindings after service instances are deleted out of band.
  • +
+
cf create-buildpack +
    +
  • [Added flag] (v8.14.0): Use --lifecycle to specify the lifecycle type for the buildpack (for example, buildpack or cnb).
  • +
+
cf create-route +
    +
  • [Added flag]: Use --option to specify per-route options in key-value format, e.g. option_name=option_value.
  • +
+
cf create-service @@ -113,27 +164,27 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI
cf delete-servicecf delete-buildpack
    -
  • [Added flag]: Use --wait to wait for the delete operation to complete.
  • +
  • [Added flag] (v8.14.0): Use --lifecycle to specify the lifecycle type when deleting a buildpack (for example, buildpack or cnb).
cf delete-service-keycf delete-service
    -
  • [Update]: Delete operation is async by default.
  • [Added flag]: Use --wait to wait for the delete operation to complete.
cf create-routecf delete-service-key
    -
  • [Added flag]: Use --option to specify per-route options in key-value format, e.g. option_name=option_value.
  • +
  • [Update]: Delete operation is async by default.
  • +
  • [Added flag]: Use --wait to wait for the delete operation to complete.
cf appscf push (with --strategy)
    -
  • [New]: Added per-route options to output.
  • -
-
cf app -
    -
  • [New]: Added per-route options to output.
  • +
  • [Update] (v8.16.0): When using a rolling or canary deployment strategy, scaling flags (-i, -m, -k) now apply only to new instances being created by the deployment. Running instances are not restarted before the deployment begins. For more information, see Scaling with Deployments.
cf update-route -
    -
  • [New]: New command for managing route-specific options.
  • -
  • [New flag]: Use --option to specify per-route options in key-value format, e.g. option_name=option_value.
  • -
  • [New flag]: Use --remove-option to specify a per-route option to delete, e.g. option_name.
  • -
-
cf service @@ -208,6 +242,7 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI
  • [Update]: The service broker field is renamed to broker.
  • [Update]: The dashboard field is renamed to dashboard url.
  • [Update]: Minor changes to the ordering and wording of each block of information.
  • +
  • [Update] (v8.18.0): Enhanced to display information about multiple service bindings when an app has more than one binding to the same service instance.
  • cf stacks +
      +
    • [Update] (v8.18.0): Output now includes a state column showing the lifecycle state of each stack (ACTIVE, DEPRECATED, RESTRICTED, or DISABLED).
    • [Added flag]: Use --wait to wait for the unbind operation to complete.
    • +
    • [Update] (v8.18.0): Can now handle apps with multiple bindings to the same service instance.
    cf update-buildpack +
      +
    • [Added flag] (v8.14.0): Use --lifecycle to specify the lifecycle type when updating a buildpack (for example, buildpack or cnb).
    • +
    +
    cf update-route +
      +
    • [New]: New command for managing route-specific options.
    • +
    • [New flag]: Use --option to specify per-route options in key-value format, e.g. option_name=option_value.
    • +
    • [New flag]: Use --remove-option to specify a per-route option to delete, e.g. option_name.
    • +
    +
    cf update-service
    • [Added flag]: Use --wait to wait for the update operation to complete.
    • -
    • [Removed flag]: --upgrade. Use new command cf upgrade-service to upgrade a plan.
    • +
    • [Removed flag]: --upgrade. Use the cf upgrade-service command to upgrade a plan.
    • +
    +
    cf update-stack +
      +
    • [New command] (v8.18.0): Manages the lifecycle state of a stack. Use --state to set the state (active, deprecated, restricted, or disabled) and --reason to provide a human-readable explanation shown to developers during cf push or cf restage. For more information, see Managing Stack Lifecycle.