github kubernetes-sigs/kubebuilder v4.8.0

9 days ago

⚠️ Breaking changes

  • (CLI): Replace logrus with standard library log/slog for logging (no user-facing changes) #4968 #5049 #4993

✨ New features

  • (go/v4): Upgrade cert-manager used in E2E tests from v1.16.3 to v1.18.2 #4947
  • (go/v4): Upgrade Golang-CI from v2.1.6 to v2.3.0 #4945 #4974 #4957
  • (CLI;go/v4): Upgrade Go from 1.24.0 to 1.24.5 #4944
  • (go/v4): Improve KinD integration to ensure custom KinD binary is used in E2E tests #4618
  • (go/v4): Add e2e build tag to prevent accidental execution of end-to-end tests #4946
  • (go/v4): create api now adds status conditions by default #4943
  • (helm/alpha-v1): Allow define default image policy for the manager #4932 #5023
  • (go/v4): Improve go-install-tool implementation in Makefile #4988
  • (CLI): Add IfNotExistsAction to machinery for optional file handling #4967
  • (alpha update): #5013 #5002 #5018 #5019 #5026 #5017 #5027 #5035 #5040 #5039 #4992 #5050
    • (command) Major improvements and new flags—--squash to condense commits; --restore-path to keep selected paths unchanged; --output-branch to write changes to a new branch; --open-gh-issue to create new GitHub issues with update data; --use-gh-models to post AI summary to help project upgrade process; and --git-config to set Git defaults for the run. (More info)
    • (New Plugin) Adds new optional plugin (autoupdate/alpha-v1) with AI-assistence for upgrades. The plugin scaffolds a workflow to open an issue and post an AI summary whenever a new Kubebuilder release is available. (More info)

🐛 Bug fixes

  • (e2e): Remove Prometheus install/check helpers from E2E utils #4948
  • (go/v4): Replace custom CertWatcher with controller-runtime’s built-in implementation for webhook & metrics server cert reloads; ensures non-leader replicas update certificates #5008
  • (CLI): Fix link shown for plugin versioning when plugins are not found #5021
  • (helm/v1-alpha): When scaffolding a Helm project with webhooks, the generated GitHub Actions workflow now installs and waits for cert-manager. Without webhooks, the cert-manager step remains commented #5043
  • (go/v4) fix simple typos in Dockerfile comments #5056

Thanks to all contributors 🎉

