v3.0.0
2019年07月03日
This release is basically v2.1.0, with many post-v2.1.0 bugs fixed (in about 150 commits) and a in Go package paths.
We made a mistake - v2.1.0 should have been v3.0.0. Per the (which have improved a great deal recently), a release that’s already tagged v2 or higher should increment the major version when performing their first Go module-based release.
This advice applies to kustomize, since it was already at major version 2 when it began using Go modules to state its own dependencies in v2.1.0.
Historically, kustomize’s versioning policy didn’t involve Go modules and addressed only the command line tool’s behavior and the fields in a kustomization file. The underlying packages were an implementation detail, not under semantic versioning, because they weren’t intended for export (and should have all been under internal
). Thus although the v2.1.0 CLI is backward compatible with v2.0.3, the underlying package APIs are not.
With Go modules, the tool must assume that Go packages respect , so it can perform minimal version selection.
Aside - the set of kustomize packages outside internal
is too large, and over time, informed by package use, this API surface must shrink. Such shrinkage will trigger a major version increment.