v1.2.0
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
pluginv1.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
ormission-control
) that does not have any plugins installed - proper sorting of all output
- 30% size reduction of the
- 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 thetanzu 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. Thebuilder
andtest
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
andtanzu 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 simplifybrew
operations. (#607, @marckhouzam) - Improve documentation to mention that the
vmware-tanzucli/essentials
plugin group is automatically included in anytanzu 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
andtanzu 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
andtanzu 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
- @shaheerkootteeri made their first contribution in #546
Full Changelog: v1.2.0-dev...v1.2.0