What's Changed

  • 📖 Bump sigs.k8s.io/kubebuilder/v4 from 4.6.0 to 4.7.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #4926
  • 🌱 helm(e2e): test helm plugin integration by @bavarianbidi in #4914
  • 📖: Revert guide for building a bundle with kubebuilder-based projects for management by OLM and/or publication on OperatorHub.io by @camilamacedo86 in #4929
  • 🌱 (cli; alpha commands): Add unit tests for common utils used by alpha commands by @mayuka-c in #4928
  • 📖 (doc): fixed the broken links by @manzil-infinity180 in #4933
  • 📖 Bump github.com/spf13/pflag from 1.0.6 to 1.0.7 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #4934
  • 🌱 Bump github.com/spf13/pflag from 1.0.6 to 1.0.7 by @dependabot[bot] in #4935
  • 🌱: introduce gci as formatter in golangci-lint by @bavarianbidi in #4927
  • ✨ (go/v4) : Improve Kind Integration: Ensure Custom Kind Binary is Used in E2E Tests by @kersten in #4618
  • 🌱 (ci): Fix mock for alpha update e2e tests by @camilamacedo86 in #4938
  • ✨ (go/v4): upgrade cert-manager from v1.16.3 v1.18.2 used in the e2e tests by @camilamacedo86 in #4947
  • ✨ Upgrade Golang-CI from v2.1.6 to v2.2.2 by @camilamacedo86 in #4945
  • 🌱 (ci): only call lint sample and test-devcontainer checks when has changes in the specific directories checked by @camilamacedo86 in #4940
  • 📖 (docs/alpha update): remove suggestion marker by @vitorfloriano in #4953
  • 🌱 (CLI): Add unit tests for plugin utils by @mayuka-c in #4956
  • 🌱 (alpha update): add e2e tests for --force flag by @vitorfloriano in #4955
  • ✨ (go/v4) add e2e build tag to prevent accidental execution of end-to-end tests by @camilamacedo86 in #4946
  • ✨ Upgrade Golang-CI from v2.2.2 to v2.3.0 by @aman4433 in #4957
  • ✨ (go/v4): Create API command now adds status conditions by @camilamacedo86 in #4943
  • 🌱 Improve revive linter configuration by @aman4433 in #4954
  • 🌱 (ci) - Add test for release mock by @camilamacedo86 in #4939
  • 🌱 Bump github.com/onsi/gomega from 1.37.0 to 1.38.0 by @dependabot[bot] in #4958
  • 🌱 (CLI): Add unit tests and improve coverage for plugins/golang pkg by @mayuka-c in #4959
  • 🐛 remove: Prometheus install/check helpers from e2e utils by @camilamacedo86 in #4948
  • 🌱 Bump sigs.k8s.io/yaml from 1.5.0 to 1.6.0 by @dependabot[bot] in #4962
  • 📖 Bump sigs.k8s.io/kubebuilder/v4 from 4.7.0 to 4.7.1 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #4963
  • ✨ (CLI;go/v4) Upgrade golang version from 1.24.0 to 1.24.5 by @camilamacedo86 in #4944
  • 🌱 fix file added by mistake; should be removed by @camilamacedo86 in #4964
  • 🌱 (ci) fix samples linter and release linter by @camilamacedo86 in #4965
  • 🌱 Add unit testing for files(external) in pkg/cli/alpha by @cmallikarjunah in #4966
  • 🌱 Add unit tests for alpha/internal/update by @cmallikarjunah in #4931
  • 🌱 (fix) Install-and-build.sh script to work on MacOs by @mayuka-c in #4970
  • ✨ Version bump for golangci-lint to 2.3.0 ( follow up #4957 ) by @Shubhamag12 in #4974
  • 🌱 (alpha update) add validation for equal versions by @vitorfloriano in #4975
  • 📖 (docs/tutorials): ensure all fields follow Kubernetes API conventions by @camilamacedo86 in #4942
  • ⚠️ Migrate from logrus to log/slog by @Shubhamag12 in #4968
  • ✨ (go/v4;helm/alpha-v1;kustomize/v2): Adding default image policy for the manager by @adarshagrawal38 in #4932
  • 🌱 Add versioned tool installation via go-install-tool helper in Kubebuilder Makefile such as we provide for end users by @afritzler in #4986
  • ✨ (go/v4): Improve go-install-tool code implementation into Makefile by @afritzler in #4988
  • 🌱 (ci) Refactor alpha update E2E tests and increase coverage by @camilamacedo86 in #4991
  • 🐛 (alpha commands): Fix incorrect error message when creating the merge branch during alpha update. by @camilamacedo86 in #4993
  • 🐛 (alpha commands): alpha update command with --force now runs post-merge fixes in best-effort mode raising warnings instead of errors to allow properly automation with this option by @camilamacedo86 in #4992
  • 🌱 (e2e) Make alpha update tests easier to understand and more complete by @camilamacedo86 in #4994
  • 🌱 Revert "🐛 (alpha commands): alpha update command with --force now runs post-merge fixes in best-effort mode raising warnings instead of errors to allow properly automation with this option" by @camilamacedo86 in #4996
  • 🌱 Bump golang.org/x/text from 0.27.0 to 0.28.0 by @dependabot[bot] in #4997
  • 🌱 Bump golang.org/x/mod from 0.26.0 to 0.27.0 by @dependabot[bot] in #4999
  • 🌱 Bump golang.org/x/tools from 0.35.0 to 0.36.0 by @dependabot[bot] in #4998
  • 🌱 refactor TestContext to allow use in unit tests with directory setup by @camilamacedo86 in #4995
  • 📖 (docs) include 2025 roadmap by @GuyStone in #5001
  • 📖 (doc): Update, improve and fix alpha update documentation by @camilamacedo86 in #5003
  • ✨ alpha(update): add --squash, --preserve-path, --output-branch for PR-friendly upgrades by @camilamacedo86 in #5002
  • 🌱 Bump actions/checkout from 4 to 5 by @dependabot[bot] in #5006
  • 🐛 (go/v4): Replace custom CertWatcher with controller-runtime’s built-in implementation for webhook and metrics server cert reloads. Ensures non-leader replicas update certificates correctly. by @DustinChaloupka in #5008
  • 🌱 Bump helm.sh/helm/v3 from 3.18.4 to 3.18.5 by @dependabot[bot] in #5010
  • 🌱 (alpha commands): rename files command to generate for better maintainability by @camilamacedo86 in #5015
  • 🌱 (alpha update): (unit tests) fix call by adding suite to run all tests by @camilamacedo86 in #5014
  • 🌱 (fix): Remove duplication to avoid flakes in the ci and keep it more optimise by @camilamacedo86 in #5016
  • ✨ (alpha update): easier commits, safer defaults, more control by @camilamacedo86 in #5013
  • 📖 Proposal: Automating Operator Maintenance: Driving Better Results with Less Overhead by @camilamacedo86 in #4302
  • ✨ (CLI/Api): Add IfNotExistsAction to machinery for optional file handling by @aman4433 in #4967
  • 🐛 Fix link shared about plugin versioning when plugins are not found by @ricardo1u in #5021
  • ✨ (alpha update) Add option to allow open GitHub Issues after updates by @camilamacedo86 in #5018
  • 🌱 Bump github.com/onsi/ginkgo/v2 from 2.23.4 to 2.24.0 by @dependabot[bot] in #5022
  • 🐛 (revert) only changes done in the default scaffold in the pr: 4932 ( kept helm chart changes ) by @camilamacedo86 in #5023
  • ✨ (alpha update) skip running make targets if Makefile has conflicts by @camilamacedo86 in #5019
  • 🌱 Bump helm.sh/helm/v3 from 3.18.5 to 3.18.6 by @dependabot[bot] in #5025
  • ✨ (alpha update): Rename alpha update flag preserve-path to restore-path by @camilamacedo86 in #5026
  • ✨(alpha update): add --git-config flag with clear defaults and replacement behavior by @camilamacedo86 in #5017
  • 🐛 Fix git branch creation error when main already exists by @Deofex in #5029
  • ✨ Add plugin for Alpha Update Command by @camilamacedo86 in #5027
  • 🌱 Bump github.com/onsi/ginkgo/v2 from 2.24.0 to 2.25.0 by @dependabot[bot] in #5031
  • 🌱 Bump github.com/onsi/gomega from 1.38.0 to 1.38.1 by @dependabot[bot] in #5037
  • 📖 (docs): Reference to Book FAQ entry with solution to too long annotations error by @pessolato in #5041
  • ✨ (alpha update): Only run makefile targets on files where conflict is not found (Follow-up of: 5019) by @camilamacedo86 in #5035
  • 🐛 (alpha update): ensure that by default is used merge.conflictStyle=merge to facilitate the review by @camilamacedo86 in #5039
  • 🌱 (fix): Fix inconsistent logging format ( Follow up: #4968 ) by @camilamacedo86 in #5044
  • ✨ (alpha update) Add Option to use AI with alpha update by @camilamacedo86 in #5040
  • 🐛 (fix) reformat subprocess output for consistent logging during alpha commands (Follow up: #4968) by @camilamacedo86 in #5049
  • ✨ refactor: (alpha update) optimize diff generation and add unified conflict detection by @camilamacedo86 in #5050
  • 📖 (docs): Add missing information to quick start and supplement links by @camilamacedo86 in #5053
  • 📖 (docs) fix AutoUpdate and Alpha Update docs by @camilamacedo86 in #5054
  • 📖 Update roadmap for 2025 with new statuses and details by @camilamacedo86 in #5057
  • 🐛 (helm/v1-alpha): When scaffolding a Helm project with webhooks, the generated GitHub Actions workflow now installs and waits for cert-manager. Without webhooks, the cert-manager step remains commented. by @n2h9 in #5043
  • 🐛 (go/v4) fix simple typos in Dockerfile comments by @lpmi-13 in #5056

New Contributors

Full Changelog: v4.7.1...v4.8.0

Don't miss a new kubebuilder release

NewReleases is sending notifications on new releases.