⚠️ 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
tov1.18.2
#4947 - (go/v4): Upgrade Golang-CI from
v2.1.6
tov2.3.0
#4945 #4974 #4957 - (CLI;go/v4): Upgrade Go from
1.24.0
to1.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)
- (command) Major improvements and new flags—
🐛 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
- @mayuka-c made their first contribution in #4928
- @manzil-infinity180 made their first contribution in #4933
- @aman4433 made their first contribution in #4957
- @cmallikarjunah made their first contribution in #4966
- @Shubhamag12 made their first contribution in #4974
- @adarshagrawal38 made their first contribution in #4932
- @GuyStone made their first contribution in #5001
- @DustinChaloupka made their first contribution in #5008
- @ricardo1u made their first contribution in #5021
- @Deofex made their first contribution in #5029
- @pessolato made their first contribution in #5041
- @n2h9 made their first contribution in #5043
- @lpmi-13 made their first contribution in #5056
Full Changelog: v4.7.1...v4.8.0