β¨ The new helm/v2-alpha plugin replaces the deprecated helm/v1-alpha and brings major improvements in flexibility and maintainability, championing changes driven by community feedback.
Chart values are now better exposed, enabling easier customization and addressing long-standing issues by consuming the kustomize-generated bundle from make build-installer instead of relying on fixed templates for chart generation.
Try it out with: kubebuilder edit --plugins=helm/v2-alpha. (More info)
v4.10.0 Go Module Install Issue
v4.10.0cannot be installed as a Go module (go mod download fails due to an invalid file path: .github/*.instructions.md).
CLI binaries work normally. The release has been retracted.
β¨ New features
(go/v4): Enable multi-architecture support in GitHub Actions and devcontainer scripts by dynamically detecting GOARCH. #5142
(go/v4): Allow ENV TEST version to be derived from replaces. #5096
(go/v4): Add support for custom webhook paths. #5171
(External Plugins API): Add PluginChain field to the external plugin API. #5161
(External Plugins API): Expose ProjectConfig to external plugins. #5165
β¨ Upgrades
(go/v4): Upgrade golangci-lint from v2.4.0 β v2.5.0. #5128
(go/v4): Upgrade controller-runtime from v0.22.1 β v0.22.4. (#5129, #5178)
(go/v4): Upgrade cert-manager used in e2e tests from v1.18.2 β v1.19.1. (#5133, #5136)
(go/v4): Upgrade Golang version from 1.24 β 1.24.6. #5186
π Bug fixes
(go/v4): Fix project scaffolding failure when directories contain spaces by quoting Makefile variables. #5139
(go/v4): Simplify init directory validation to only block Kubebuilder-specific files. #5154
(External Plugins API): Fix plugin configuration tracking when wrapped in bundles with custom domains. #5166
π Thanks to all contributors!
What's Changed
β¨ Add helm/v2-alpha addressing all feedbacks and aiming maintainability. Deprecated helm/v1-alpha in favor of helm/v2-alpha by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5058
π Tidy up completion.md by @abenn135 in https://github.com/kubernetes-sigs/kubebuilder/pull/5103
π± Bump k8s.io/apimachinery from 0.34.0 to 0.34.1 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5108
π Bump sigs.k8s.io/kubebuilder/v4 from 4.8.0 to 4.9.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5109
π± chore: enforce internal package import aliases by @bavarianbidi in https://github.com/kubernetes-sigs/kubebuilder/pull/5110
π : Update CronJob and Multiversion tutorials to use Status Conditions by @nerdeveloper in https://github.com/kubernetes-sigs/kubebuilder/pull/5087
π Quickstart: Add note about editing the resource by @guettli in https://github.com/kubernetes-sigs/kubebuilder/pull/5112
β¨: Add *.kubeconfig to .gitignore. by @guettli in https://github.com/kubernetes-sigs/kubebuilder/pull/5111
π± Bump github.com/onsi/ginkgo/v2 from 2.25.3 to 2.26.0 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5115
π± Ensure fixed version for certmanager in testdata samples by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5127
π± Bump golang.org/x/mod from 0.28.0 to 0.29.0 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5123
β¨ (go/v4) Upgrade to use golang-lint v2.5.0 by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5128
π± Bump golang.org/x/text from 0.29.0 to 0.30.0 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5122
π± Bump golang.org/x/tools from 0.37.0 to 0.38.0 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5125
β¨ Upgrade controller-runtime from v0.22.1 to v0.22.3 by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5129
π± Bump github/codeql-action from 3 to 4 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5120
π± Bump actions/setup-node from 5 to 6 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5131
π± Upgrade golang-ci lint in the github actions by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5132
β¨ (go/v4) Upgrade golang version from go 1.24 to 1.25 by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5130
β¨ (go/v4): Upgrade for e2e tests the cert-manager version used from v1.18.2 to v1.19.0 by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5133
β¨ (go/v4): Upgrade cert-manager version used on the tests from v1.19.0 to v1.19.1 by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5136
π (go/v4): Fix an issue where project scaffolding failed when directories contained spaces by quoting Makefile variables by @mayuka-c in https://github.com/kubernetes-sigs/kubebuilder/pull/5139
β¨ (go/v4): Allow ENV TEST version to be derived from replaces by @Shubhamag12 in https://github.com/kubernetes-sigs/kubebuilder/pull/5096
β¨ (go/v4) Enable multi-architecture support in GitHub Actions and devcontainer scripts by dynamically detecting GOARCH by @gjrtimmer in https://github.com/kubernetes-sigs/kubebuilder/pull/5142
π± Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5145
π± Bump github.com/onsi/ginkgo/v2 from 2.26.0 to 2.27.1 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5140
π± Bump github.com/onsi/ginkgo/v2 from 2.27.1 to 2.27.2 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5150
π (helm/v2-alpha): Fixed an issue where the ServiceMonitor resource name did not include the default prefix applied by Kustomize. by @liam-mackie in https://github.com/kubernetes-sigs/kubebuilder/pull/5119
π (helm/v2alpha): allow manager values to be customized properly by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5147
π Update Readme - Remove Warning Note by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5153
π± Add k8s 1.34 version set for tooling - prow tests by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5146
π± Add Agents.MD with an alias for .github/.instructions.md to support AI tools by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5152
π (multiversion-tutorial): Show v2 webhook implementation alongside v1 by @Copilot in https://github.com/kubernetes-sigs/kubebuilder/pull/5159
π± Update test environment to Kubernetes 1.34 to match scaffolded projects by @Copilot in https://github.com/kubernetes-sigs/kubebuilder/pull/5157
β¨ (External Plugins API) Add PluginChain field to external plugin API by @Copilot in https://github.com/kubernetes-sigs/kubebuilder/pull/5161
π add e2e test to validate webhook conversion between versions in the tutorials by @wazery in https://github.com/kubernetes-sigs/kubebuilder/pull/5069
π± fix lint issue for expected dupl interface implementation by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5167
π (docs): Update CONTRIBUTING.md guidance to remove gost emoji since it is never used by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5168
π± Increase unit test coverage by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5169
π (helm/v2-alpha): ensure that certmanager option is exposed always by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5173
π (helm/v2alpha) Use manager instead of controllerManager to expose manager values by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5174
β¨ (feat): Expose ProjectConfig to external plugins by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5165
β¨ (helm/v2-alpha): Make webhook and metrics ports configurable by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5172
π± (CLI) Add unit tests for cli alpha generate.go by @mayuka-c in https://github.com/kubernetes-sigs/kubebuilder/pull/5074
π± Fix make test-e2e-local to run on mac and linux by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5170
π (fix): Fix plugin configuration tracking when wrapped in bundles with custom domains by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5166
β¨ Upgrade controller-runtime from 0.22.3 to 0.22.4 by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5178
β¨ Add support for custom webhook paths by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5171
π (book): Update note about Windows support by @vitorfloriano in https://github.com/kubernetes-sigs/kubebuilder/pull/5179
π : fix(docs): display copy button on codeblocks by @vitorfloriano in https://github.com/kubernetes-sigs/kubebuilder/pull/5184
π± chore: Move to maintained yaml library by @mrueg in https://github.com/kubernetes-sigs/kubebuilder/pull/5182
π± (ci): Fix testdata generation by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5185
π (docs/ui): better format for warnings by @vitorfloriano in https://github.com/kubernetes-sigs/kubebuilder/pull/5188
π± Bump golangci/golangci-lint-action from 8 to 9 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5189
π Improve AGENTS.md by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5195
β¨ (go/v4): Allow informing Go module for external APIs when pinning a downgraded version is required by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5194
π Downgrade Go to 1.24.6 and standardize version across codebase by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5186
π± Bump golang.org/x/mod from 0.29.0 to 0.30.0 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5191
π± (alpha): Remove redundant alpha generate e2e tests by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5196
π± Bump golang.org/x/text from 0.30.0 to 0.31.0 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5192
π± Bump helm.sh/helm/v3 from 3.19.0 to 3.19.1 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5193
π± (grafana): Relocate scaffold tests to grafana directory and increase test coverage by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5197
π± Bump k8s.io/apimachinery from 0.34.1 to 0.34.2 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5198
π± Fix test-coverage to include only directories where are covered by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5199
π (go/v4): Simplify init directory validation to only block kubebuilder files by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5154
π± Reorganise tests: separate unit and integration tests with build tags by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5200
π± Bump golang.org/x/tools from 0.38.0 to 0.39.0 by @dependabot[bot] in https://github.com/kubernetes-sigs/kubebuilder/pull/5201
π Improve docs layout and collapse code from tutorials by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5202
π (doc): Cleanup by removing TODO sections by @camilamacedo86 in https://github.com/kubernetes-sigs/kubebuilder/pull/5203
New Contributors
@abenn135 made their first contribution in https://github.com/kubernetes-sigs/kubebuilder/pull/5103
@gjrtimmer made their first contribution in https://github.com/kubernetes-sigs/kubebuilder/pull/5142
@liam-mackie made their first contribution in https://github.com/kubernetes-sigs/kubebuilder/pull/5119
@mrueg made their first contribution in https://github.com/kubernetes-sigs/kubebuilder/pull/5182
Full Changelog: https://github.com/kubernetes-sigs/kubebuilder/compare/v4.9.0...v4.10.0