Releases: vmware-tanzu/tanzu-plugin-runtime
v1.3.0-alpha.2
Changes by Kind
Feature
- Introduce two experimental fields in the PluginDescriptor, InvokedAs and SupportedContexttype to support plugin-level remapping (#164, @vuil)
Miscellaneous
- Add support for dynamic columns with the OutputWriter's
TableOutputType
output format (#168, @anujc25) - Add the new target
operations
(#163, @anujc25) - Added support to get kubeconfig for kubernetes context for GetKubeconfigForContext API (#162, @mpanchajanya)
- Set command displayname annotation when command is mapped (#165, @vuil)
- Update GetKubeconfigForContext API to accept Project ID instead of Project Name (#173, @prkalle)
- Update SetTanzuContextActiveResource API and GetTanzuContextActiveResource to use Project ID along with Project Name (#172, @prkalle)
Dependencies
Added
Nothing has changed.
Changed
- github.com/cpuguy83/go-md2man/v2: v2.0.2 → v2.0.3
- github.com/spf13/cobra: v1.7.0 → v1.8.0
Removed
Nothing has changed.
v1.3.0-alpha.1
Changes by Kind
Feature
- Introduce two experimental fields in the PluginDescriptor, InvokedAs and SupportedContexttype to support plugin-level remapping (#164, @vuil)
- Add the new target
operations
(#163, @anujc25) - Added support to get kubeconfig for kubernetes context for GetKubeconfigForContext API (#162, @mpanchajanya)
- Set command displayname annotation when command is mapped (#165, @vuil)
Dependencies
Added
Nothing has changed.
Changed
- github.com/cpuguy83/go-md2man/v2: v2.0.2 → v2.0.3
- github.com/spf13/cobra: v1.7.0 → v1.8.0
Removed
Nothing has changed.
Full Changelog: v1.3.0-alpha.0...v1.3.0-alpha.1
v1.2.0
Changes by Kind
Feature
- Add support for
clustergroup
for thetanzu
context. This updates the API signature for theGetKubeconfigForContext
and theSetTanzuContextActiveResource
(#142, @anujc25) - Support requesting CustomPath endpoint for kubeconfig with GetKubeconfigForContext API (#152, @anujc25)
- The runtime spinner API has been updated to allow passing a final message with prefixed log type indicator. (#149, @chandrareddyp)
Bug or Regression
-
NewOutputWriterSpinnerWithOptions
is being deprecated in favor of the more flexibleNewOutputWriterSpinner
implementation.NewOutputWriterSpinner
now supportsSetText
andStartSpinner
APIs. (#157, @anujc25)
Miscellaneous
- Added context and server sync tests (#101, @mpanchajanya)
- Added cross-version api compatibility tests for v1.0.2 (#111, @mpanchajanya)
Dependencies
Added
Nothing has changed.
Changed
Nothing has changed.
Removed
Nothing has changed.
Full Changelog: v1.1.0...v1.2.0
v1.2.0-rc.0
Changes by Kind
Feature
- Add support for
clustergroup
for thetanzu
context. This updates the API signature for theGetKubeconfigForContext
and theSetTanzuContextActiveResource
(#142, @anujc25) - Support requesting CustomPath endpoint for kubeconfig with GetKubeconfigForContext API (#152, @anujc25)
- The runtime spinner API has been updated to allow passing a final message with prefixed log type indicator. (#149, @chandrareddyp)
Miscellaneous
- Added context and server sync tests (#101, @mpanchajanya)
- Added cross-version api compatibility tests for v1.0.2 (#111, @mpanchajanya)
Dependencies
Added
Nothing has changed.
Changed
Nothing has changed.
Removed
Nothing has changed.
v1.2.0-alpha.0
Changes by Kind
Feature
- Add support for
clustergroup
for thetanzu
context. This updates the API signature for theGetKubeconfigForContext
and theSetTanzuContextActiveResource
(#142, @anujc25)
Miscellaneous
- Added context and server sync tests (#101, @mpanchajanya)
- Added cross-version api compatibility tests for v1.0.2 (#111, @mpanchajanya)
Dependencies
Added
Nothing has changed.
Changed
Nothing has changed.
Removed
Nothing has changed.
v1.1.0
Changes by Kind
API Changes
-
Add API for getting the TAE context active resource (#119, @prkalle)
-
Add API to get the kubeconfig for an arbitrary UCP resource (#100, @prkalle)
-
Add API to set active UCP resource for UCP context (#106, @prkalle)
-
Add GetContextsByType API for retrieve the list of contexts matching a particular context type. (#117, @vuil)
-
Add Target type "ucp" to indicate the type of Context used to interact with a Unified Control Plane endpoint (#97, @prkalle)
-
Add new API to return config directory to manage plugin owned settings (#99, @mpanchajanya)
-
Adds API to get and set accepted EULA versions from/to the config file (#126, @vuil)
-
Fix the
SyncPluginsForTarget
API to allow configuring theOutputStream
andErrorStream
externally. If not configured it defaults the writes toos.Stdout
andos.Stderr
(#88, @anujc25) -
Decouple the Target association with the Context object by introducing ContextType
The following APIs are marked as Deprecated:
SetCurrentContext
is deprecated. UseSetActiveContext
insteadGetCurrentContext
is deprecated. UseGetActiveContext
insteadRemoveCurrentContext
is deprecated. UseRemoveActiveContext
insteadGetAllCurrentContextsMap
is deprecated. UseGetAllActiveContextsMap
insteadGetAllCurrentContextsList
is deprecated. UseGetAllActiveContextsList
insteadSyncPluginsForTarget
is deprecated. UseSyncPluginsForContextType
instead
-
The
ClientConfig
API contains a notable datatype change of theCurrentContext
field frommap[Target]string
tomap[ContextType]string
.
Miscellaneous
- Display the machine architecture of the plugin binary in the output of
tanzu <plugin> info
(#118, @marckhouzam) - Fix plugin help text for global, kubernetes, mission-control targets (#94, @mpanchajanya)
- Fix the missing "interactiveMode" field in kubeconfig generated by GetKubeconfigForContext() API (#110, @prkalle)
- Make kubernetes and application-engine type current contexts mutual exclusive (#113, @prkalle)
- Added v0.90.0 Config APIs cross version compatibility tests (#98, @mpanchajanya)
- NewOutputWriter and NewOutputWriterWithSpinner APIs are deprecated in favor of NewOutputWriterWithOptions and NewOutputWriterSpinnerWithOptions respective. By default the writers created by the new APIs will render nonstrings in YAML/JSON output correctly. Callers that wish to retain the JSON/YAML output behavior of the deprecated APIs may update to use the new API counterparts, by additionally providing a WithAutoStringify() option in the OutputWriterOption list. (#115, @vuil)
- OutputWriter's JSON/YAML outputs non-string tabular fields correctly (#103, @vuil)
- Rename 'application-engine' and 'TAE' naming references with 'tanzu' (#127, @prkalle)
- Rename UCP names and Context Type with TAE(Tanzu Application Engine) (#108, @prkalle)
- Update golangci-lint to supported go 1.18 and disable deprecated linters (#104, @mpanchajanya)
- Update terms/flags list cli-wordlist.yml to reflect what are in used by plugin commands (#96, @vuil)
Dependencies
Added
Nothing has changed.
Changed
- golang.org/x/crypto: 75b2880 → v0.14.0
- golang.org/x/net: v0.8.0 → v0.17.0
- golang.org/x/sys: v0.6.0 → v0.13.0
- golang.org/x/term: v0.6.0 → v0.13.0
- golang.org/x/text: v0.8.0 → v0.13.0
Removed
Nothing has changed.
Full Changelog: v1.0.2...v1.1.0
v1.1.0-rc.0
Changes by Kind
Uncategorized
- Rename 'application-engine' and 'TAE' naming references with 'tanzu' (#127, @prkalle)
- Display the machine architecture of the plugin binary in the output of
tanzu <plugin> info
(#118, @marckhouzam) - If you are using the
CurrentContext
directly by processing the entireClientConfig
object some change might be required. However, we encourage teams to use fine-grained APIGetActiveContext
to get active context. (#112, @anujc25) - NewOutputWriter and NewOutputWriterWithSpinner APIs are deprecated in favor of NewOutputWriterWithOptions and NewOutputWriterSpinnerWithOptions respective. By default the writers created by the new APIs will render nonstrings in YAML/JSON output correctly. Callers that wish to retain the JSON/YAML output behavior of the deprecated APIs may update to use the new API counterparts, by additionally providing a WithAutoStringify() option in the OutputWriterOption list. (#115, @vuil)
- Cross version compatibility tests for v0.90.0 APIs( #98, @mpanchajanya )
- Add Target type "ucp" to indicate the type of Context used to interact with a Unified Control Plane endpoint (#97, @prkalle )
API Change:
- The
ClientConfig
API contains a notable datatype change of theCurrentContext
field frommap[Target]string
tomap[ContextType]string
. - Add GetContextsByType API (#117, @vuil )
- Add API to get and set accepted EULA versions from/to the config file (#126, @vuil)
- Update CLI command taxonomy word list (#96, @vuil )
- Fix the missing "interactiveMode" field in kubeconfig generated by GetKubeconfigForContext() API (#110, @prkalle)
- Make kubernetes and application-engine type current contexts mutual exclusive (#113, @prkalle)
- OutputWriter's JSON/YAML outputs non-string tabular fields correctly (#103, @vuil)
- Rename UCP names and Context Type with TAE(Tanzu Application Engine) (#108, @prkalle)
- Update golangci-lint to supported go 1.18 and disable deprecated linters (#104, @mpanchajanya)
- Add API for getting the TAE context active resource (#119, @prkalle )
- Add API to set active UCP resource for UCP context (#106, @prkalle )
- Add API to get the Kubeconfig for an arbitrary UCP resource (#100, @vuil )
- Add API to manage plugin owned settings (#99, @mpanchajanya )
Full Changelog: v1.0.2...v1.1.0-rc.0
v1.1.0-alpha.0
Changes by Kind
Uncategorized
-
Add CSPOrgID and EntitlementAccountNumber to telemetry options in the config (#80, @prkalle)
-
Add Deprecation annotation to the Deprecated APIs (#34, @anujc25)
-
Add configuration APIs for Certificate configuration (#62, @prkalle)
-
Add configuration APIs for Telemetry configuration (#78, @prkalle)
-
Add support for logger which can be consumed by the plugins for the logging to have a consistent logging experience (#24, @anujc25)
-
Added empty checks for config apis. Config APIs now doesn't allow bad data to persist in the config yaml files (#57, @mpanchajanya)
-
Added v0.90.0 Config APIs cross version compatibility tests (#98, @mpanchajanya)
-
Adds API to get and set accepted EULA versions from/to the config file (#126, @vuil)
API Change:
- The
ClientConfig
API contains a notable datatype change of theCurrentContext
field frommap[Target]string
tomap[ContextType]string
. - If you are using the
CurrentContext
directly by processing the entireClientConfig
object some change might be required. However, we encourage teams to use fine-grained APIGetActiveContext
to get active context. (#112, @anujc25)
- The
-
Display the machine architecture of the plugin binary in the output of
tanzu <plugin> info
(#118, @marckhouzam) -
Expose the
TANZU_CLI_LOG_LEVEL
environment variable to control the log level (#83, @anujc25) -
Fix plugin help text for global, kubernetes, mission-control targets (#94, @mpanchajanya)
-
Fix the Test plugin to include Target by default (#47, @anujc25)
-
Fix the
SyncPluginsForTarget
API to allow configuring theOutputStream
andErrorStream
externally. If not configured it defaults the writes toos.Stdout
andos.Stderr
(#88, @anujc25) -
Fix the missing "interactiveMode" field in kubeconfig generated by GetKubeconfigForContext() API (#110, @prkalle)
-
Introduce DefaultFeatureFlags into PluginDescriptor to enable plugins to configure default feature flags to store in config yaml file (#63, @mpanchajanya)
-
Introduce new additionalMetadata field in Context (#81, @mpanchajanya)
-
Legacy config apis are marked for deprecation . use new config next gen apis (#74, @mpanchajanya)
-
Make kubernetes and application-engine type current contexts mutual exclusive (#113, @prkalle)
-
Markdown generated by
generate-docs
command no long containsAutogenerated...
footer (#36, @vuil) -
NewOutputWriter and NewOutputWriterWithSpinner APIs are deprecated in favor of NewOutputWriterWithOptions and NewOutputWriterSpinnerWithOptions respective. By default the writers created by the new APIs will render nonstrings in YAML/JSON output correctly. Callers that wish to retain the JSON/YAML output behavior of the deprecated APIs may update to use the new API counterparts, by additionally providing a WithAutoStringify() option in the OutputWriterOption list. (#115, @vuil)
-
OutputWriter's JSON/YAML outputs non-string tabular fields correctly (#103, @vuil)
-
Prompt config accepts Validator functions to be performed on prompt answers (#61, @mpanchajanya)
-
Rename 'application-engine' and 'TAE' naming references with 'tanzu' (#127, @prkalle)
-
Rename UCP names and Context Type with TAE(Tanzu Application Engine) (#108, @prkalle)
-
Target kubernetes/mission-control will be displayed in help usage of plugins built with latest runtime (#73, @mpanchajanya)
-
The configuration entries for Discovery Sources have been moved to a new section under the top-level "cli" tag. The old "clientOptions.cli.discoverySources" section is no longer used and any content will be ignored. (#58, @marckhouzam)
-
Update PluginDescriptor to include the
target
field as a mandatory field as part of the contract (#17, @anujc25) -
Update golangci-lint to supported go 1.18 and disable deprecated linters (#104, @mpanchajanya)
-
Update terms/flags list cli-wordlist.yml to reflect what are in used by plugin commands (#96, @vuil)
Dependencies
Added
- github.com/chzyer/logex: v1.1.10
- github.com/chzyer/readline: 2972be2
- github.com/chzyer/test: a1ea475
- github.com/google/pprof: 94a9f03
- github.com/ianlancetaylor/demangle: 28f6c0f
- github.com/kr/pty: v1.1.1
Changed
- github.com/go-task/slim-sprig: 348f09d → 52ccab3
- github.com/golang/protobuf: v1.5.2 → v1.5.3
- github.com/google/go-cmp: v0.5.8 → v0.5.9
- github.com/inconshreveable/mousetrap: v1.0.1 → v1.1.0
- github.com/mattn/go-isatty: v0.0.11 → v0.0.16
- github.com/onsi/ginkgo/v2: v2.1.6 → v2.9.2
- github.com/onsi/gomega: v1.20.1 → v1.27.6
- github.com/spf13/cobra: v1.6.1 → v1.7.0
- github.com/yuin/goldmark: v1.2.1 → v1.4.13
- golang.org/x/crypto: v0.1.0 → v0.14.0
- golang.org/x/mod: v0.6.0 → v0.9.0
- golang.org/x/net: a158d28 → v0.17.0
- golang.org/x/sync: 67f06af → v0.1.0
- golang.org/x/sys: fbc7d0a → v0.13.0
- golang.org/x/term: 03fcf44 → v0.13.0
- golang.org/x/text: v0.3.7 → v0.13.0
- golang.org/x/tools: v0.1.12 → v0.7.0
- google.golang.org/protobuf: v1.28.0 → v1.28.1
- k8s.io/apimachinery: v0.25.4 → v0.26.2
- k8s.io/klog/v2: v2.70.1 → v2.80.1
- k8s.io/kube-openapi: 67bda5d → 172d655
- k8s.io/utils: ee6ede2 → 1a15be2
Removed
-
cloud.google.com/go: v0.97.0
-
github.com/PuerkitoBio/purell: v1.1.1
-
github.com/PuerkitoBio/urlesc: de5bf2a
-
github.com/aunum/log: 38d2e2c
-
github.com/beorn7/perks: v1.0.1
-
github.com/cespare/xxhash/v2: v2.1.2
-
github.com/emicklei/go-restful/v3: v3.8.0
-
github.com/evanphx/json-patch/v5: v5.6.0
-
github.com/fsnotify/fsnotify: v1.5.4
-
github.com/ghodss/yaml: v1.0.0
-
github.com/go-logr/zapr: v1.2.3
-
github.com/go-openapi/jsonpointer: v0.19.5
-
github.com/go-openapi/jsonreference: v0.19.5
-
github.com/go-openapi/swag: v0.19.14
-
github.com/golang/groupcache: 41bb18b
-
github.com/hpcloud/tail: v1.0.0
-
github.com/imdario/mergo: v0.3.12
-
github.com/josharian/intern: v1.0.0
-
github.com/mailru/easyjson: v0.7.6
-
github.com/matttproud/golang_protobuf_extensions: c182aff
-
github.com/munnerz/goautoneg: a7dc8b6
-
github.com/nxadm/tail: v1.4.8
-
github.com/onsi/ginkgo: v1.16.5
-
github.com/prometheus/client_golang: v1.12.2
-
github.com/prometheus/client_model: v0.2.0
-
github.com/prometheus/common: v0.32.1
-
github.com/prometheus/procfs: v0.7.3
-
github.com/spf13/afero: v1.2.2
-
go.uber.org/goleak: v1.1.12
-
go.uber.org/zap: v1.21.0
-
golang.org/x/oauth2: d3ed0bb
-
golang.org/x/time: 579cf78
-
gomodules.xyz/jsonpatch/v2: v2.2.0
-
google.golang.org/appengine: v1.6.7
-
gopkg.in/fsnotify.v1: v1.4.7
-
gopkg.in/tomb.v1: dd63297
-
k8s.io/api: v0.25.0
-
k8s.io/apiextensions-apiserver: v0.25.0
-
k8s.io/client-go: v0.25.0
-
k8s.io/component-base: v0.25.0
-
sigs.k8s.io/controller-runtime: v0.13.1
New Contributors
- @chandrareddyp made their first contribution in #14
- @dependabot made their first contribution in #45
Full Changelog: v0.0.1...v1.1.0-rc.0
v1.0.2
Changes by Kind
🐛 Bug Fixes
- Fix the
SyncPluginsForTarget
API to allow configuring theOutputStream
andErrorStream
externally. If not configured it defaults the writes toos.Stdout
andos.Stderr
(#88, @anujc25) - Deprecate
CmdTemplate
and Update the help text template go function to specify the plugin target (#95, @mpanchajanya)
Full Changelog: v1.0.0...v1.0.2
v1.0.0
Changes by Kind
Miscellaneous
- Add API for CEIP Opt-In configuration (#42, @prkalle)
- Add CSPOrgID and EntitlementAccountNumber to telemetry options in the config (#80, @prkalle)
- Add Deprecation annotation to the Deprecated APIs (#34, @anujc25)
- Add configuration APIs for Certificate configuration (#62, @prkalle)
- Add configuration APIs for Telemetry configuration (#78, @prkalle)
- Add support for logger which can be consumed by the plugins for the logging to have a consistent logging experience (#24, @anujc25)
- Added CLI discovery sources config APIs compatibility tests (#66, @mpanchajanya)
- Added Cross-version Server APIs Compatibility tests (#25, @mpanchajanya)
- Added Env Config APIs compatibility tests (#65, @mpanchajanya)
- Added Feature flag Config APIs compatibility tests (#28, @mpanchajanya)
- Added Legacy Client Config APIs compatibility tests (#67, @mpanchajanya)
- Added config metadata APIs compatibility tests (#68, @mpanchajanya)
- Added empty checks for config apis. Config APIs now doesn't allow bad data to persist in the config yaml files (#57, @mpanchajanya)
- Expose the
TANZU_CLI_LOG_LEVEL
environment variable to control the log level (#83, @anujc25) - Fix the Test plugin to include Target by default (#47, @anujc25)
- Introduce DefaultFeatureFlags into PluginDescriptor to enable plugins to configure default feature flags to store in config yaml file (#63, @mpanchajanya)
- Introduce new additionalMetadata field in Context (#81, @mpanchajanya)
- Legacy config apis are marked for deprecation . use new config next gen apis (#74, @mpanchajanya)
- Markdown generated by
generate-docs
command no long containsAutogenerated...
footer (#36, @vuil) - Prompt config accepts Validator functions to be performed on prompt answers (#61, @mpanchajanya)
- Provide experimental SyncPluginsForTarget API (#76, @vuil)
- Target kubernetes/mission-control will be displayed in help usage of plugins built with latest runtime (#73, @mpanchajanya)
- The configuration entries for Discovery Sources have been moved to a new section under the top-level "cli" tag. The old "clientOptions.cli.discoverySources" section is no longer used and any content will be ignored. (#58, @marckhouzam)
- Update PluginDescriptor to include the
target
field as a mandatory field as part of the contract (#17, @anujc25)
Dependencies
Added
- github.com/chzyer/logex: v1.1.10
- github.com/chzyer/readline: 2972be2
- github.com/chzyer/test: a1ea475
- github.com/google/pprof: 94a9f03
- github.com/ianlancetaylor/demangle: 28f6c0f
- github.com/kr/pty: v1.1.1
Changed
- github.com/go-task/slim-sprig: 348f09d → 52ccab3
- github.com/golang/protobuf: v1.5.2 → v1.5.3
- github.com/google/go-cmp: v0.5.8 → v0.5.9
- github.com/inconshreveable/mousetrap: v1.0.1 → v1.1.0
- github.com/mattn/go-isatty: v0.0.11 → v0.0.16
- github.com/onsi/ginkgo/v2: v2.1.6 → v2.9.2
- github.com/onsi/gomega: v1.20.1 → v1.27.6
- github.com/spf13/cobra: v1.6.1 → v1.7.0
- github.com/yuin/goldmark: v1.2.1 → v1.4.13
- golang.org/x/crypto: v0.1.0 → 75b2880
- golang.org/x/mod: v0.6.0 → v0.9.0
- golang.org/x/net: a158d28 → v0.8.0
- golang.org/x/sync: 67f06af → v0.1.0
- golang.org/x/sys: fbc7d0a → v0.6.0
- golang.org/x/term: 03fcf44 → v0.6.0
- golang.org/x/text: v0.3.7 → v0.8.0
- golang.org/x/tools: v0.1.12 → v0.7.0
- google.golang.org/protobuf: v1.28.0 → v1.28.1
- k8s.io/apimachinery: v0.25.4 → v0.26.2
- k8s.io/klog/v2: v2.70.1 → v2.80.1
- k8s.io/kube-openapi: 67bda5d → 172d655
- k8s.io/utils: ee6ede2 → 1a15be2
Removed
-
cloud.google.com/go: v0.97.0
-
github.com/PuerkitoBio/purell: v1.1.1
-
github.com/PuerkitoBio/urlesc: de5bf2a
-
github.com/aunum/log: 38d2e2c
-
github.com/beorn7/perks: v1.0.1
-
github.com/cespare/xxhash/v2: v2.1.2
-
github.com/emicklei/go-restful/v3: v3.8.0
-
github.com/evanphx/json-patch/v5: v5.6.0
-
github.com/fsnotify/fsnotify: v1.5.4
-
github.com/ghodss/yaml: v1.0.0
-
github.com/go-logr/zapr: v1.2.3
-
github.com/go-openapi/jsonpointer: v0.19.5
-
github.com/go-openapi/jsonreference: v0.19.5
-
github.com/go-openapi/swag: v0.19.14
-
github.com/golang/groupcache: 41bb18b
-
github.com/hpcloud/tail: v1.0.0
-
github.com/imdario/mergo: v0.3.12
-
github.com/josharian/intern: v1.0.0
-
github.com/mailru/easyjson: v0.7.6
-
github.com/matttproud/golang_protobuf_extensions: c182aff
-
github.com/munnerz/goautoneg: a7dc8b6
-
github.com/nxadm/tail: v1.4.8
-
github.com/onsi/ginkgo: v1.16.5
-
github.com/prometheus/client_golang: v1.12.2
-
github.com/prometheus/client_model: v0.2.0
-
github.com/prometheus/common: v0.32.1
-
github.com/prometheus/procfs: v0.7.3
-
github.com/spf13/afero: v1.2.2
-
go.uber.org/goleak: v1.1.12
-
go.uber.org/zap: v1.21.0
-
golang.org/x/oauth2: d3ed0bb
-
golang.org/x/time: 579cf78
-
gomodules.xyz/jsonpatch/v2: v2.2.0
-
google.golang.org/appengine: v1.6.7
-
gopkg.in/fsnotify.v1: v1.4.7
-
gopkg.in/tomb.v1: dd63297
-
k8s.io/api: v0.25.0
-
k8s.io/apiextensions-apiserver: v0.25.0
-
k8s.io/client-go: v0.25.0
-
k8s.io/component-base: v0.25.0
-
sigs.k8s.io/controller-runtime: v0.13.1
New Contributors
- @dependabot made their first contribution in #45
- @marckhouzam made their first contribution in #56
Full Changelog: v0.0.1...v1.0.0