github kubernetes-sigs/kubebuilder v4.15.0

8 hours ago

πŸš€ 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 enable to enabled (#5736)

Action Required

Run:

kubebuilder edit --plugins=helm/v2-alpha --force

Then 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.7 to 1.26.0 (#5670)
  • (go/v4) Upgrade controller-runtime from v0.23.3 to v0.24.1 and Kubernetes dependencies to support Kubernetes 1.36 (#5671, #5710)
  • (go/v4) Upgrade controller-tools from v0.20.1 to v0.21.0 (#5683)
  • (go/v4) Upgrade golangci-lint from v2.11.4 to v2.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 depguard rule to deny usage of the Go sort package (#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 CloseFileError wrapping nil instead 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 edit hanging on malformed dist/install.yaml files (#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

Full Changelog: v4.14.0...v4.15.0

Don't miss a new kubebuilder release

NewReleases is sending notifications on new releases.