Skip to content

Releases: cloudfoundry/cli

v8.6.0

16 Feb 22:50
@a-b a-b
Compare
Choose a tag to compare

Package Manager Installation

Installers

Binaries

Docker

docker pull cloudfoundry/cli:8.6.0

Change Log

  • Bump golang to 1.19
  • Security fixes

Full Changelog: v8.5.0...v8.6.0

v8.5.0

12 Sep 22:00
@a-b a-b
Compare
Choose a tag to compare

Package Manager Installation

Installers

Binaries

Docker

docker pull cloudfoundry/cli:8.5.0

Change Log

  • Add log rate limits to cf scale command
  • Fix selfcontained tests failing due to /whoami by @matt-royal in #2266
  • Add auth header to logcache API requests for cf-on-k8s by @matt-royal in #2267
  • Add support for Korifi to the cf auth command by @julian-hj in #2296
  • Refresh token in logs is disabled for Korifi by @Birdrock in #2294
  • feat: Add move-route command to cf cli (#2302) by @gururajsh in #2307
  • Golang 1.18

New Contributors

Full Changelog: v8.4.0...v8.5.0

v7.5.0

04 Jun 00:50
@a-b a-b
Compare
Choose a tag to compare

Package Manager Installation

Installers

Binaries

Docker

docker pull cloudfoundry/cli:7.5.0

Change Log

  • Release Apple ARM
  • Bump Golang to 1.17
  • Update the tip for security groups

Special thanks to our many contributors to this release, including but not limited to:
@mariash @ccjaimes , @pivotalgeorge , @hjcalderon10 , @hemarsai , @jdgonzaleza , @reedr3 , @gururajsh, @a-b

Full Changelog: v7.4.0...v7.5.0

Note:
This CF CLI release is tested with minimum version CAPI release 1.95.0 and 1.130.0-rc.23*
See our minimum supported version policy for more information.

v8.4.0

02 Jun 22:38
@a-b a-b
Compare
Choose a tag to compare

Package Manager Installation

Installers

Binaries

Docker

docker pull cloudfoundry/cli:8.4.0

Change Log

  • Apple ARM support
  • CF on K8s support

Special thanks to our many contributors to this release, including but not limited to:
@matt-royal @ccjaimes , @pivotalgeorge , @hjcalderon10 , @hemarsai , @jdgonzaleza , @reedr3 , @gururajsh, @a-b

Full Changelog: v8.3.0...v8.4.0

Note:
This CF CLI release is tested with minimum version CAPI release 1.109.0 and 1.129.0-rc.52*
See our minimum supported version policy for more information.

v8.3.0

11 Mar 08:40
@a-b a-b
Compare
Choose a tag to compare

Package Manager Installation

Installers

Binaries

Docker

docker pull cloudfoundry/cli:8.3.0

Change Log

  • Update the tip for security groups
  • Upgrade Golang version from 1.16 to 1.17
  • Update destination Protocol command
  • Idempotency when trying to create a service twice

Notes

This release was built and released via a brand new release process, please report issues here and get support in our Slack room

Special thanks to our many contributors to this release, including but not limited to:
@mariash , @ccjaimes , @pivotalgeorge , @hjcalderon10 , @hemarsai , @jdgonzaleza , @reedr3 , @gururajsh, @a-b

Full Changelog: v8.2.0...v8.3.0

Note:
This CF CLI release is tested with minimum version CAPI release 1.109.0 and 1.128.0-rc.17*
See our minimum supported version policy for more information.

v8.2.0

11 Feb 20:25
@a-b a-b
Compare
Choose a tag to compare

Package Manager Installation

Installers

Binaries

Docker

docker pull cloudfoundry/cli:8.2.0

Change Log

  • Support HTTP/2 cf command
  • Rename flag to app-protocol in map-route
  • Add app-protocol to cf routes command output
  • Add space supporter to space users command
  • Consolidate version checking to use ccversion file

Special thanks to our many contributors to this release, including but not limited to:
@MerricdeLauney, @mariash, @monamohebbi, @sweinstein22, Cristhian Camilo Peña, George Gelashvili, Héctor José Calderón, Hema Ranganathan, Juan Diego Gonzalez, Ryker Reed, Shwetha Gururaj, Alexander Berezovsky

Full Changelog: v8.1.0...v8.2.0

Note:
This CF CLI release is tested with minimum version CAPI release 1.109.0 and 1.126.0-rc.10
See our minimum supported version policy for more information.

v8.1.0

05 Jan 18:18
@a-b a-b
034d929
Compare
Choose a tag to compare

Package Manager Installation

Installers

Binaries

Docker

docker pull cloudfoundry/cli:8.1.0

Change Log

  • Detect CF-on-K8s in cf api

    This makes cf api able to detect the cf-on-k8s flag in the root
    endpoint response and persist this information in the config. This will
    allow us to enable CF-on-K8s-specific behaviour for every following
    command.
    We have introduced a new selfcontained integration suite which
    contains tests that do not need to be run against a cf deployment.
    Issue: cloudfoundry/cf-k8s-api#10

  • Unpin protobuf
    client-go v0.22 does not work with protobuf v1.3.4.
    protobuf v1.5 leads to a runtime panic in go-loggregator and
    go-log-cache. See:cloudfoundry/go-log-cache#30
    pin go-log-cache to a fork containing this PR that fixes the above
    problem: cloudfoundry/go-log-cache#31
    Having done all this allows us to use the latest version of the client-go
    package, which is needed for the cf-on-k8s support.

  • Implement cf login for CF-on-K8s

    This implements a CF-on-K8s-compatible version of the cf login
    command. When a user runs cf login against a CF-on-K8s, they will be
    prompted to choose an auth-info from the ones specified in their
    $KUBECONFIG. Passing any extra option, except for -a, will result in
    a failure.
    The main changes here are the extraction of the AuthActor and
    UserConfig interfaces, which we implement both for the default use
    case and the Kubernetes one. This allow us to provide specific
    implementations of methods like Authenticate, GetLoginPrompts and
    CurrentUser*.
    While the choice of the AuthActor implementation can happen in the
    NewActor constructor, this can't be done for UserConfig. cf login
    hits the root endpoint and mutates the Config accordingly, and the
    selection of the UserConfig implementation depends on those mutations.
    We have then decided to perform this choice dynamically via the
    DynamicUserConfig decorator.

  • Use the latest cloudfoundry/go-log-cache

    This removes the rewrite to eirini-forks/go-log-cache and bumps
    cloudfoundry/go-log-cache to the latest master commit which includes
    the protobuf fix.

  • Introduce a ConnectionWrapper for Kubernetes

    This introduces a new implementation a new ConnectionWrapper
    implementation to be used when targeting a CF-on-K8s API. The wrapper
    leverages the Kubernetes configuration directly. Only auth-provider
    credentials are supported at the moment.
    Issue: https://github.com/cloudfoundry/cf-k8s-api/issues/16

  • Refactor the creation of the wrapped CC client
    API and Login commands do not require auth, so skip the auth wrapping
    explicitly by calling a wrapper that doesn't add it.
    Other commands do require auth, so call the auth wrapping command.
    Remove the nil checks in the auth wrappers, as they will now only be
    involved when auth is actually required.
    Issue: https://github.com/cloudfoundry/cf-k8s-api/issues/16

  • Support Kubernetes inline client certificates
    This only supports inline client certificates and keys for now.

  • Support Kubernetes client certificates of any kind

    This change leverages the client-go rest.TLSConfigFor method to
    build a tls.Config regardless of the authentication method. This
    allows us to support any authentication method that uses client
    certificates (inline certs, filepath certs, exec plugins) with the same
    code.

  • Test Kubernetes exec plugins

    This only adds tests as the behaviour comes for free from the previous
    commit.

  • Support inline and filepath Kubernetes tokens

    Support the case where a token is provided directly in the auth-info
    with token or using token-file.
    The logic here is that there won't any certificates in the TLSConfig,
    and the WrapTransport method of transportConfig will be nil, as it is
    only set in the exec and auth-provider plugins. Therefore we'll just
    wrap the http request with whatever auth info is left, which is
    'hard-coded' tokens in this case.

  • Clear the Kubernetes auth information in cf api
    Issue: cloudfoundry/korifi#183

  • Clear the Kubernetes auth information in cf api --unset
    Issue: cloudfoundry/korifi#182

  • Clear the Kubernetes auth information in cf logout
    Issue: cloudfoundry/korifi#157

  • Use the real Kubernetes username when creating a space role

    Previously, CurrentUserName implementation was split in the config
    area for standard CF and CF-on-k8s. It would have been great to update
    the k8s version to call /whoami, but the cloud controller logic doesn't
    seem to belong in the config area.
    So instead, GetCurrentUser() has been added to the actor interface, and
    also to the AuthActor interface. This has a standard CF and a k8s CF
    implementation. The standard implementation just defers to the config
    method, whereas the k8s implementation invokes the new /whoami endpoint
    on the cloud controller.
    This commit also introduces handling that endpoint.
    Issue: cloudfoundry/korifi#147

  • Use the real Kubernetes username everywhere

Special thanks to our many contributors to this release, including but not limited to:
Giuseppe Capizzi, Danail Branekov, Georgi Sabev, Kieron Browne, Mario Nitchevi, Cristhian Camilo Peña, George Gelashvili, Héctor José Calderón, Hema Ranganathan, Juan Diego Gonzalez, Ryker Reed, Shwetha Gururaj, Alexander Berezovsky

Full Changelog: v8.0.0...v8.1.0

Note:
This CF CLI release is tested with minimum version CAPI release 1.109.0 and 1.124.0-rc.9
See our minimum supported version policy for more information.

v7.4.0

17 Nov 00:40
e55633f
Compare
Choose a tag to compare

Package Manager Installation

Installers

Binaries

Docker

docker pull cloudfoundry/cli:7.4.0

Compatibility

Tested against CAPI 1.120.0* (87e34a3e) and CAPI 1.95.0* (4624a515)

Change Log

  • Fixes #2220 - cf routes fails with 414 Request-URI Too Large

v8.0.0

28 Sep 17:58
@a-b a-b
Compare
Choose a tag to compare

Package Manager Installation

Installers

Binaries

Docker

docker pull cloudfoundry/cli:8.0.0

Change Log

Release Notes

Services commands upgraded to call the v3 API

In v8 the cf CLI has been switched to using v3 CAPI to make service relates requests, most commands now have a new flag called --wait since v3 services code create async jobs, if you want to still synchronously wait you can use the new flag to wait for the operation to complete.

cf services
New flag --no-apps (Do not retrieve bound apps information)
New flag - --wait
cf marketplace
New Flag --show-unavailable (Show plans that are not available for use)
cf service
New Flag --params (Retrieve and display the given service instances's parameters. All other output is suppressed.)
Update - displays information about guid, type and broker tags
Update - service field is renamed to offering
Update - service broker field is renamed to broker
Update - dashboard field is renamed to dashboard url
Update - The ordering and wording of each block of information have changed slightly
cf create-service
New flag --wait (Wait for the operation to complete)
param SERVICE is now called SERVICE_OFFERING
cf update-service
New flag --wait (Wait for the operation to complete)
Removed Flag --upgrade
cf upgrade-service
Removed Flag --force
cf delete-service
New flag --wait (Wait for the operation to complete)
cf bind-service
New Flag --wait (Wait for the operation to complete)
cf unbind-service
New Flag --wait (Wait for the operation to complete)
cf service-key
Update - Displays information about last operation and message as new columns.
cf create-service-key
New Flag --wait (Wait for the operation to complete); operation is asynchronous by default
cf delete-service-key
New Flag --wait (Wait for the operation to complete); operation is asynchronous by default
cf bind-route-service
New Flag --wait (Wait for the operation to complete); bind-route-service is asynchronous by default
cf unbind-route-service
New Flag --wait (Wait for the operation to complete)
Operation is asynchronous by default
cf routes
Update added service instance column to output

Golang Bump to 1.16 from 1.13

This golang bump introduces a requirement for a SAN (Subject Alternative Name) in certificates used CF. Read more about this change here

Manifest Diffs

When applying a manifest in v8, for example during a push, you will not see manifest output provided through the new v3 space manifest diff endpoint. There are several known issues in this endpoint depending on what version of CAPI you use, see CAPI release notes for more info.

Support HTTP/2 When Mapping Routes

cf map-route
Users can specify destination protocol when mapping routes using the --destination-protocol flag #2192

See the official Cloud Foundry documentation for more information on HTTP/2 routing for applications.

View Route Details

cf route
New command for viewing details about a route and its destinations #2205

Other

Removed v6/v2 dead code in several directory paths (command/v6 as an example)

Special thanks to our many contributors to the v8 release, including but not limited to:

Sarah Weinstein, Marc Paquette, Ryker Reed, Juan Diego Gonzalez, Dominic Roberts, Hema Ranganathan, Alexander Berezovsky, Jenna Goldstrich, Reid Mitchell, Mona Mohebbi, Teal Stannard, Seth Boyles, George Blue, Felisia Martini, Weyman Fung, Marcela Campo, Winna Bridgewater, Piyali Banerjee, Carson Long, and Klaas van Schelven

v7.3.0

19 Aug 23:55
@a-b a-b
Compare
Choose a tag to compare

Package Manager Installation

Installers

Binaries

Change Log

Golang Bump to 1.16 from 1.13

This golang bump introduces a requirement for a SAN (Subject Alternative Name) in certificates used CF. Read more about this change here

Changes

Change CLI strategy for streaming logs from log cache, delaying when messages aren't found by 250 MS to decrease excessive load on log cache -> #2177

Add --wait to run-task -> 8671a5b

Two spaces indent for json ->e951a00

Add support for quotas to be given in TBs -> b9e606e

Support TLS 1.3 -> #2191

Bug Fixes

Stack being overriden on cf push #2148

V7 services do not poll empty jobs -> 7fb7b89

Cancel deployment v7 push on failure -> #2170

dfe195d -> Special characters are not HTML encoded

Contributors

Reid Mitchell, Jenna Goldstrich, Alexander Berezovsky, Dominic Roberts, Juan Diego Gonzalez, Hema Ranganathan, Teal Stannard, Seth Boyles, Zach Robinson, Felisia Martini, George Blue, Sarah Weinstein, Colin Simmons and Ryker Reed