|
2 | 2 |
|
3 | 3 | All notable changes to this project are documented in this file. |
4 | 4 |
|
| 5 | +## 1.9.0 |
| 6 | + |
| 7 | +**Release date:** 2026-06-17 |
| 8 | + |
| 9 | +This minor release comes with new features for post-build variable substitution, |
| 10 | +drift detection, SOPS decryption and Kustomize build metadata, along with various |
| 11 | +bug fixes and dependency updates. |
| 12 | + |
| 13 | +### Kustomization |
| 14 | + |
| 15 | +Post-build substitutions are now stricter by default: the controller fails the |
| 16 | +reconciliation when a variable without a default value is referenced in the |
| 17 | +manifests but is missing from the input vars. This behavior is controlled by the |
| 18 | +`StrictPostBuildSubstitutions` feature gate, which is now enabled by default and |
| 19 | +can be opted out of. In addition, a new `.spec.postBuild.substituteStrategy: Always` |
| 20 | +option was introduced to always perform substitutions even when no variables are |
| 21 | +defined, which is useful when the substitution expressions all carry defaults |
| 22 | +(e.g. `${var:=default}`). |
| 23 | + |
| 24 | +Drift detection can now be fine-tuned with ignore rules. The new `.spec.ignore` |
| 25 | +field accepts a list of rules selecting JSON pointer paths (optionally scoped to |
| 26 | +specific targets) to exclude from both drift detection and the apply process. |
| 27 | + |
| 28 | +A new `.spec.buildMetadata` field allows enabling Kustomize build metadata |
| 29 | +annotations per Kustomization, supporting the `originAnnotations` and |
| 30 | +`transformerAnnotations` options. |
| 31 | + |
| 32 | +The controller now keeps resources that failed to be pruned in the |
| 33 | +`.status.inventory`, ensuring they remain tracked and can be retried on the next |
| 34 | +reconciliation instead of becoming untracked orphans. |
| 35 | + |
| 36 | +#### SOPS decryption |
| 37 | + |
| 38 | +SOPS decryption now supports generic Kubernetes workload identity for the |
| 39 | +OpenBao/Vault transit engine, allowing the controller to authenticate to OpenBao |
| 40 | +by exchanging a Kubernetes ServiceAccount token for a short-lived OpenBao token |
| 41 | +through a JWT-backed auth method, instead of using a static token. This is purely |
| 42 | +additive and non-breaking: the existing `sops.vault-token` Secret and `VAULT_TOKEN` |
| 43 | +environment variable paths are unchanged and take precedence. |
| 44 | + |
| 45 | +Age and SOPS have also been updated to support Age hybrid post-quantum encryption. |
| 46 | + |
| 47 | +### General updates |
| 48 | + |
| 49 | +In addition, the Kubernetes dependencies have been updated to v1.36, the controller |
| 50 | +is now built with Go 1.26 and the source-controller API has been upgraded to v1.9.0. |
| 51 | +The shared `DependencyReference` type was migrated to the `apis/meta` package, |
| 52 | +preserving backward compatibility through a type alias. |
| 53 | + |
| 54 | +Fixes: |
| 55 | +- Keep failed-to-prune resources in `.status.inventory` |
| 56 | + [#1665](https://github.com/fluxcd/kustomize-controller/pull/1665) |
| 57 | + |
| 58 | +Improvements: |
| 59 | +- Enable `StrictPostBuildSubstitutions` by default |
| 60 | + [#1671](https://github.com/fluxcd/kustomize-controller/pull/1671) |
| 61 | +- Introduce `substituteStrategy: Always` |
| 62 | + [#1672](https://github.com/fluxcd/kustomize-controller/pull/1672) |
| 63 | +- Add support for drift detection ignore rules |
| 64 | + [#1627](https://github.com/fluxcd/kustomize-controller/pull/1627) |
| 65 | +- Add `.spec.buildMetadata` optional field to Kustomization API |
| 66 | + [#1632](https://github.com/fluxcd/kustomize-controller/pull/1632) |
| 67 | +- Introduce generic Kubernetes workload identity for SOPS OpenBao/Vault |
| 68 | + [#1659](https://github.com/fluxcd/kustomize-controller/pull/1659) |
| 69 | +- Update Age and SOPS for Age post-quantum cypher |
| 70 | + [#1601](https://github.com/fluxcd/kustomize-controller/pull/1601) |
| 71 | +- Migrate `DependencyReference` to shared `apis/meta` type |
| 72 | + [#1656](https://github.com/fluxcd/kustomize-controller/pull/1656) |
| 73 | +- Update to Kubernetes 1.36 and Go 1.26 |
| 74 | + [#1660](https://github.com/fluxcd/kustomize-controller/pull/1660) |
| 75 | +- Upgrade source-controller API to v1.9.0 |
| 76 | + [#1674](https://github.com/fluxcd/kustomize-controller/pull/1674) |
| 77 | +- Various dependency updates |
| 78 | + [#1661](https://github.com/fluxcd/kustomize-controller/pull/1661) |
| 79 | + [#1662](https://github.com/fluxcd/kustomize-controller/pull/1662) |
| 80 | + [#1666](https://github.com/fluxcd/kustomize-controller/pull/1666) |
| 81 | + [#1667](https://github.com/fluxcd/kustomize-controller/pull/1667) |
| 82 | + [#1668](https://github.com/fluxcd/kustomize-controller/pull/1668) |
| 83 | + [#1669](https://github.com/fluxcd/kustomize-controller/pull/1669) |
| 84 | + |
5 | 85 | ## 1.8.5 |
6 | 86 |
|
7 | 87 | **Release date:** 2026-05-12 |
|
0 commit comments