From 688e6965daab67cb29880c6d5fcfab50ad3b190e Mon Sep 17 00:00:00 2001 From: Lee Bernick Date: Tue, 12 Apr 2022 10:10:06 -0400 Subject: [PATCH] Add Go libraries compatibility policy This change proposes that breaking changes may be introduced to the Go client libraries, as long as existing yaml/json CRD definitions remain unaffected. Breaking changes to the Go client libraries do not affect the Dashboard team, as the Dashboard team no longer uses these libraries. The CLI team has decided that the impact of such changes on them is acceptable. --- api_compatibility_policy.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/api_compatibility_policy.md b/api_compatibility_policy.md index 368b0969c14..3c36f6a2fc0 100644 --- a/api_compatibility_policy.md +++ b/api_compatibility_policy.md @@ -85,3 +85,10 @@ These changes must be approved by [more than half of the project OWNERS](OWNERS) Tekton Pipelines [maintains a list of features that have been deprecated](https://github.com/tektoncd/pipeline/tree/main/docs/deprecations.md) which includes the earliest date each feature will be removed. + +## Go libraries compatibility policy + +Tekton Pipelines may introduce breaking changes to its Go client libraries, as long as these changes +do not impact users' yaml/json CRD definitions. For example, a change that renames a field of a CRD +would need to follow the policy on [backwards incompatible changes](#backwards-incompatible-changes), +but a change that renames the Go struct type for that field is allowed.