Skip to content

Releases: vmware-tanzu/tanzu-cli

v1.3.0-rc.0

02 May 01:04
Compare
Choose a tag to compare
v1.3.0-rc.0 Pre-release
Pre-release

NOTE: This pre-release version of the Tanzu CLI is recommended if one is expected to install and use any CLI plugin that leverages an experimental feature in to specify how to map the plugin or its command to an alternate location.

Usability improvements in several commands including tanzu plugin list, and tanzu plugin sync user experience.
Versions of plugins discovered via a CLI context will be shown as "Recommended" version in the plugin list.

There are several updates in the area of context management including a repurposed interactive tanzu login command, better handling of kubeconfig file and kube context associated with tanzu CLI contexts and not intuitive command to display active CLI context.

Other enhancements include new CL version detection, support for authenticated plugin registry, experiement support for interacting with Tanzu Hub, and more!

Tanzu CLI Installation Instructions

If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.

For installing the Tanzu CLI through various package managers, please follow the appropriate "Installing a Pre-Release" sections on the same page.

Changes by Kind

Feature

  • Add support for individual plugin download with tanzu plugin download-bundle command (#725, @anujc25)
  • Implement "global initializers" and use them to fix the plugin cache if the central_config.yaml file is missing. (#723, @marckhouzam)
  • On execution, the CLI will notify the user of an available new version of the CLI itself, at most once every 24 hours. (#707, @marckhouzam)
  • Provide a --refresh-configuration-only flag to tanzu plugin download-bundle to allow refreshing the plugin inventory and central configuration without adding any plugins to the air-gap repository. (#728, @marckhouzam)
  • Add experimental support for mapping of a plugin at a command-level (#736, @vuil)
  • Adds experimental functionality to remap in the CLI commands at an entire plugin level. (#687, @vuil)
  • On execution, the CLI will notify the user of an available new version of the CLI itself, at most once every 24 hours. (#707, @marckhouzam)
  • Add support to check if the selected org is Tanzu Application platform enabled. User can skip the TAP scopes validation by setting the environment variable "TANZU_CLI_SKIP_TAP_SCOPES_VALIDATION_ON_TANZU_CONTEXT" to true (#731, @prkalle)
  • Repurpose the deprecated tanzu login command to log in to TAP SaaS (#715, @prkalle)
  • Update the UX for "context use" and "context list" commands to show ProjectID details (#721, @prkalle)
  • Updates to the tanzu plugin list, and tanzu plugin sync user experience. All plugins are installed as standalone plugins. (#698, @anujc25)
  • Add a global initializer to ensure the command-remapping information is properly stored in the catalog cache. (#738, @marckhouzam)
  • Add a new tanzu context current [--short] command to easily show the current context. (#750, @marckhouzam)
  • Add support for the Authenticated Registry to host Tanzu CLI plugin images (#744, @anujc25)
  • Experimental: Configure the Tanzu Hub endpoint when creating the tanzu context (#734, @anujc25)
  • Update kubecontext name associated with tanzu CLI Context when active resource is updated. User can skip this kubecontext name update by setting the environment variable TANZU_CLI_USE_STABLE_KUBE_CONTEXT_NAME to "true" (#746, @prkalle)

Documentation

  • Document the CLI environment variables used for testing (#716, @marckhouzam)
  • Document the user-facing CLI environment variables. (#714, @marckhouzam)
  • Fix generate-all-docs to account for installed plugins with mapped commands. (#752, @vuil)
  • Provide a documentation link when notifying users of the availability of a new CLI version. (#727, @marckhouzam)

Bug or Regression

  • builder plugin: Add empty plugin version validation to the PluginGroup Publishing step (#686, @anujc25)
  • Tanzu CLI doesn't attempt to install Essential plugins for tanzu plugin source commands (#692, @mpanchajanya)
  • Tanzu CLI will only allow boolean true or false feature flag values (#685, @mpanchajanya)
  • The signal handling logic has been refactored and moved to a centralized location for reuse across all use cases. (#735, @chandrareddyp)

Other (Cleanup or Flake)

  • Cleanup essential plugins installation logic (#704, @marckhouzam)
  • Fix the documentation for ActiveHelp (#713, @marckhouzam)
  • Print the reason the CLI aborts even when installing essential plugins (#712, @marckhouzam)
  • Switch the default discovery source registry to projects.packages.broadcom.com.
    For any reason, if the user wants to switch back to the old registry projects.registry.vmware.com, run the following command to update discovery source tanzu plugin source update default -u projects.registry.vmware.com/tanzu_cli/plugins/plugin-inventory:latest. To switch back to the new default registry run the tanzu plugin source init command. (#755, @anujc25)
  • Unless features.global.plugin-override-on-active-context-type is set to true, plugin-level mapping is performed unconditionally, possibly overriding some another existing CLI command group. However, when said flag is set, mapping that would override an existing command is only allowed if the active context's type matches one of the types that this mapping supports. (#753, @vuil)
  • Use internal Kubeconfig file ($HOME/.kube-tanzu/config) instead of default kubeconfig to store kubecontext for TAP SaaS (#747, @prkalle)
  • Update test central repo with some test Central Configuration (#700, @marckhouzam)
  • Update the UX for "context use" and "context list" commands to show ProjectID details (#721, @prkalle)
  • Updates to tanzu plugin list, and tanzu plugin sync user experience. All plugins are installed as standalone plugins. (#698, @anujc25)
  • Add crd package build script, and e2e tests for deploying built package (#672, @vuil)
  • Add support to check if the selected org is Tanzu Application platform enabled. User can skip the TAP scopes validation by setting the environment variable "TANZU_CLI_SKIP_TAP_SCOPES_VALIDATION_ON_TANZU_CONTEXT" to true (#731, @prkalle)
  • Add the new target operations (#679, @anujc25)
  • Allow turning off go's buildvcs when building the CLI. (#743, @marckhouzam)
  • Associate TMC endpoint (tanzuMissionControlEndpoint) with AdditionalMetadata of Tanzu Context (#680, @anujc25)
  • Fixed the tanzu context missing TMC endpoint details in context additionalMetadata and also add support to update the context with projectID along with project name (#708, @prkalle)
  • Ignore command PreRun logic for the tanzu context get-token command (#754, @prkalle)
  • More unit tests (#732, @marckhouzam)

Dependencies

Added

  • github.com/99designs/gqlgen: v0.17.44
  • github.com/Khan/genqlient: v0.7.0
  • github.com/alexflint/go-arg: v1.4.2
  • github.com/alexflint/go-scalar: v1.0.0
  • github.com/andreyvit/diff: c7f18ee
  • github.com/arbovm/levenshtein: 48b4e1c
  • github.com/bradleyjkemp/cupaloy/v2: v2.6.0
  • github.com/dgryski/trifles: dd97f9a
  • github.com/hashicorp/golang-lru/v2: v2.0.7
  • github.com/pkg/diff: 20ebb0f
  • github.com/sosodev/duration: v1.2.0
  • github.com/vektah/gqlparser/v2: v2.5.11
  • golang.org/x/telemetry: b75ee88

Changed

Removed

Nothing has changed.

v1.3.0-alpha.3

20 Apr 03:02
Compare
Choose a tag to compare
v1.3.0-alpha.3 Pre-release
Pre-release

NOTE: This pre-release version of the Tanzu CLI is recommended if one is expected to install and use any CLI plugin that leverages an experimental feature in v1.3.0-alpha.1 version of the tanzu plugin runtime to specify how to map the plugin's command to an alternate location. New in alpha.3 is that the CLI now supports mapping not just the entire group of commands of the plugin, but specific subcommands as well.

Usability improvements in several commands including tanzu plugin list, and tanzu plugin sync user experience.
Versions of plugins discovered via a CLI context will be shown as "Recommended" version in the plugin list.

Last but not least, user of the previous alpha.2 pre-release should receive a notitification to update to a this release.
This update notication will become a mainstay in future pre-releases and releases as well.

Tanzu CLI Installation Instructions

If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.

For installing the Tanzu CLI through various package managers, please follow the appropriate "Installing a Pre-Release" sections on the same page.

Changes by Kind

Feature

  • Add support for individual plugin download with tanzu plugin download-bundle command (#725, @anujc25)
  • Implement "global initializers" and use them to fix the plugin cache if the central_config.yaml file is missing. (#723, @marckhouzam)
  • On execution, the CLI will notify the user of an available new version of the CLI itself, at most once every 24 hours. (#707, @marckhouzam)
  • Provide a --refresh-configuration-only flag to tanzu plugin download-bundle to allow refreshing the plugin inventory and central configuration without adding any plugins to the air-gap repository. (#728, @marckhouzam)
  • Add support for mapping of a plugin at a command-level (#736, @vuil)
  • Adds experimental functionality to remap in the CLI commands at an entire plugin level. (#687, @vuil)
  • Add support to check if the selected org is Tanzu Application platform enabled. User can skip the TAP scopes validation by setting the environment variable "TANZU_CLI_SKIP_TAP_SCOPES_VALIDATION_ON_TANZU_CONTEXT" to true (#731, @prkalle)
  • Repurpose the deprecated tanzu login command to log in to TAP SaaS (#715, @prkalle)
  • Update the UX for "context use" and "context list" commands to show ProjectID details (#721, @prkalle)
  • Updates to the tanzu plugin list, and tanzu plugin sync user experience. All plugins are installed as standalone plugins. (#698, @anujc25)
  • Add a global initializer to ensure the command-remapping information is properly stored in the catalog cache. (#738, @marckhouzam)

Documentation

Miscellaneous or From Previous Alpha Release

  • Add crd package build script, and e2e tests for deploying built package (#672, @vuil)
  • Add the new target operations (#679, @anujc25)
  • Associate TMC endpoint (tanzuMissionControlEndpoint) with AdditionalMetadata of Tanzu Context (#680, @anujc25)
  • Fixed the tanzu context missing TMC endpoint details in context additionalMetadata and also add support to update the context with projectID along with project name (#708, @prkalle)
  • More unit tests (#732, @marckhouzam)
  • Provide a documentation link when notifying users of the availability of a new CLI version. (#727, @marckhouzam)
  • Tanzu CLI doesn't attempt to install Essential plugins for tanzu plugin source commands (#692, @mpanchajanya)
  • Tanzu CLI will only allow boolean true or false feature flag values (#685, @mpanchajanya)
  • The signal handling logic has been refactored and moved to a centralized location for reuse across all use cases. (#735, @chandrareddyp)
  • Update test central repo with some test Central Configuration (#700, @marckhouzam)
  • Cleanup essential plugins installation logic (#704, @marckhouzam)
  • Print the reason the CLI aborts even when installing essential plugins (#712, @marckhouzam)
  • builder plugin: Add empty plugin version validation to the PluginGroup Publishing step (#686, @anujc25)

Dependencies

Added

Nothing has changed.

Changed

Removed

Nothing has changed.

v1.3.0-alpha.2

29 Mar 00:29
Compare
Choose a tag to compare
v1.3.0-alpha.2 Pre-release
Pre-release

NOTE: This pre-release version of the Tanzu CLI is recommended if one is expected to install and use any CLI plugin that leverages an experimental feature in v1.3.0-alpha.1 version of the tanzu plugin runtime to specific how to map the plugin's command to an alternate location.

This release is also required to interact with tanzu-type contexts connecting to environment that exposes both Project names and IDs.

Last but not least, this release lays the groundwork for receiving CLI metadata update between CLI releases. In particular, users with at least 1.3.0-alpha.2 version of the CLI installed may now receive a message to upgraded to a new CLI version should one become available.

Tanzu CLI Installation Instructions

If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.

For installing the Tanzu CLI through various package managers, please follow the appropriate "Installing a Pre-Release" sections on the same page.

Changes by Kind

Bug or Regression

  • builder plugin: Add empty plugin version validation to the PluginGroup Publishing step (#686, @anujc25)

Miscellaneous

  • Add crd package build script, and e2e tests for deploying built package (#672, @vuil)
  • Add the new target operations (#679, @anujc25)
  • Adds experimental functionality to remap in the CLI commands at an entire plugin level. (#687, @vuil)
  • Associate TMC endpoint (tanzuMissionControlEndpoint) with AdditionalMetadata of Tanzu Context (#680, @anujc25)
  • Cleanup essential plugins installation logic (#704, @marckhouzam)
  • Fixed the tanzu context missing TMC endpoint details in context additionalMetadata and also add support to update the context with projectID along with project name (#708, @prkalle)
  • On execution, the CLI will notify the user of an available new version of the CLI itself, at most once every 24 hours. (#707, @marckhouzam)
  • Print the reason the CLI aborts even when installing essential plugins (#712, @marckhouzam)
  • Tanzu CLI doesn't attempt to install Essential plugins for tanzu plugin source commands (#692, @mpanchajanya)
  • Tanzu CLI will only allow boolean true or false feature flag values (#685, @mpanchajanya)
  • Update test central repo with some test Central Configuration (#700, @marckhouzam)

Dependencies

Added

Nothing has changed.

Changed

Removed

Nothing has changed.

v1.3.0-alpha.1

06 Mar 22:42
Compare
Choose a tag to compare
v1.3.0-alpha.1 Pre-release
Pre-release

NOTE: This pre-release version of the Tanzu CLI is recommended if one is expected to install and use any CLI plugin that leverages an experimental feature in v1.3.0-alpha.1 version of the tanzu plugin runtime to specific how to map the plugin's command to an alternate location.

Tanzu CLI Installation Instructions

If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.

For installing the Tanzu CLI through various package managers, please follow the appropriate "Installing a Pre-Release" sections on the same page.

Changes by Kind

Bug or Regression

  • builder plugin: Add empty plugin version validation to the PluginGroup Publishing step (#686, @anujc25)

Miscellaneous

  • Add crd package build script, and e2e tests for deploying built package (#672, @vuil)
  • Add the new target operations (#679, @anujc25)
  • Adds experimental functionality to remap in the CLI commands at an entire plugin level. (#687, @vuil)
  • Associate TMC endpoint (tanzuMissionControlEndpoint) with AdditionalMetadata of Tanzu Context (#680, @anujc25)

Dependencies

Added

Nothing has changed.

Changed

Removed

Nothing has changed.

v1.3.0-alpha.0

26 Feb 19:37
Compare
Choose a tag to compare
v1.3.0-alpha.0 Pre-release
Pre-release

Tanzu CLI Installation Instructions

If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.

For installing the Tanzu CLI through various package managers, please follow the appropriate "Installing a Pre-Release" sections on the same page.

Changes by Kind

Miscellaneous

  • Add crd package build script, and e2e tests for deploying built package (#672, @vuil)
  • Add the new target operations (#679, @anujc25)
  • Associate TMC endpoint (tanzuMissionControlEndpoint) with AdditionalMetadata of Tanzu Context (#680, @anujc25)

Dependencies

Added

Nothing has changed.

Changed

Removed

Nothing has changed.

v1.2.0

07 Feb 22:29
Compare
Choose a tag to compare

This release brings you:

  • Interactive login for TAP SaaS through Cloud Services, including support for CLI environments with no web browser support. What used to take a dozen steps and the user interacting directly with the Cloud Services UI can now be accomplished with a single command.
  • Support for the arm64 architecture for Windows (starting with Windows 11).
    • Reminder: Unlike for Windows and Darwin (Mac), the Linux CLI binary for arm64 is only available as part of the release to allow testing plugins built for arm64. This build is not yet meant for production and is therefore marked as “unstable”.
  • Usability improvements including but not limited to:
    • 30% size reduction of the tanzu binary by removing debug symbols
    • 30% size reduction of plugins built using the builder plugin v1.2.0
      Note: If you need to re-enable debug symbols for your plugin binary, please refer to this documentation.
    • use of a spinner when downloading plugins to indicate progress
    • improved responsiveness for plugin life-cycle commands through enhanced caching
    • automatic daily check and installation of any updated Essential Plugins
    • hiding of a target subcommand (kubernetes or mission-control) that does not have any plugins installed
    • proper sorting of all output
  • Various bug fixes and optimizations made on top of the 1.1 release.

Tanzu CLI Installation Instructions

If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the instructions.

Changes by Kind

✨ Features

Interactive login support

  • Add interactive(browser) login support for 'tanzu' context creation (#627, @prkalle)
  • Add support for interactive login on terminal based hosts for creating 'tanzu' context. User can choose the local listener port for callback URL during OAuth authorization flow by setting the TANZU_CLI_OAUTH_LOCAL_LISTENER_PORT environment variable. (#645, @prkalle)

Plugin management improvements

  • For plugin installation, an in-progress spinner has been added for a better user experience. (#641, @chandrareddyp)
  • Implement automatic refresh of database repository cache (#637, @mpanchajanya)
  • Improve CLI responsiveness for plugin life-cycle commands by introducing a time-to-live of 30 minutes for the plugin inventory cache (can be changed through the environment variable TANZU_CLI_PLUGIN_DB_CACHE_TTL_SECONDS). To force a plugin inventory cache refresh the tanzu plugin source init command can be used. (#605, @marckhouzam)
  • Update the plugin inventory DB on a tanzu plugin source init (#604, @marckhouzam)

ARM64 Support

  • Add support to install the Windows ARM64 CLI through Chocolatey. (#617, @marckhouzam)
  • Allow building the CLI for Windows ARM64. (#610, @marckhouzam)
  • Allow to install all plugins on Windows 11 running on ARM64 by installing the AMD64 version if the ARM64 version of the plugin is not available. (#615, @marckhouzam)
  • The builder plugin can now build for Windows ARM64. The builder and test plugins are themselves built for Windows ARM64. New plugin projects will default to including a build for Windows ARM64. (#611, @marckhouzam)

Usability improvements

  • Reduce binary size by around 30% by building CLI and plugins without debug symbols. (#596, @marckhouzam)
  • Setup shell completion when installing with Chocolatey (#614, @marckhouzam)
  • Support configuring ClusterGroup with the tanzu context update tanzu-active-resource command using --clustergroup flag (#621, @anujc25)
  • Support context-scoped plugin discovery for the tanzu contexts (This functionality is behind feature-flag and disabled by default) (#651, @anujc25)
  • The tanzu config get command now prints a note to the user if environment variables from the tanzu config are being shadowed by environment variables set in the current shell. (#622, @marckhouzam)
  • The tanzu context list outputs is now sorted by context names. (#650, @chandrareddyp)
  • UX updates to tanzu context list and tanzu context use command outputs (#628, @anujc25)
  • Clear all the local metrics data when user opt out of CEIP (#652, @prkalle)

📄 Documentation

  • Add documentation on how to use package managers to upgrade the CLI (#608, @marckhouzam)
  • Document running brew tap vmware-tanzu/tanzu to simplify brew operations. (#607, @marckhouzam)
  • Improve documentation to mention that the vmware-tanzucli/essentials plugin group is automatically included in any tanzu plugin download-bundle command (#656, @marckhouzam)
  • Update the CLI development README. (#609, @marckhouzam)

🐛 Bug Fixes

  • A shell variable set to an empty value is no longer ignored by the CLI and takes precedence over a similar variable present in the tanzu config, as expected. (#624, @marckhouzam)
  • Allow listing the CLIPlugins resources even if the CRD discovery API returns an error for the kubernetes context (#642, @anujc25)
  • Fixes tanzu plugin download-bundle when the same plugin is part of multiple plugin-groups that the user has requested to download (#630, @anujc25)
  • Logger verbosity can be changed by setting TANZU_CLI_LOG_LEVEL environment variable. (#670, @mpanchajanya)
  • Only show and install the latest version of the context-scoped plugin when the discovery source returns multiple CLIPlugin resources with the same name. (#632, @anujc25)
  • Provide proper help for tanzu k8s and tanzu tmc commands when no plugins are installed for such a target. (#626, @marckhouzam)
  • Tanzu config cert options --ca-cert and --skip-cert-verify are mutually exclusive (#663, @mpanchajanya)
  • The tanzu plugin download-bundle --to-tar command now prevents overwriting an existing output file. (#666, @chandrareddyp)
  • The plugin installation spinner termination issue on Windows has been fixed. (#665, @chandrareddyp)

🌱 Miscellaneous

  • Don't disable flag parsing on the root command. (#600, @marckhouzam)
  • Added note in tanzu plugin group search about using --show-details to see all versions of groups (#649, @vuil)
  • Enable nakedret, revive, unparam, gosec linters. (#647, @mpanchajanya)
  • Fix indentation in usage line of help text of leaf commands (#612, @marckhouzam)
  • Fix main README to remove obsolete note about an alpha release. (#602, @marckhouzam)
  • Remove trailing period in some short help texts. (#603, @marckhouzam)
  • Remove usage of deprecated Configuration APIs like StoreClientConfig (#616, @mpanchajanya)
  • Removed commands tanzu builder cli compile, tanzu builder publish, tanzu config server (and its sub commands) (#643, @mpanchajanya)
  • Update to Cobra v1.8.0 (#594, @marckhouzam)
  • Use proper help format for tanzu completion (#613, @marckhouzam)
  • Merge plugin_group_manifest.yaml automatically when building individual plugins with the builder plugin (#644, @anujc25)
  • The tanzu plugin list and tanzu plugin search outputs are now sorted by plugin names instead of by targets. (#646, @chandrareddyp)

Dependencies

Added

Nothing has changed.

Changed

  • github.com/cloudflare/circl: v1.3.3 → v1.3.7
  • github.com/cpuguy83/go-md2man/v2: v2.0.2 → v2.0.3
  • github.com/spf13/cobra: v1.7.0 → v1.8.0
  • github.com/vmware-tanzu/tanzu-plugin-runtime: v1.1.0 → v1.2.0
  • golang.org/x/crypto: v0.14.0 → v0.17.0
  • golang.org/x/sys: v0.13.0 → v0.15.0
  • golang.org/x/term: v0.13.0 → v0.15.0
  • golang.org/x/text: v0.13.0 → v0.14.0

Removed

Nothing has changed.

New Contributors

Full Changelog: v1.2.0-dev...v1.2.0

v1.2.0-rc.0

24 Jan 00:06
Compare
Choose a tag to compare
v1.2.0-rc.0 Pre-release
Pre-release

Tanzu CLI Installation Instructions

If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.

For installing the Tanzu CLI through various package managers, please follow the appropriate "Installing a Pre-Release" sections on the same page.

Changes by Kind

✨ Feature

  • Add interactive(browser) login support for 'tanzu' context creation (#627, @prkalle)
  • Add support to install the Windows ARM64 CLI through Chocolatey. (#617, @marckhouzam)
  • Added note in "tanzu plugin group search" about using --show-details to see all versions of groups (#649, @vuil)
  • Allow building the CLI for Windows ARM64. (#610, @marckhouzam)
  • Allow to install all plugins on Windows 11 running on ARM64 by installing the AMD64 version if the ARM64 version of the plugin is not available. (#615, @marckhouzam)
  • Clear all the local metrics data when user opt out of CEIP (#652, @prkalle)
  • For plugin installation, an in-progress spinner has been added for a better user experience. (#641, @chandrareddyp)
  • Implement automatic refresh of database repository cache (#637, @mpanchajanya)
  • Improve CLI responsiveness for plugin life-cycle commands by introducing a time-to-live of 30 minutes for the plugin inventory cache (can be changed through the environment variable TANZU_CLI_PLUGIN_DB_CACHE_TTL_SECONDS). To force a plugin inventory cache refresh the tanzu plugin source init command can be used. (#605, @marckhouzam)
  • Reduce binary size by around 30% by building CLI and plugins without debug symbols. (#596, @marckhouzam)
  • Setup shell completion when installing with Chocolatey (#614, @marckhouzam)
  • Support configuring ClusterGroup with the tanzu context update tanzu-active-resource command using --clustergroup flag (#621, @anujc25)
  • Support context-scoped plugin discovery for the tanzu contexts (This functionality is behind feature-flag and disabled by default) (#651, @anujc25)
  • The builder plugin can now build for Windows ARM64. The builder and test plugins are themselves built for Windows ARM64. New plugin projects will default to including a build for Windows ARM64. (#611, @marckhouzam)
  • The tanzu config get command now prints a note to the user if environment variables from the tanzu config are being shadowed by environment variables set in the current shell. (#622, @marckhouzam)
  • The tanzu context list outputs is now sorted by context names. (#650, @chandrareddyp)
  • UX updates to tanzu context list and tanzu context use command outputs (#628, @anujc25)
  • Update the plugin inventory DB on a tanzu plugin source init (#604, @marckhouzam)

📄 Documentation

  • Add documentation on how to use package managers to upgrade the CLI (#608, @marckhouzam)
  • Add support for interactive login on terminal based hosts for creating 'tanzu' context. User can choose the local listener port for callback URL during OAuth authorization flow by setting the TANZU_CLI_OAUTH_LOCAL_LISTENER_PORT environment variable. (#645, @prkalle)
  • Document running brew tap vmware-tanzu/tanzu to simplify brew operations. (#607, @marckhouzam)
  • Improve documentation to mention that the vmware-tanzucli/essentials plugin group is automatically included in any tanzu plugin download-bundle command (#656, @marckhouzam)
  • Update the CLI development README. (#609, @marckhouzam)

🐛 Bug or Regression

  • A shell variable set to an empty value is no longer ignored by the CLI and takes precedence over a similar variable present in the tanzu config, as expected. (#624, @marckhouzam)
  • Allow listing the CLIPlugins resources even if the CRD discovery API returns an error for the kubernetes context (#642, @anujc25)
  • Fixes tanzu plugin download-bundle when the same plugin is part of multiple plugin-groups that the user has requested to download (#630, @anujc25)
  • Only show and install the latest version of the context-scoped plugin when the discovery source returns multiple CLIPlugin resources with the same name. (#632, @anujc25)
  • Provide proper help for tanzu k8s and tanzu tmc commands when no plugins are installed for such a target. (#626, @marckhouzam)

Other (Cleanup or Flake)

🌱 Miscellaneous

  • Merge plugin_group_manifest.yaml automatically when building individual plugins with the builder plugin (#644, @anujc25)
  • The tanzu plugin list and tanzu plugin search outputs are now sorted by plugin names instead of by targets. (#646, @chandrareddyp)
  • Update tanzu-plugin-runtime to v1.1.0. (#601, @marckhouzam)
  • Excluded test/e2e/framework tags from CLI and plugin builds (#598, @mpanchajanya)

Dependencies

Added

Changed

Removed

Nothing has changed.

New Contributors

Full Changelog: v1.1.0...v1.2.0-rc.0

v1.2.0-alpha.0

09 Jan 02:49
Compare
Choose a tag to compare
v1.2.0-alpha.0 Pre-release
Pre-release

Tanzu CLI Installation Instructions

If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.

For installing the Tanzu CLI through various package managers, please follow the appropriate "Installing a Pre-Release" sections on the same page.

Changes by Kind

✨ Feature

  • Add interactive(browser) login support for 'tanzu' context creation (#627, @prkalle)
  • Add support to install the Windows ARM64 CLI through Chocolatey. (#617, @marckhouzam)
  • Allow building the CLI for Windows ARM64. (#610, @marckhouzam)
  • Allow to install all plugins on Windows 11 running on ARM64 by installing the AMD64 version if the ARM64 version of the plugin is not available. (#615, @marckhouzam)
  • Improve CLI responsiveness for plugin life-cycle commands by introducing a time-to-live of 30 minutes for the plugin inventory cache (can be changed through the environment variable TANZU_CLI_PLUGIN_DB_CACHE_TTL_SECONDS). To force a plugin inventory cache refresh the tanzu plugin source init command can be used. (#605, @marckhouzam)
  • Reduce binary size by around 30% by building CLI and plugins without debug symbols. (#596, @marckhouzam)
  • Setup shell completion when installing with Chocolatey (#614, @marckhouzam)
  • Support configuring ClusterGroup with the tanzu context update tanzu-active-resource command using --clustergroup flag (#621, @anujc25)
  • The builder plugin can now build for Windows ARM64. The builder and test plugins are themselves built for Windows ARM64. New plugin projects will default to including a build for Windows ARM64. (#611, @marckhouzam)
  • UX updates to tanzu context list and tanzu context use command outputs (#628, @anujc25)
  • Update the plugin inventory DB on a tanzu plugin source init (#604, @marckhouzam)

📄 Documentation

  • Add documentation on how to use package managers to upgrade the CLI (#608, @marckhouzam)
  • Document running brew tap vmware-tanzu/tanzu to simplify brew operations. (#607, @marckhouzam)
  • Update the CLI development README. (#609, @marckhouzam)

🐛 Bug or Regression

  • A shell variable set to an empty value is no longer ignored by the CLI and takes precedence over a similar variable present in the tanzu config, as expected. (#624, @marckhouzam)
  • Provide proper help for tanzu k8s and tanzu tmc commands when no plugins are installed for such a target. (#626, @marckhouzam)

🌱 Miscellaneous

Dependencies

Added

Changed

Removed

Nothing has changed.

New Contributors

Full Changelog: v1.1.0...v1.2.0-alpha.0

v1.1.0

01 Nov 22:39
Compare
Choose a tag to compare

This release brings you:

  • Support for the arm64 architecture for Darwin (Mac)
    • Note: Unlike for Darwin, the Linux CLI binary for arm64 is only available as part of the release to allow testing plugins built for arm64. This build is not yet meant for production and is therefore marked as “unstable”.
  • UX improvements including dynamic shell completion for core CLI commands arguments and flag values
  • Bug fixes and optimizations made on top of the 1.0 release
  • Improvements in CLI context management including support for a new variant of kubernetes-based context which integrates with Cloud Services, one-way syncing of kubeconfig on context switch

Tanzu CLI Installation Instructions

If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the instructions.

✨ Features

Dynamic Shell Completion

  • Add dynamic shell completion for the commands "ceip", "version", "init", "completion", "generate-all-docs" (#519, @marckhouzam)
  • Add dynamic shell completion for the commands tanzu config command tree. (#520, @marckhouzam)
  • Add dynamic shell completion for the commands and flags under the tanzu context command tree (#501, @marckhouzam)
  • Add dynamic shell completion for the commands and flags under the tanzu plugin command tree (#513, @marckhouzam)
  • Shell completion now only suggests currently valid values for the --target flag. (#555, @marckhouzam)
  • Show a core command's short text in ActiveHelp when completing arguments (#561, @marckhouzam)
  • Add ActiveHelp to shell completion when no completions are suggested. (#552, @marckhouzam)

Context management

  1. Decouples plugin target from the type of CLI Context
  2. Syncs active context in kubeconfig on CLI context switch
  3. Supports new 'tanzu' context type

Note: The "tanzu" context type is being released to provide advance support for the development
and release of new services (and CLI plugins) which extend and combine features provided by
individual tanzu components
.

  • Add support to create tanzu context type (#487, @prkalle)
  • Adjust examples for "context create" (#517, @marckhouzam)
  • Decouple the Target association with the Context commands
    • The --target flag is deprecated over the newly introduced --type flag for the tanzu context list and tanzu context unset commands (#524, @anujc25)
  • Delete the kubeconfig pertained to the CLI context during "tanzu context delete" command execution. It is only applied for TAE context type deletion. (#542, @prkalle)
  • Ensure the kubernetes and tanzu current contexts are mutual exclusive (#523, @prkalle)
  • Support multi-file KUBECONFIG path in context creation and updated kubeconfig file path to use default kubeconfig path instead of $HOME/.kube-tanzu/config while creating context for TKG pinniped endpoint (#535, @prkalle)
  • Update "tanzu context create --type" UX to align "--type" options with other commands (#539, @prkalle)
  • tanzu context use of a Context that references a kubeconfig will also update the current context of the kubeconfig referenced (#505, @vuil)
  • Tanzu context list shows additional data for tanzu contexts (#510, @vuil)
  • The UX has been updated for the tanzu context delete and tanzu context unset commands to list plugins that are being deactivated. (#483, @chandrareddyp)
  • Delete the pinniped endpoint's kubecontext in the user's kubeconfig file during context delete command which was generated by CLI during context creation. (#568, @prkalle)
  • The tanzu contex create functionality updated, after context create, it performs the sync operation only for the newly created context, not for all active contexts.
  • The tanzu context use functionality updated, after activating the given context, it performs the sync operation only for the newly activated context, do not perform sync for all active contexts. (#521, @chandrareddyp)
  • The tanzu context use and tanzu context create commands' UX have been updated to list the plugins they're going to install. (#563, @chandrareddyp)
  • The "tanzu" context type is being released to provide advance support for the development and release of new services (and CLI plugins) which extend and combine features provided by individual tanzu components. (#586, @marckhouzam)
  • Rename --ca-certificate option to --ca-cert in "tanzu config cert add" and "tanzu config cert update" commands. The --ca-certificate option is still supported but deprecated in both the commands. (#579, @prkalle)
  • Fix the tanzu login issue when the "tanzu" context is created with context create command (#590, @prkalle)
  • Add URL scheme validation for TMC endpoint while creating context (#587, @prkalle)

Support ARM64 CLI on Mac

... by falling back to install AMD64 plugins when the ARM64 version is not available

  • Allow fully using an ARM64 CLI on Mac (Darwin) by having the CLI install plugins for AMD64 when an ARM64 version of the plugin is not available. (#491, @marckhouzam)
  • Display the machine architecture of the CLI in the output of tanzu version (#540, @marckhouzam)

Plugin management improvements

  • Allow getting/installing plugins by specifying plugin-group version as vMAJOR or vMAJOR.MINOR or vMAJOR.MINOR.PATCH with tanzu plugin install --group and tanzu plugin group get commands (#494, @anujc25)
  • Mark the --uri flag as required for tanzu plugin source update. Cleanup and increase test coverage for the tanzu plugin source sub-commands. (#478, @marckhouzam)
  • Show log message on plugin installation based on various plugin installation states (#504, @anujc25)
  • Allow a user to delete all plugins of a single target using tanzu plugin delete all --target ... (#537, @marckhouzam)
  • Allow installing plugins with vMAJOR or vMAJOR.MINOR or vMAJOR.MINOR.PATCH versions with tanzu plugin install and tanzu plugin sync commands (#486, @anujc25)
  • Automatically suggest the --target flag in shell completion when a plugin name is ambiguous. (#553, @marckhouzam)
  • Enhance the output of tanzu plugin group get --all to show the type of plugins. (#526, @marckhouzam)
  • Make the --all flag of tanzu plugin group get not hidden. (#559, @marckhouzam)
  • The tanzu plugin install --group PLUGIN-GROUP-NAME command has been updated to list the plugins it's going to install. (#556, @chandrareddyp)
  • The tanzu plugin sync command user experience has been updated to list the plugins it's going to install for each active context. (#572, @chandrareddyp)
  • Update documentation for global plugins and legacy CLI versions. (#570, @marckhouzam)
  • Use the tanzu plugin uninstall command as a tanzu plugin delete alternative (#549, @anujc25)

🐛 Bug Fixes

  • Fix output text when deleting a context. (#531, @marckhouzam)
  • Fix the Catalog corruption issue (missing installed plugins) when running CLI in parallel (#472, @anujc25)
  • Fix missing target in plugin-tooling.mk file (#528, @marckhouzam)

🌱 Miscellaneous

  • Cleanup unused code around the previous use of feature flags for the context feature and the central repo feature. (#482, @marckhouzam)
  • Fix the usage section of the help text for the builder plugin. (#530, @marckhouzam)
  • Fix unit tests for "tanzu plugin delete" (#498, @marckhouzam)
  • Fix unit tests for plugin search (#481, @marckhouzam)
  • Improve unit testing for plugin lifecycle and remove unused code around the previous use of feature flags. (#484, @marckhouzam)
  • Provide a more detailed error when failing to read the central repository of plugins (#534, @marckhouzam)
  • Tanzu CLI is updated to latest go v1.21 (#490, @mpanchajanya)
  • A sample plugin with E2E test cases has been added to demonstrate the usage of the CLI E2E framework API. This addition is designed to help plugin developers quickly get started with the CLI E2E framework API. (#508, @chandrareddyp)
  • Cleanup extra file generated by unit tests. (#551, @marckhouzam)
  • Remove trailing space in example. (#522, @marckhouzam)
  • Show aliases in the help of tanzu kubernetes and tanzu tmc (#565, @marckhouzam)
  • Tanzu CLI developers can configure input data using the TANZU_CLI_E2E_INPUT_CONFIG_DATA_FILE_PATH environment variable. (#518, @chandrareddyp)
  • Update EULA and CEIP prompt messages with hint on how to avoid the interactive prompt (#548, @prkalle)
  • Updated telemetry metrics collection to account for tanzu context type. Also, fixed the issue to ignore hashing the plugin name as args in "tanzu plugin" subcommand (#550, @prkalle)
  • tanzu config set and tanzu config unset commands --help messages are updated. (#544, @chandrareddyp)
  • Replace a few remaining mention of tanzu plugin delete with tanzu plugin uninstall. (#575, @marckhouzam)
  • Prefer "Note:" prefixes in user output. (#584, @marckhouzam)
  • Improve documentation for autocompletion and ActiveHelp. (#578, @marckhouzam)
  • 'tanzu generate-all-docs' generates core commands recursively (#135, @vuil)

Dependencies

Added

Nothing has changed.

Changed

Read more

v1.1.0-rc.0

24 Oct 23:57
Compare
Choose a tag to compare
v1.1.0-rc.0 Pre-release
Pre-release

This release brings you:

  • Support for the arm64 architecture for Darwin (Mac)
    • Note: The Linux CLI binary for arm64 is only available as part of the release to allow testing plugins built for arm64. This build is not yet meant for production and is therefore marked as “unstable”.
  • UX improvements including dynamic shell completion for core CLI commands and flags
  • Bug fixes and optimizations made on top of the 1.0 release
  • Improvements in CLI context management including support for a new variant of kubernetes-based context which integrates with Cloud Services, one-way syncing of kubeconfig on context switch

Tanzu CLI Installation Instructions

If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.

✨ Features

Dynamic Shell Completion

  • Add dynamic shell completion for the commands "ceip", "version", "init", "completion", "generate-all-docs" (#519, @marckhouzam)
  • Add dynamic shell completion for the commands tanzu config command tree. (#520, @marckhouzam)
  • Add dynamic shell completion for the commands and flags under the tanzu context command tree (#501, @marckhouzam)
  • Add dynamic shell completion for the commands and flags under the tanzu plugin command tree (#513, @marckhouzam)
  • Shell completion now only suggests currently valid values for the --target flag. (#555, @marckhouzam)
  • Show a core command's short text in ActiveHelp when completing arguments (#561, @marckhouzam)

Context management

Supports new variant of kubernetes-based CLI context that integrates with CSP
Decouples plugin target from the type of CLI Context
Syncs active context in kubeconfig on CLI context switch

  • Add support to create Application Engine context (#487, @prkalle)
  • Adjust examples for "context create" (#517, @marckhouzam)
  • Decouple the Target association with the Context commands
    • The --target flag is deprecated over the newly introduced --type flag for the tanzu context list and tanzu context unset commands (#524, @anujc25)
  • Delete the kubeconfig pertained to the CLI context during "tanzu context delete" command execution. It is only applied for TAE context type deletion. (#542, @prkalle)
  • Ensure the kubernetes and application-engine current contexts are mutual exclusive (#523, @prkalle)
  • Support multi-file KUBECONFIG path in context creation and updated kubeconfig file path to use default kubeconfig path instead of $HOME/.kube-tanzu/config while creating context for TKG pinniped endpoint (#535, @prkalle)
  • Update "tanzu context create --type" UX to align "--type" options with other commands (#539, @prkalle)
  • tanzu context use of a Context that references a kubeconfig will also update the current context of the kubeconfig referenced (#505, @vuil)
  • Tanzu context list shows additional data for application-engine contexts (#510, @vuil)
  • The UX has been updated for the tanzu context delete and tanzu context unset commands to list plugins that are being deactivated. (#483, @chandrareddyp)
  • Delete the pinniped endpoint's kubecontext in the user's kubeconfig file during context delete command which was generated by CLI during context creation. (#568, @prkalle)
  • Rename 'application-engine' and 'TAE' naming references with 'tanzu' (#562, @prkalle)
  • Rename UCP names and ContextType with TAE(Tanzu Application Engine) (#514, @prkalle)
  • The tanzu contex create functionality updated, after context create, it performs the sync operation only for the newly created context, not for all active contexts.
  • The tanzu context use functionality updated, after activating the given context, it performs the sync operation only for the newly activated context, do not perform sync for all active contexts. (#521, @chandrareddyp)
  • The tanzu context use and tanzu context create commands' UX have been updated to list the plugins they're going to install. (#563, @chandrareddyp)

Support ARM64 CLI on Mac

... by falling back to install AMD64 plugins when the ARM64 version is not available

  • Allow fully using an ARM64 CLI on Mac (Darwin) by having the CLI install plugins for AMD64 when an ARM64 version of the plugin is not available. (#491, @marckhouzam)
  • Display the machine architecture of the CLI in the output of tanzu version (#540, @marckhouzam)

Plugin management improvements

  • Allow getting/installing plugins by specifying plugin-group version as vMAJOR or vMAJOR.MINOR or vMAJOR.MINOR.PATCH with tanzu plugin install --group and tanzu plugin group get commands (#494, @anujc25)
  • Mark the --uri flag as required for tanzu plugin source update. Cleanup and increase test coverage for the tanzu plugin source sub-commands. (#478, @marckhouzam)
  • Show log message on plugin installation based on various plugin installation states (#504, @anujc25)
  • Allow a user to delete all plugins of a single target using tanzu plugin delete all --target ... (#537, @marckhouzam)
  • Allow installing plugins with vMAJOR or vMAJOR.MINOR or vMAJOR.MINOR.PATCH versions with tanzu plugin install and tanzu plugin sync commands (#486, @anujc25)
  • Automatically suggest the --target flag in shell completion when a plugin name is ambiguous. (#553, @marckhouzam)
  • Enhance the output of tanzu plugin group get --all to show the type of plugins. (#526, @marckhouzam)
  • Make the --all flag of tanzu plugin group get not hidden. (#559, @marckhouzam)
  • The tanzu plugin install --group PLUGIN-GROUP-NAME command has been updated to list the plugins it's going to install. (#556, @chandrareddyp)
  • The tanzu plugin sync command user experience has been updated to list the plugins it's going to install for each active context. (#572, @chandrareddyp)
  • Update documentation for global plugins and legacy CLI versions. (#570, @marckhouzam)
  • Use the tanzu plugin uninstall command as a tanzu plugin delete alternative (#549, @anujc25)

🐛 Bug Fixes

  • Fix output text when deleting a context. (#531, @marckhouzam)
  • Fix the Catalog corruption issue (missing installed plugins) when running CLI in parallel (#472, @anujc25)
  • Fix missing target in plugin-tooling.mk file (#528, @marckhouzam)

🌱 Miscellaneous

  • Cleanup unused code around the previous use of feature flags for the context feature and the central repo feature. (#482, @marckhouzam)
  • Fix the usage section of the help text for the builder plugin. (#530, @marckhouzam)
  • Fix unit tests for "tanzu plugin delete" (#498, @marckhouzam)
  • Fix unit tests for plugin search (#481, @marckhouzam)
  • Improve unit testing for plugin lifecycle and remove unused code around the previous use of feature flags. (#484, @marckhouzam)
  • Provide a more detailed error when failing to read the central repository of plugins (#534, @marckhouzam)
  • Tanzu CLI is updated to latest go v1.21 (#490, @mpanchajanya)
  • A sample plugin with E2E test cases has been added to demonstrate the usage of the CLI E2E framework API. This addition is designed to help plugin developers quickly get started with the CLI E2E framework API. (#508, @chandrareddyp)
  • Cleanup extra file generated by unit tests. (#551, @marckhouzam)
  • Remove trailing space in example. (#522, @marckhouzam)
  • Show aliases in the help of tanzu kubernetes and tanzu tmc (#565, @marckhouzam)
  • Tanzu CLI developers can configure input data using the TANZU_CLI_E2E_INPUT_CONFIG_DATA_FILE_PATH environment variable. (#518, @chandrareddyp)
  • Update EULA and CEIP prompt messages with hint on how to avoid the interactive prompt (#548, @prkalle)
  • Updated telemetry metrics collection to account for application-engine context type. Also, fixed the issue to ignore hashing the plugin name as args in "tanzu plugin" subcommand (#550, @prkalle)
  • tanzu config set and tanzu config unset commands --help messages are updated. (#544, @chandrareddyp)

Dependencies

Added

Nothing has changed.

Changed

  • github.com/go-openapi/jsonreference: v0.20.1 → v0.20.2
  • github.com/onsi/ginkgo/v2: v2.10.0 → v2.12.0
  • github.com/onsi/gomega: v1.27.8 → v1.27.10
  • github.com/vmware-tanzu/tanzu-plugin-runtime: v1.0.0 → v1.1.0-rc.0
  • golang.org/x/crypto: v0.9.0 → v0.14.0
  • golang.org/x/mod: v0.10.0 → v0.12.0
  • golang.org/x/net: v0.10.0 → v0.17.0
  • golang.org/x/sync: v0.2.0 → v0.3.0
  • golang.org/x/sys: v0.8.0 → v0.13.0
  • golang.org/x/term: v0.8.0 → v0.13.0
  • golang.org/x/text: v0.9.0 → v0.13.0
  • golang.org/x/tools: v0.9.3 → v0.12.0
  • gotest.tools/v3: v3.0.3 → v3.3.0

Removed

Nothing has changed.

Full Changelog: v1.0.0...v1.1.0-rc.0