🚀 Automation to Upgrade your Project
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: they regenerate your project from scratch, reapply your changes, and bring in everything listed below. Your PROJECT file needs cliVersion for this to work.
Other upgrade options are mainly intended for older projects that do not yet have cliVersion in their PROJECT file. These are the paths in the migration guide: follow the AI instructions, or make the changes by hand, to re-scaffold your project with the latest version and put your own changes back on top. Use them as a one-time step to reach a supported version, then continue using these update workflows.
❗Recommended Scaffold Fixes to Apply
These are not breaking changes but are significant bug fixes. If you upgrade with Applies to projects with webhooks. The generated webhook structs were renamed. #5877
To apply this by hand, open For example, the sample: alpha update or the AutoUpdate Plugin, you get them automatically. Apply them by hand only if you update your project manually.
Fix the default webhook names to align with the controller-runtime interfaces
<Kind>CustomDefaulter is now <Kind>Defaulter, and <Kind>CustomValidator is now <Kind>Validator.
internal/webhook/<version>/<kind>_webhook.go and rename both types. Then update three more places: the method receivers, the WithDefaulter and WithValidator calls in Setup<Kind>WebhookWithManager, and <kind>_webhook_test.go.
captain_webhook.go and captain_webhook_test.go.
If you skip it: nothing breaks. Your code still compiles and runs. But the next webhook you add with Applies to every project with an API or a webhook. The teardown used to run inside To apply this by hand, replace the Suites that passed before may now fail. The failure was always there. The retry only hid it.
For example, the sample: create webhook uses the new names, so one project ends up with both <Kind>CustomValidator and <Kind>Validator.
Fix the
envtest suite teardownAfterSuite no longer retries testEnv.Stop(). #5838
Eventually, which kept retrying after a SIGKILL. That hid real shutdown failures. Kubebuilder now checks the result once.
AfterSuite body in suite_test.go and webhook_suite_test.go with:
err := testEnv.Stop()
Expect(err).NotTo(HaveOccurred())
suite_test.go and webhook_suite_test.go. To learn more, see Configuring envtest.
If you skip it: your tests keep passing, and that is the problem. A failing Applies to every project. It matters most if you uncommented The old policy allowed traffic on port To apply this by hand, replace the If you set To limit which namespaces a webhook applies to, use Run For example, the sample: testEnv.Stop() is retried away instead of reported, so a control plane that did not shut down leaves kube-apiserver and etcd processes behind without telling you.
Fix the webhook NetworkPolicy
- ../network-policy in config/default/kustomization.yaml. The webhook NetworkPolicy was fixed. #5905
443, and only from namespaces labeled webhook: enabled. Two things were wrong with that. Port 443 is the Service port, not the port the manager listens on. And the API server does not run in a labeled namespace. So turning the policy on blocked every webhook call.
ingress block in config/network-policy/allow-webhook-traffic.yaml with:
ingress:
- ports:
- port: 9443
protocol: TCP
--webhook-port, use your own port instead of 9443. You can also remove the webhook: enabled label from your namespaces, because nothing uses it now.
namespaceSelector instead. This release ships controller-tools v0.22.0, which adds a patch option to the webhook marker, so you can set the selector in your code (controller-tools#1339):
// +kubebuilder:webhook:path=/mutate-v1-pod,mutating=true,...,patch=`{"namespaceSelector":{"matchLabels":{"webhook-enabled":"true"}}}`make manifests to regenerate your MutatingWebhookConfiguration and ValidatingWebhookConfiguration.
allow-webhook-traffic.yaml.
If you skip it: on a cluster whose CNI does not enforce NetworkPolicy, nothing changes. On one that does, such as Calico or Cilium, enabling the policy blocks webhook traffic: the rule allows pod port 443, but the manager listens on 9443. Either way, the webhook: enabled label gave a false sense of protection. NetworkPolicy cannot decide which namespaces a webhook applies to — only namespaceSelector in the webhook configuration can.
What's Changed
⚠️ Breaking Changes
Only for projects using the AutoUpdate plugin (autoupdate/v1-alpha)
GitHub Models support has been removed. #5777
Update the plugin and review the changes:
kubebuilder edit --plugins=autoupdate/v1-alpha --forceFor example, the sample:
auto_update.yml.
Only for projects using the Helm plugin (helm/v2-alpha)
Two chart values are now required. Without them, your chart fails to render.
Upgrade your project using alpha update or alternatively, regenerate the chart with:
kubebuilder edit --plugins=helm/v2-alpha --forceNew values are not added automatically. Add them manually by comparing your chart with the v4.16.0 sample values file.
Three changes need your attention:
manager.healthProbe.portis new, and the chart has no default for it. If you do not add it, the chart fails to render withnil pointer evaluating interface {}.port. Add it undermanager: #5866, #5888
manager:
healthProbe:
port: 8081serviceAccount.nameis now required when you setserviceAccount.enabled: false. Before, the chart rendered and pointed at a ServiceAccount that did not exist. Now it fails instead. Set a name, or usename: defaultto use the namespace default ServiceAccount. #5833- Helm now runs the values in
manager.argsthrough thetplfunction. If an argument contains{{ }}, Helm evaluates it as a template. Before, it passed the argument through as plain text. #5927
For example, the sample:
values.yaml,manager.yaml, and_helpers.tpl.
Only for projects with webhooks under api/<version>/
The deprecated --legacy flag has been removed. Projects already using internal/webhook/<version>/ are not affected. #5837
Move your webhooks from api/<version>/ to internal/webhook/<version>/ and update them to use interfaces compatible with controller-runtime v0.20.0 and later. Follow the migration guide with AI instructions.
For example, the sample:
internal/webhook/v1/. For more context, see the Kubebuilder v4.3.0 release notes, where the--legacyflag was introduced to help users migrate from controller-runtime deprecations.
✨ Upgrades
- (go/v4) Upgrade cert-manager from
v1.20.2tov1.21.1(#5799, #5861, #6000) - (go/v4, deploy-image/v1-alpha) Upgrade golangci-lint to
v2.13.1, and replace the deprecatedRequeuefield withRequeueAfterin the scaffolds and the docs (#5992) - (go/v4) Upgrade controller-tools from
v0.21.0tov0.22.0(#6025) - (go/v4) Upgrade controller-runtime from
v0.24.1tov0.25.0(#6026) - (go/v4) Add support for Kubernetes 1.37. This upgrades the
k8s.io/*dependencies fromv0.36.0tov0.37.0, makeskubebuilder versionreport Kubernetes1.37.0, and runs the end-to-end tests against KINDv1.37.0(#6027)
✨ New Features
- (go/v4) Add alpha Server-Side Apply scaffolding with
create api --ssa. See Server-Side Apply (#5458, #5829, #5840, #5939, #6024) - (go/v4) Let you change the base image used to build the manager with the
BASE_IMAGEbuild argument (#5915) - (go/v4, API) Check the path of an external API sooner, reject a path that is only a domain, and show a clearer error when the path is wrong (#5766, #5903)
- (go/v4) Set webhook configuration fields such as
namespaceSelectorandobjectSelectordirectly from the+kubebuilder:webhook:marker, using the newpatchoption that comes with controller-toolsv0.22.0(controller-tools#1339) - (CLI) Show the plugin prefix in the CLI help only when it is needed, so the help is easier to read (#5843)
- (helm/v2-alpha) Let you set the manager health probe port with
manager.healthProbe.port(#5866, #5888) — see Breaking Changes - (go/v4, helm/v2-alpha) Let you set a custom webhook port, and keep the manager and the Helm chart using the same value (#5868, #5884, #5896)
- (helm/v2-alpha) Let you use Helm templates in
manager.argsvalues (#5927) — see Breaking Changes - (helm/v2-alpha) Let you add your own labels and annotations to the ServiceMonitor. See Metrics (#5994)
- (helm/v2-alpha, go/v4) add support for stop the webhook server when webhook.enabled=false (#6031,6034)
🐛 Bug Fixes
- (go/v4) Rename the generated webhook types from
<Kind>CustomDefaulterand<Kind>CustomValidatorto<Kind>Defaulterand<Kind>Validator, and correct the comments that name the interfaces they implement (#5877) — see Recommended Scaffold Fixes - (go/v4) Use the Go 1.26
new(expr)syntax in generated code instead ofk8s.io/utils/ptr, and stop turning off thenewexprcheck in the generated.golangci.yml(#5775) - (go/v4) Report
envtestshutdown failures instead of hiding them behind retries (#5838) — see Recommended Scaffold Fixes - (go/v4) Find the right resource when you run
create webhookfor an external API. Kubebuilder now reuses the configuration already recorded inPROJECT, matches on Group, Version and Kind because the caller does not know the domain, and lets you pick with--external-api-domainwhen more than one recorded resource matches (#5792, #5917, #5932) - (go/v4) Fix the generated webhook code and tests for external APIs, for projects with several APIs, and when you add webhooks one at a time (#5839, #5871)
- (go/v4) Explain the Podman limitation in the generated
.dockerignore, so you can find the workaround when a Podman build fails (#5887, #5914) - (go/v4, CLI) Replace the
YEARplaceholder only when it stands alone, so words that containYEARare left alone (#5809) - (go/v4, helm/v2-alpha) Fix the webhook NetworkPolicy, which stopped the API server from reaching your webhooks (#5905) — see Recommended Scaffold Fixes
- (helm/v2-alpha) Make
make helm-deployuse the controller image you configured (#5765) - (helm/v2-alpha) Find the right manager Deployment and container, even when the file holds several Deployments or the YAML fields are in a different order (#5781, #5784)
- (helm/v2-alpha) Fix the ServiceAccount name, keep its labels and annotations, and require a name when you turn ServiceAccount creation off (#5757, #5833, #5852) — see Breaking Changes
- (helm/v2-alpha) Stop adding your custom volumes twice (#5764)
- (helm/v2-alpha) Stop the chart from failing to render when you do not set pod annotations (#5795)
- (helm/v2-alpha) Set
prometheus.enabledfrom the generated kustomize output, instead of always setting it tofalse(#5913) - (helm/v2-alpha) Pass the manager
--metrics-secureargument through to the chart'smetrics.securevalue. See Metrics (#5951) - (CLI) Delete the temporary files and Git branches that
alpha updatecreates, including when it fails (#5705, #5830) - (CLI) Read the
PROJECTfile only for the commands that need it.version,help, andcompletionnow work even when the current directory holds an invalidPROJECTfile (#5845, #5942, #6030) - (CLI) Delete the
alpha generateoutput directory without calling the shell, which removes a shell injection risk (#5920) - (CLI) Stop
alpha generatefrom deleting the current directory when you use--input-dirwithout--output-dir. It now regenerates the project in place (#5957) - (CLI) Keep your Grafana changes when
alpha generateruns in place (#5968) - (CLI) Update retired Go plugin keys in
PROJECTtogo.kubebuilder.io/v4.go/v3-alphaused to becomego/v4-alpha, which does not exist, becausego/v3matched first.go/v4-alphais now retired too (#6023)
Full Changelog and New contributors
What Changed
- 🌱 Bump github.com/onsi/gomega from 1.41.0 to 1.42.0 by @dependabot[bot] in #5768
- 📖 Bump github.com/onsi/gomega from 1.41.0 to 1.42.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #5770
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.30.0 to 2.31.0 by @dependabot[bot] in #5769
- 📖 Bump github.com/onsi/ginkgo/v2 from 2.30.0 to 2.31.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #5771
- 📖 (building-cronjob): uncomment make command by @stevedotmt in #5773
- 🐛 Clean up temp directory in regenerateProjectWithVersion by @SebTardif in #5705
- 🐛 (helm/v2-alpha): Fix templates to correctly resolve controller image repositories during make helm-deploy. by @naminari in #5765
- 🐛(go/v4): Use Go 1.26 new(expr) syntax instead of k8s.io/utils/ptr by @antonincms in #5775
- 🌱 : Bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #5779
- ⚠️ (autoupdate/v1-alpha): Remove GitHub Models integration from Kubebuilder and its auto-update tooling, as the service is no longer available to new users by @dongjiang1989 in #5777
- 🐛 fix(helm/v2-alpha): strip custom volumes from manager template to prevent duplication by @prash2512 in #5764
- 🐛 fix(helm/v2-alpha): now properly identify controller-manager Deployment with a manager container by @camilamacedo86 in #5781
- 📖 (CLI) Improve CLI help text and examples by @mattsu2020 in #5707
- ✨ (go/v4): (Alpha) Add support to Server-Side Apply by @camilamacedo86 in #5458
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.31.0 to 2.32.0 by @dependabot[bot] in #5785
- 🌱 Bump zizmorcore/zizmor-action from 0.5.6 to 0.5.7 by @dependabot[bot] in #5786
- 📖 Bump github.com/onsi/ginkgo/v2 from 2.31.0 to 2.32.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #5788
- 🌱 Bump helm.sh/helm/v3 from 3.21.1 to 3.21.2 by @dependabot[bot] in #5787
- 🌱 Bump github.com/onsi/gomega from 1.42.0 to 1.42.1 by @dependabot[bot] in #5790
- 🐛 fix(templates): update serviceAccountName condition to use string com… by @afzal442 in #5757
- ✨ (go/v4, API): Validate Resource.Path for external and non-external resources by @v47 in #5766
- 📖 : Bump github.com/onsi/gomega from 1.42.0 to 1.42.1 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #5791
- 🌱 Bump golang.org/x/tools from 0.46.0 to 0.47.0 by @dependabot[bot] in #5796
- 🌱 Bump actions/setup-go from 6.4.0 to 6.5.0 by @dependabot[bot] in #5794
- 📖 fix(docs): correct CronJob tutorial job pruning order by @RooobinYe in #5780
- ✨ (go/v4): upgrade certmanager from v1.20.2 to v1.20.3 by @camilamacedo86 in #5799
- 🐛 fix(helm/v2-alpha): fix nil pointer in pod annotations template by @prash2512 in #5795
- 🌱 Bump github.com/containerd/containerd from 1.7.32 to 1.7.33 by @dependabot[bot] in #5800
- 🌱 Bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 by @dependabot[bot] in #5802
- 🌱 Bump goreleaser/goreleaser-action from 7.2.2 to 7.2.3 by @dependabot[bot] in #5801
- 🐛 (go/v4,CLI): Restrict YEAR placeholder substitution by @sanmaxdev in #5809
- 🌱 Bump github/codeql-action/upload-sarif from 4.36.2 to 4.36.3 by @dependabot[bot] in #5816
- 🌱 Bump github/codeql-action/init from 4.36.2 to 4.36.3 by @dependabot[bot] in #5814
- 🌱 fix: cleanup fix docs marker by @sats-23 in #5811
- 🌱 Bump github/codeql-action/analyze from 4.36.2 to 4.36.3 by @dependabot[bot] in #5815
- 📖 Document the ssa PROJECT field and add a --ssa example to create api help by @didiberman in #5823
- 🌱 Rewrite boilerplate YEAR test in Ginkgo and extend SubstituteYear coverage by @didiberman in #5824
- 🐛 (CLI): always clean up alpha update temporary branches by @SebTardif in #5830
- 🌱 (go/v4): Add missing test coverage for the --ssa workflow by @BadisLaffet1 in #5831
- ⚠️ (go/v4): Remove deprecated
legacywebhook flag introduced to help users migrate to the new layout where webhooks are under internal path by @hexbinoct in #5837 - ✨ (go/v4) Follow-up on #5458 (unreleased): Always emit resource:path for cluster-scoped SSA resources by @didiberman in #5829
- 🐛 (go/v4) Scaffolded test suites no longer wrap testEnv.Stop() in Eventually, which masked teardown failures by retrying after a SIGKILL. Teardown is now asserted once. by @camilamacedo86 in #5838
- 🌱 Configure Dependabot to monitor scaffolded GitHub Actions by @Vaishnav88sk in #5842
- 🌱 Bump golang.org/x/text from 0.38.0 to 0.39.0 by @dependabot[bot] in #5846
- ✨ Follow-up on #5458 (unreleased):
create api --ssawarns and continues when markers cannot be injected, with more robust file updates and better test coverage. by @camilamacedo86 in #5840 - ✨ (CLI): Hide For plugin prefix in CLI help unless explicitly needed by @Vaishnav88sk in #5843
- 🐛 fix(helm/v2-alpha): FindManagerContainerRange for yaml.Marshal sorted fields by @prash2512 in #5784
- 🐛 fix(helm/v2-alpha) points to an SA that does not exist when sa.enabled: false and no name is set and ensure properly coverage of SA variantes documented by @camilamacedo86 in #5833
- 🐛 fix(helm/v2-alpha) labels and annotations preserved without duplications by @camilamacedo86 in #5852
- 🌱 Bump github/codeql-action/init from 4.36.3 to 4.37.0 by @dependabot[bot] in #5858
- 🌱 Bump github/codeql-action/analyze from 4.36.3 to 4.37.0 by @dependabot[bot] in #5854
- 🌱 Bump github/codeql-action/upload-sarif from 4.36.3 to 4.37.0 by @dependabot[bot] in #5857
- 🌱 Bump golang.org/x/text from 0.39.0 to 0.40.0 by @dependabot[bot] in #5856
- 🌱 Bump golang.org/x/mod from 0.37.0 to 0.38.0 by @dependabot[bot] in #5855
- 🌱 Avoid file dependency in license check by @sanmaxdev in #5860
- ✨ (go/v4): Upgrade cert-manager to 1.21.0 by @camilamacedo86 in #5861
- 🌱 Bump golang.org/x/tools from 0.47.0 to 0.48.0 by @dependabot[bot] in #5862
- 🌱 Bump helm.sh/helm/v3 from 3.21.2 to 3.21.3 by @dependabot[bot] in #5863
- ✨ (helm/v2-alpha): make the manager health probe port configurable by @hexbinoct in #5866
- 🐛 fix(go/v4) Webhook suite tests now register the scheme for all kinds in the suite, not only the first. Fixes "no kind is registered for the type" when testing webhooks for External APIs. by @camilamacedo86 in #5839
- 🐛 (CLI) Ignore invalid PROJECT paths for version and help by @immanuwell in #5845
- 📖 Correct “Edge-Base” to “Edge-Based” by @tp in #5869
- 🐛 (go/v4) Fix webhook scaffold for external types by matching resources by Group+Version+Kind only — Domain is unknown to callers looking up external resources by @v47 in #5792
- ✨ (go/v4,helm/v2-alpha): Add support for custom webhook ports to the manager by @flyzstu in #5868
- 🌱 (helm/v2-alpha) pin manager label applier tests in by @v47 in #5873
- 🐛(go/v4): drop Custom prefix from scaffolded webhook struct names by @v47 in #5877
- 🌱 Bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 by @dependabot[bot] in #5879
- 🌱 Bump github/codeql-action/upload-sarif from 4.37.0 to 4.37.1 by @dependabot[bot] in #5880
- 🌱 Bump actions/setup-go from 6.5.0 to 7.0.0 by @dependabot[bot] in #5881
- 🌱 Bump github/codeql-action/analyze from 4.37.0 to 4.37.1 by @dependabot[bot] in #5882
- 🌱 Bump github/codeql-action/init from 4.37.0 to 4.37.1 by @dependabot[bot] in #5883
- 🐛 (helm/v2-alpha): Gate webhook port argument (follow-up to #5868) by @flyzstu in #5884
- 🐛 (go/v4): Add context import for incremental webhooks by @immanuwell in #5871
- ✨ (helm/v2-alpha): document health port options and extend coverage. Move health probe under the manager ( follow up #5866 ) by @camilamacedo86 in #5888
- 🌱 Bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in #5889
- 🌱 Bump github/codeql-action/upload-sarif from 4.37.1 to 4.37.2 by @dependabot[bot] in #5893
- 🌱 Bump github/codeql-action/init from 4.37.1 to 4.37.2 by @dependabot[bot] in #5894
- 🌱 Bump github/codeql-action/analyze from 4.37.1 to 4.37.2 by @dependabot[bot] in #5895
- 🌱 (ci): authenticate pinact with GITHUB_TOKEN to avoid API rate limits by @somaz94 in #5864
- 🌱 (helm/v2-alpha): Extract webhook port from manager --webhook-port argument (follow up of #5884 and #5868) by @flyzstu in #5896
- 🐛 (go/v4): make scaffolded .dockerignore build on Podman and the classic Docker builder by @hexbinoct in #5887
- 🌱 Bump github/codeql-action/upload-sarif from 4.37.2 to 4.37.3 by @dependabot[bot] in #5899
- 🌱 Bump github/codeql-action/init from 4.37.2 to 4.37.3 by @dependabot[bot] in #5897
- 🌱 Bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in #5898
- 🌱 Bump github/codeql-action/analyze from 4.37.2 to 4.37.3 by @dependabot[bot] in #5900
- 🌱 refactor(helm/v2-alpha): centralize label helpers in labels.go by @v47 in #5875
- 🌱 Bump ossf/scorecard-action from 2.4.3 to 2.4.4 by @dependabot[bot] in #5907
- 🌱 Bump zizmorcore/zizmor-action from 0.6.0 to 0.6.1 by @dependabot[bot] in #5908
- 🌱 Bump k8s.io/apimachinery from 0.36.2 to 0.36.3 by @dependabot[bot] in #5909
- ✨ (go/v4, API): reject bare-domain external Resource.Path by @camilamacedo86 in #5903
- 🐛 (helm/v2-alpha):
prometheus.enabledin the generated chart now reflects the kustomize output (true when a ServiceMonitor is present) instead of always defaulting to false. by @camilamacedo86 in #5913 - 🌱 (go/v4): Assert domain is preserved when external flags are not re-supplied by @tanayarun in #5924
- 🐛 (CLI): clean alpha generate output dir without shell injection by @SebTardif in #5920
- 🌱 Bump go.yaml.in/yaml/v3 from 3.0.4 to 3.0.5 by @dependabot[bot] in #5925
- 🌱 (go/v4): revert #5887 scaffold change before release and document the Podman limitation. Keep CI check and enhance it. by @camilamacedo86 in #5914
- 🐛 fix(golang/v4): reuse external API config when creating webhooks by @GaurangKhanderay in #5917
- ✨ (helm/v2-alpha): Allow
manager.argsvalues to be templated by @asergeant01 in #5927 - ✨ (go/v4): Allow overriding the manager build base image via BASE_IMAGE build argument by @camilamacedo86 in #5915
- 📖 (docs): fix the cert-manager examples for external APIs by @camilamacedo86 in #5934
- 📖 Update testdata samples external plugin go deps by @camilamacedo86 in #5940
- 🌱added unit tests for the per-API ssa field by @v47 in #5943
- 🐛 (go/v4): keep the SSA markers when re-running create api --force without --ssa ( follow up, ssa not released yet ) by @camilamacedo86 in #5939
- 🌱 bump github/codeql-action/init from 4.37.3 to 4.37.4 by @dependabot[bot] in #5944
- 🌱 bump github/codeql-action/upload-sarif from 4.37.3 to 4.37.4 by @dependabot[bot] in #5945
- 🌱 bump github/codeql-action/analyze from 4.37.3 to 4.37.4 by @dependabot[bot] in #5946
- 🌱 bump zizmorcore/zizmor-action from 0.6.1 to 0.6.2 by @dependabot[bot] in #5950
- 🐛 (helm/v2-alpha): map --metrics-secure to the metrics.secure value by @hexbinoct in #5951
- 🌱 (ci): point the alpha generate workflow at internal/cli/alpha by @hexbinoct in #5954
- 🌱 bump oras.land/oras-go/v2 from 2.6.1 to 2.6.2 by @dependabot[bot] in #5952
- 🌱 bump github/codeql-action/analyze from 4.37.4 to 4.37.5 by @dependabot[bot] in #5958
- 🌱 bump github/codeql-action/init from 4.37.4 to 4.37.5 by @dependabot[bot] in #5959
- 🌱 bump github/codeql-action/upload-sarif from 4.37.4 to 4.37.5 by @dependabot[bot] in #5960
- 🌱 bump github/codeql-action/analyze from 4.37.5 to 4.37.6 by @dependabot[bot] in #5963
- 🌱 bump github/codeql-action/init from 4.37.5 to 4.37.6 by @dependabot[bot] in #5964
- 🌱 bump github/codeql-action/upload-sarif from 4.37.5 to 4.37.6 by @dependabot[bot] in #5965
- 🐛 Fixed
alpha generatedeleting the current working directory when--input-dirwas used without--output-dir. It now regenerates the project directory it read from. by @camilamacedo86 in #5957 - 🌱 Test mixed-case and versioned import paths by @floze-the-genius in #5971
- 🌱 bump shogo82148/actions-goveralls from 1.11.0 to 1.11.1 by @dependabot[bot] in #5972
- 🐛 (CLI) only read PROJECT for commands that consume it by @camilamacedo86 in #5942
- 🌱 Move the alpha generate CI-only test scenario into the integration tests by @hexbinoct in #5969
- 📖 bump github.com/onsi/ginkgo/v2 from 2.32.0 to 2.32.1 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #5973
- 🐛 (CLI; alpha generate) Preserve the customised Grafana config when alpha generate runs in place by @hexbinoct in #5968
- 🌱bump github.com/onsi/ginkgo/v2 from 2.32.0 to 2.32.1 by @dependabot[bot] in #5974
- 🌱 bump golang.org/x/mod from 0.38.0 to 0.39.0 by @dependabot[bot] in #5975
- 🌱 bump github/codeql-action/analyze from 4.37.6 to 4.37.7 by @dependabot[bot] in #5985
- 🌱 bump github/codeql-action/upload-sarif from 4.37.6 to 4.37.7 by @dependabot[bot] in #5984
- 🌱 bump github/codeql-action/init from 4.37.6 to 4.37.7 by @dependabot[bot] in #5983
- 🌱 bump golang.org/x/text from 0.40.0 to 0.41.0 by @dependabot[bot] in #5979
- 🌱 bump helm.sh/helm/v3 from 3.21.3 to 3.21.4 by @dependabot[bot] in #5981
- 🌱 bump github/codeql-action/analyze from 4.37.7 to 4.37.8 by @dependabot[bot] in #5991
- 🌱 bump github/codeql-action/upload-sarif from 4.37.7 to 4.37.8 by @dependabot[bot] in #5990
- 🌱 bump github/codeql-action/init from 4.37.7 to 4.37.8 by @dependabot[bot] in #5989
- 🌱 bump k8s.io/apimachinery from 0.36.3 to 0.36.4 by @dependabot[bot] in #5988
- 🌱 Bump golang.org/x/tools from 0.48.0 to 0.49.0 by @dependabot[bot] in #5982
- 🌱 (config/v3): add test coverage for yaml error paths by @yashisrani in #5996
- 🌱 (external): remove outdated TODO comment for metadata tests by @yashisrani in #5997
- 🌱 Bump golang.org/x/mod from 0.39.0 to 0.40.0 by @dependabot[bot] in #5980
- ✨ (go/v4): Upgrade cert-manager from v1.20.2 to v1.21.1 by @camilamacedo86 in #6000
- 🌱 bump anchore/sbom-action/download-syft from 0.24.0 to 0.24.2 by @dependabot[bot] in #6011
- 🌱 bump github/codeql-action/init from 4.37.8 to 4.37.9 by @dependabot[bot] in #6007
- 🌱 bump shogo82148/actions-goveralls from 1.11.1 to 1.11.2 by @dependabot[bot] in #6008
- 🌱 bump github/codeql-action/upload-sarif from 4.37.8 to 4.37.9 by @dependabot[bot] in #6009
- 🌱 bump github/codeql-action/analyze from 4.37.8 to 4.37.9 by @dependabot[bot] in #6010
- 📖 bump github.com/onsi/gomega from 1.42.1 to 1.43.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #6006
- 🌱 bump github.com/onsi/gomega from 1.42.1 to 1.43.0 by @dependabot[bot] in #6005
- 🐛 (go/v4, helm/v2-alpha): ensure NetworkPolicies are correct and consistent by @camilamacedo86 in #5905
- 📖 fix grammatical errors and typos in documentation by @yashisrani in #6003
- 🌱 test(pkg/cli): Add missing unit tests for api, alpha, create, edit, root by @yashisrani in #6013
- 🌱 Bump zizmorcore/zizmor-action from 0.6.2 to 0.6.3 by @dependabot[bot] in #6015
- ✨ (go/v4): upgrade golangci-lint to v2.13.1 by @dongjiang1989 in #5992
- 🌱 test(pkg/cli): Add unit tests for getInfoFromConfigFile and CLI helpers by @devaniketh in #6016
- 🌱 test(config/v3): add test coverage for plugins map and resource path by @devaniketh in #6018
- ✨ (helm/v2-alpha): Support custom labels/annotations on the ServiceMonitor by @asergeant01 in #5994
- 🐛 (CLI; alpha generate) Migrate go/v3-alpha layouts to go/v4 instead of a non-existent v4-alpha by @BadisLaffet1 in #6023
- 🐛 fix(go/v4): resolve create webhook target when several share a GVK by @prash2512 in #5932
- ✨ (go/v4) Upgrade controller-tools from v0.21.0 to v0.22.0 by @camilamacedo86 in #6025
- ✨ (go/v4): Upgrade controller-runtime from
v0.24.1tov0.25.0by @camilamacedo86 in #6026 - ✨ Add support for k8s 1.37 by @camilamacedo86 in #6027
- 🌱 (go/v4): drop SSA plural marker workaround (follow add SSA support; prior release) by @camilamacedo86 in #6024
- 🐛 fix(cli): save PROJECT through a symbolic link and keep extra commands on the project check (Follow-up to #5845 and #5942) by @camilamacedo86 in #6030
- ✨(helm/v2-alpha, go/v4): add support for stop the webhook server when webhook.enabled=false by @camilamacedo86 in #6031
- 🌱 Bump golang.org/x/mod from 0.40.0 to 0.41.0 by @dependabot[bot] in #6032
- 🐛 (helm/v2-alpha): remove --webhook-port fallback by @camilamacedo86 in #6034
New Contributors
- @stevedotmt made their first contribution in #5773
- @naminari made their first contribution in #5765
- @RooobinYe made their first contribution in #5780
- @sanmaxdev made their first contribution in #5809
- @sats-23 made their first contribution in #5811
- @didiberman made their first contribution in #5823
- @hexbinoct made their first contribution in #5837
- @tp made their first contribution in #5869
- @flyzstu made their first contribution in #5868
- @somaz94 made their first contribution in #5864
- @GaurangKhanderay made their first contribution in #5917
- @floze-the-genius made their first contribution in #5971
- @yashisrani made their first contribution in #5996
- @devaniketh made their first contribution in #6016
Full Changelog: v4.15.0...v4.16.0