π Keep Your Scaffold Updated
The migration guide covers upgrading from any supported version to the latest release.
For the smoothest upgrade path, use the AutoUpdate Plugin or run kubebuilder alpha update. Both use the same update logic to keep your project scaffold aligned with the latest Kubebuilder changes.
Other upgrade options are mainly intended for older projects that do not yet have cliVersion in their PROJECT file. Use them as a one-time step to reach a supported version, then continue using these update workflows.
β οΈ Breaking Changes
Only for users of the Helm Plugin (helm/v2-alpha)
- Standardize feature toggle naming from
enabletoenabled(#5736)
Action Required
Run:
kubebuilder edit --plugins=helm/v2-alpha --forceThen ensure that all occurrences of enable are renamed to enabled in:
<path>/chart/values.yaml
β¨ Upgrades
Adds support for Kubernetes 1.36 and Go 1.26.
- (go/v4) Upgrade Go from
1.25.7to1.26.0(#5670) - (go/v4) Upgrade controller-runtime from
v0.23.3tov0.24.1and Kubernetes dependencies to support Kubernetes1.36(#5671, #5710) - (go/v4) Upgrade controller-tools from
v0.20.1tov0.21.0(#5683) - (go/v4) Upgrade golangci-lint from
v2.11.4tov2.12.2(#5711)
β¨ New Features
- (go/v4) Pin ENVTEST version in generated projects (supported starting with controller-runtime
v0.24.0) (#5684) - (helm/v2-alpha) Generate optional NetworkPolicy resources by default when none are defined in the provided Kustomize configuration (#5708)
- (go/v4) Add a
depguardrule to deny usage of the Gosortpackage (#5755)
π Bug Fixes
- (helm/v2-alpha) Fix indentation of conditional volume mounts in generated manifests (#5678)
- (API) Fix file descriptor leak caused by deferred file closing inside loops in the external plugin handler (#5688)
- (API) Preserve external plugin flag values containing double hyphens (
--) (#5716) - (CLI) Fix panic caused by an unchecked type assertion in deprecation warning handling (#5689)
- (CLI) Fix
CloseFileErrorwrappingnilinstead of the actual close error (#5681) - (CLI) Fix redundant guard and swallowed checkout error in
alpha update push(#5694) - (CLI) Add context timeout to HTTP calls used by
alpha update(#5695) - (CLI) Correct capture group handling and improve error messages (#5714)
- (grafana/v1-alpha) Fix file handle leak when configuration loading fails (#5682)
- (helm/v2-alpha) Fix
edithanging on malformeddist/install.yamlfiles (#5753)
What's Changed
- π± chore: Pin setup-envtest to commit hash by @vitorfloriano in #5666
- π± Bump k8s.io/apimachinery from 0.35.4 to 0.36.0 by @dependabot[bot] in #5656
- β¨ chore(go/v4): Upgrade golang version from 1.25.7 to 1.26.0 by @camilamacedo86 in #5670
- β¨ (go/v4): Upgrade controller-runtime from v0.23.3 to v0.24.0 and k8s dependencies to support k8s 1.26 by @camilamacedo86 in #5671
- π (External Plugin Sample) Update k8s.io/apimachinery from v0.35.4 to v0.36.0 by @camilamacedo86 in #5673
- π± Bump github/codeql-action from 4.35.2 to 4.35.3 by @dependabot[bot] in #5675
- π± Bump github/codeql-action from 4.35.3 to 4.35.4 by @dependabot[bot] in #5680
- π± Bump golang.org/x/text from 0.36.0 to 0.37.0 by @dependabot[bot] in #5687
- β¨ (go/v4) Upgrade controller-tools from v0.20.1 to v0.21.0 by @camilamacedo86 in #5683
- π± Bump golang.org/x/tools from 0.44.0 to 0.45.0 by @dependabot[bot] in #5686
- π fix(helm/v2-alpha): correct indentation of conditional volume mounts by @felix-kaestner in #5678
- π (API): Fix file descriptor leak from defer inside loop in external plugin handler by @SebTardif in #5688
- π (CLI): Fix panic from unchecked type assertion in printDeprecationWarnings by @SebTardif in #5689
- π (CLI): Fix CloseFileError wrapping nil instead of actual close error by @SebTardif in #5681
- β¨ (go/v4): Pin the ENVTEST version in the scaffold, now supported starting with controller-runtime release v0.24.0 by @v47 in #5684
- π (grafana/v1alpha): Fix file handle leak on config read error by @SebTardif in #5682
- π± Bump helm.sh/helm/v3 from 3.20.2 to 3.21.0 by @dependabot[bot] in #5696
- π± Bump k8s.io/apimachinery from 0.36.0 to 0.36.1 by @dependabot[bot] in #5691
- π± Bump zizmorcore/zizmor-action from 0.5.3 to 0.5.4 by @dependabot[bot] in #5698
- π± Bump github/codeql-action from 4.35.4 to 4.35.5 by @dependabot[bot] in #5697
- π (CLI): Fix redundant guard and swallowed checkout error in alpha update push by @SebTardif in #5694
- π (CLI): Add context timeout to HTTP calls in alpha update by @SebTardif in #5695
- π± Bump zizmorcore/zizmor-action from 0.5.4 to 0.5.6 by @dependabot[bot] in #5699
- π± Bump goreleaser/goreleaser-action from 7.2.1 to 7.2.2 by @dependabot[bot] in #5700
- π± Bump github.com/onsi/ginkgo/v2 from 2.28.3 to 2.29.0 by @dependabot[bot] in #5702
- π± Bump github.com/onsi/gomega from 1.40.0 to 1.41.0 by @dependabot[bot] in #5701
- π Bump github.com/onsi/ginkgo/v2 from 2.28.3 to 2.29.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #5703
- π Bump github.com/onsi/gomega from 1.40.0 to 1.41.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #5704
- β¨ (go/v4) Upgrade controller-runtime from v0.24.0 to v0.24.1 by @camilamacedo86 in #5710
- π± Bump golangci/golangci-lint-action from 9.2.0 to 9.2.1 by @dependabot[bot] in #5713
- π± Bump github/codeql-action from 4.35.5 to 4.36.0 by @dependabot[bot] in #5712
- β¨ (helm/v2-alpha): Helm charts now include optional NetworkPolicy resources by default when none are defined in the informed Kustomize file. by @mattsu2020 in #5708
- π± (CLI): Add support for k8s 1.36 by @camilamacedo86 in #5674
- π (CLI) fix: correct wrong capture group and fix typos in error messages by @immanuwell in #5714
- π (go/v4): Enhance create webhook command help by @cmallikarjunah in #5720
- π± Bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #5721
- π± Bump github/codeql-action from 4.36.0 to 4.36.1 by @dependabot[bot] in #5722
- π± Bump devcontainers/ci from 0.3.1900000449 to 0.3.1900000450 by @dependabot[bot] in #5723
- π± (makefile): Add missing make lint command without fix flag by @camilamacedo86 in #5724
- π docs(helm/v2-alpha): list specific NetworkPolicy fallback files preserved without --force by @camilamacedo86 in #5727
- π± Bump github/codeql-action from 4.36.1 to 4.36.2 by @dependabot[bot] in #5728
- β¨(go/v4) Upgrade golang-ci from v2.11.4 to v2.12.2 by @camilamacedo86 in #5711
- π± Bump golang.org/x/text from 0.37.0 to 0.38.0 by @dependabot[bot] in #5729
- π (API) Preserve external plugin flag values containing double hyphens by @immanuwell in #5716
- π± Bump golang.org/x/mod from 0.36.0 to 0.37.0 by @dependabot[bot] in #5730
- π docs(externalPlugin) Update dependencies for external plugin sample by @camilamacedo86 in #5734
- π± chore(externalPlugins): Update go deps by @camilamacedo86 in #5739
- π± Rename depguard sort rule by @Yurii201811 in #5744
- π± fix(CLI): Lint issues faced with goconts checks and ensure better coverage to avoid regressions by @camilamacedo86 in #5735
- β οΈ fix(helm/v2alpha): standardize feature toggle naming from enable to enabled by @camilamacedo86 in #5736
- π±Enforce golangci-lint formatting in verify-lint by @popsiclelmlm in #5745
- π± Bump golang.org/x/tools from 0.45.0 to 0.46.0 by @dependabot[bot] in #5761
- π Bump github.com/onsi/ginkgo/v2 from 2.29.0 to 2.30.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #5760
- β¨ (go/v4) Add depguard linter to golangci.yml by @afzal442 in #5755
- π± Bump github.com/onsi/ginkgo/v2 from 2.29.0 to 2.30.0 by @dependabot[bot] in #5759
- π± Bump helm.sh/helm/v3 from 3.21.0 to 3.21.1 by @dependabot[bot] in #5762
- π (helm/v2-alpha): fix edit hang on malformed dist/install.yaml by @tanayarun in #5753
- π± Bump k8s.io/apimachinery from 0.36.1 to 0.36.2 by @dependabot[bot] in #5763
New Contributors
- @SebTardif made their first contribution in #5688
- @mattsu2020 made their first contribution in #5708
- @immanuwell made their first contribution in #5714
- @Yurii201811 made their first contribution in #5744
- @popsiclelmlm made their first contribution in #5745
- @tanayarun made their first contribution in #5753
Full Changelog: v4.14.0...v4.15.0