Releases: kubernetes-sigs/kustomize
cmd/config/v0.4.2
kustomize/v3.8.1
v3.8.1 continues work to rebase kustomize on kyaml.
Kustomize transformers in the v3.8 branch don't depend on kubernetes/* modules. Such dependence exists in the v3.7 branch.
The i/o code in v3.8 still depends on kubernetes/*, but this dependence is being removed to allow reintegration with kubectl.
This release purports to fix an issue arising from the switchover.
This release includes allowing empty lists in resources to be
explicitly declared and retained as such.
So YAML like
someList: []
won't be dropped in the course of transformation or formatting, as may happen to other empty fields.
Present but declaratively empty list (array) fields are handy as documentation and as
targets for array extension under the fine print of rfc6902.
It's likely going to be important to allow patches to add entries to list fields that are completely missing (creating such fields in the process, as long as openapi type declarations are respected), but that's a different issue.
partial Changelog
155411f Pin to kustomize/api v0.5.1
22ee7cb Pre v3.8.1; Add e2e tests pinned at v3.8.0
(Other changes in the kyaml module)
api/v0.5.1
Changelog
a63a472 Pin To Kyaml/v0.4.1
kustomize/v3.8.0
v3.8.0 has no new features, and no change in the API relative to v3.7.0, but the output will change.
The output may order fields within objects differently, and generally do a better job dropping empty fields. This should have no impact on cluster behavior, and no impact on object-to-object comparisons, but it may cause (text-based) YAML comparison tests to fail (in tests maintained outside the kustomize repository).
In v3.8.0, the transformations still (technically) depend on apimachinery, but by default won't use apimachinery code paths - they'll use kyaml instead. That's what changes the output.
If v3.8.0 causes problems for you, switch back to v3.7.0 for now, but please examine your tests, adjusting them to the new behavior, and file issues for anything that looks not just different, but incorrect.
This will help improve kyaml. kyaml, not apimachinery, is the backing library for k8s yaml manipulation going forward. This work is required to close #2506 (breaking dependence on apimachinery), which in turn blocks #1500.
There's no global flag to switch back to the old behavior. A global flag could have been introduced, but it would have been impractical. If the flag's default had been to use the old apimachinery code, nobody would have tried the new flag, thus nobody would have tried the new kyaml code. And switching flags in CD scripts is as annoying or more annoying than simply switching back to the 3.7.0 binary.
For those interested, a transformer in the 3.8.0 framework can use the old apimachinery code by using an explicit config containing the line
YAMLSupport = false
This option will, however, go away in the next release.
Post v3.8.0, all apimachery dependence will be removed. This will greatly simplify the code base and allow a new version of kustomize to be reintroduced to kubectl.
Changelog
5a02286 Switch kustomize to api/v0.5.0
api/v0.5.0
Changelog
d3a7335 Switch namespace and patch transformers to kyaml.
kustomize/v3.7.0
api/v0.4.2
Changelog
87c7a32 Drop grep invert-match shorthand flag to resolve conflict with log level verbosity
c12e95f Hide list-subst behind a flag
d4eb2c9 New cloud build scripts.
5fb238a Prep to release kustomize 3.7.0 on api v0.4.2
9567d7e Remove count field, convert error to warning
128e171 Sync everything to gopkg.in/yaml.v2 v2.3.0 via kyaml v0.3.4
622a121 Update build strategy.
42d1f7b Update cloudbuild.sh
kustomize/v3.6.1
api/v0.4.1
kustomize/v3.6.0
This release works via binary download, but in its initial form did not work with go install because some relative path replacement directives were mistakenly left in place.
FWIW, go install works with
go clean --modcache; go clean --cache;
GOPROXY=direct GOSUBDB=off GO111MODULE=on go install sigs.k8s.io/kustomize/kustomize/v3
Feel free to skip this and go directly to v3.6.1
Changelog
def978b pin kustomize to cmd/kubectl_v0_1_0