Skip to content

v1.2.0

Compare
Choose a tag to compare
@github-actions github-actions released this 07 Feb 22:29
· 115 commits to main since this release

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