Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌱 Release v1.6.0 #9807

Merged
merged 1 commit into from
Dec 5, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
295 changes: 295 additions & 0 deletions CHANGELOG/v1.6.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,295 @@
## 👌 Kubernetes version support

- Management Cluster: v1.25.x -> v1.28.x
- Workload Cluster: v1.23.x -> v1.28.x

[More information about version support can be found here](https://cluster-api.sigs.k8s.io/reference/versions.html)

## Highlights

* MachinePools are now supported in ClusterClass Clusters
* Metrics, profiling and other diagnostics are now served securely by default
* Types in `ipam.cluster.x-k8s.io` have graduated to `v1beta1`

## Deprecation Warning

- The API version `v1alpha4` is no longer served in this release.
- [Version migration guide](https://main.cluster-api.sigs.k8s.io/developer/providers/version-migration.html)
- [GitHub issue #8038](https://github.com/kubernetes-sigs/cluster-api/issues/8038)
- [API deprecation details](https://main.cluster-api.sigs.k8s.io/contributing#removal-of-v1alpha3--v1alpha4-apiversions)
- The API version `v1alpha3` has been completely removed in this release.
- Flag `--metrics-bind-addr` is [deprecated](https://github.com/kubernetes-sigs/cluster-api/pull/9264) for all controllers

## Changes since v1.5.0
## :chart_with_upwards_trend: Overview
- 389 new commits merged
- 5 breaking changes :warning:
- 15 feature additions ✨
- 35 bugs fixed 🐛

## :memo: Proposals
- Community meeting: Add proposal for karpenter integration feature group (#9571)

## :warning: Breaking Changes
- API: Remove v1alpha3 API Version (#8997)
- API: Stop serving v1alpha4 API Versions (#8996)
- clusterctl: Improve Context handling in clusterctl (#8939)
- Dependency: Bump to controller-runtime v0.16 (#8999)
- Metrics/Logging: Implement secure diagnostics (metrics, pprof, log level changes) (#9264)

## :sparkles: New Features
- API: Add validation to nested ObjectMeta fields (#8431)
- CAPD: Add config maps to CAPD RBAC (#9528)
- CAPD: Add MachinePool Machine implementation to CAPD components (#8842)
- CAPD: Allow adding custom HA proxy config for CAPD load balancer (#8785)
- CAPD: Initialize configmap object before getting it (#9529)
- ClusterClass: Add topology-owned label to MachineHealthChecks. (#9191)
- ClusterClass: Introduce NamingStrategy and allow generating names using go templates (#9340)
- ClusterClass: Update API with ClusterClass MachinePool support (#8820)
- clusterctl: Add RKE2 bootstrap provider to clusterctl (#9720)
- clusterctl: Block move with annotation (#8690)
- IPAM: Promote IPAM types to v1beta1 (#9525)
- MachinePool: Add MachinePool workers support in ClusterClass (#9016)
- MachineSet: Adjust preflight check to allow kubelet version skew of 3 for clusters running v1.28 and above (#9222)
- Release: Add automation to create release branch and tags (#9111)
- Testing/Documentation: v1.28: Prepare quickstart, capd and tests for the new release including kind bump (#9160)

## :bug: Bug Fixes
- CABPK: Certificate paths in cloud-init scripts should not use a platform-dependent path separator (#9167)
- CAPD: Delete container after failed start to work around port allocation issues (#9125)
- CAPD: Fix DockerMachine panic (#9673)
- CI: Fix reporting bug in verify-container-image script (#9676)
- ClusterClass: Fix ClusterClass enqueue for ExtensionConfig (#9133)
- ClusterClass: Topology: fix namingstrategy webhook to not use uppercase characters for testing the template and align unit test to e2e test (#9425)
- clusterctl: Fix provider namespace secret not included in clusterctl move (#9694)
- ClusterResourceSet: Requeue after 1 minute if ErrClusterLocked got hit (#9788)
- Dependency: Bump golang.org/x/net to v0.13.0 (#9121)
- Dependency: Bump to docker v24.0.5-0.20230714235725-36e9e796c6fc (#9038)
sbueringer marked this conversation as resolved.
Show resolved Hide resolved
- Devtools: Adding metrics container port in tilt-prepare only if it's missing (#9308)
- Devtools: Allow duplicate objects in Tiltfile (#9302)
- Devtools: Change tilt debug base image to golang (#9070)
- Devtools: Fix tilt-prepare leader-elect setting (#9315)
- Devtools: Pin Plantuml version (#9424)
- Devtools: Tilt: ensure .tiltbuild/bin directory is created early enough, add tilt troubleshooting guide (#9165)
- e2e: Drop MachinePools from Dualstack tests (#9477)
- e2e: Fix autoscaler image repo (#9353)
- e2e: Test: pin conformance image to a version which includes a fix for the dualstack tests (#9252)
- KCP: Allow dropping patches KubeadmControlPlane KubeadmConfig (#9698)
- KCP: Allow to drop useExperimentalRetryJoin field from KubeadmControlPlane.kubeadmConfigSpec (#9170)
- KCP: Fix KCP Controller reconcile always return error when workload cluster is unreachable (#9342)
- KCP: Requeue KCP object if ControlPlaneComponentsHealthyCondition is not yet true (#9032)
- Machine: Retry Node delete when CCT is locked (#9570)
- MachineDeployment: Use regular random suffix for MachineSets, ensure max length 63 (#9298)
- MachineHealthCheck: Fix excessive trace logging in the machine health check controller (#9419)
- MachinePool: Fix bug where MachinePool Machine ownerRefs weren't updating (#9619)
- Release: Alphabetically sorting release tool output (#9055)
- Release: Deduplicating area in pr title in release notes (#9186)
- Release: Fix go install path for kpromo v4.0.4 (#9336)
- Release: Generate warning when release notes can not be generated (#9163)
- Release: Hack/release-notes: ensure relase notes tool can be used for external projects again (#9018)
- Release: Reverts pull request from cahillsf/improve-release-speed (#9465)
- Runtime SDK: Set User Agent for test extension correctly (#9748)
- util: Fix AddAnnotations for unstructured.Unstructured (#9164)

## :seedling: Others
g-gaston marked this conversation as resolved.
Show resolved Hide resolved
- API: Add ClusterClass column to Cluster CRD (#9120)
- API: Add verify-import-restrictions to enforce import restrictions (#9407)
- API: Enforce import restrictions in all API packages (#9461)
- API: Ensure we generate all webhook manifests.yaml (#9621)
- API: Move API v1beta1 webhooks to a separate package (#9047)
- API: Move docker infrastructure experimental API v1beta1 webhooks to sepa… (#9460)
- API: Move docker infrastructure API v1beta1 webhooks to separate package (#9458)
- API: Move experimental addons API v1beta1 webhooks to separate package (#9438)
- API: Move experimental API v1beta1 webhooks to separate package (#9417)
- API: Move inmemory infrastructure API v1beta1 webhooks to separate package (#9459)
- API: Move Kubeadm API v1beta1 webhooks to separate package (#9410)
- API: Remove files and markers for Kubebuilder (#9344)
- API: Remove reliance on controller-runtime scheme builder (#9045)
- API: Remove reliance on controller-runtime scheme builder for experimental APIs (#9185)
- API: Remove reliance on controller-runtime scheme builder for remaining API groups (#9266)
- API: Remove the dependency on cluster-api/utils from addons API (#9482)
- API: Test and document controller ownerReferences (#9153)
- CABPK: Remove Kubeadm upstream v1beta1 types (#9345)
- CAPD: Fix multi error handling in RunContainer (#9139)
- CAPD: Set Condition, if creating external LB failed. (#9697)
- CI: Add colored-line-number output for golangci-lint action (#9147)
- CI: Add dependabot for test and hack/tools module (#9041)
- CI: Add exclude for Kustomize API to dependabot config (#9059)
- CI: Add licence-scan for pull requests (#9184)
- CI: Add loggercheck linter and fix findings (#9446)
- CI: Add verify-govulncheck and verify-vulnerabilities targets and integrate to scan action (#9144)
- CI: Bump actions/cache from 3.3.1 to 3.3.2 (#9395)
- CI: Bump actions/checkout from 4.1.0 to 4.1.1 (#9611)
- CI: Bump actions/github-script from 7.0.0 to 7.0.1 (#9738)
- CI: Bump actions/setup-go from 4.0.1 to 4.1.0 (#9187)
- CI: Bump apidiff to v0.7.0 (#9472)
- CI: Bump golangci-lint to v1.54.1 (#9174)
- CI: Bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 (#9261)
- CI: Bump tj-actions/changed-files from 40.1.0 to 40.1.1 (#9714)
- CI: Fix .golangci.yml comments (#9499)
- CI: Ginkgolinter: forbid focus container (#9320)
- CI: Github: add edited and reopened as triggers for the GH workflow approval (#9259)
- CI: Github: add workflow to auto-approve golangci-lint if ok-to-test label is set (#9244)
- CI: Go.mod reformat to have only two require blocks (#9192)
- CI: Golangci-lint: replace deprecated local-prefixes setting for gci (#9339)
- CI: Make GO_ARCH explicit in verify_containter script (#9341)
- CI: Update actions for 1.5 and make names consistent (#9115)
- CI: Verify plantuml image generation in CI (#9363)
- ClusterCacheTracker: Add separate concurrency flag for cluster cache tracker (#9116)
- ClusterCacheTracker: Ensure Get/List calls are not getting stuck when apiserver is unreachable (#9028)
- ClusterCacheTracker: Fix accessor deletion on health check failure (#9025)
- ClusterClass: Add additional test cases for nested variable defaulting (#9728)
- ClusterClass: Add ownerRefs to BootstrapConfig/InfraMachinePool in classy Clusters (#9389)
- ClusterClass: Embed ssa.FilterObjectInput into HelperOption to remove duplication (#9512)
- ClusterClass: Fix some nits in Cluster topology engine tests (#9464)
- ClusterClass: Improve Cluster variable defaulting/validation errors (#9452)
- ClusterClass: Improve message for TopologyReconciledCondition (#9400)
- ClusterClass: Make ClusterClass generated object names consistent (#9254)
- ClusterClass: Minor fixes for CC+MP implementation (#9318)
- clusterctl: Add Proxmox provider quickstart (#9812)
- clusterctl: Check resource blocking clusterctl move during discovery (#9246)
- clusterctl: Propagate ctx to retryWithExponentialBackoff in clusterctl (#9437)
- clusterctl: Use goproxy to check version in clusterctl (#9237)
- clusterctl: Use http get to download files from GitHub in clusterctl (#9236)
- Dependency: Bump cert-manager to v1.13.2 (#9653)
- Dependency: Bump cloud.google.com/go/storage from 1.34.1 to 1.35.1 in /hack/tools (#9727)
- Dependency: Bump controller tools to v1.13.0 (#9221)
- Dependency: Bump controller-runtime to v0.16.3 (#9592)
- Dependency: Bump conversion-gen to v0.28 (#9267)
- Dependency: Bump corefile-migration library to v1.0.21 (#9307)
- Dependency: Bump docker to v24.0.5 (#9064)
- Dependency: Bump envtest binaries to 1.28 (#9268)
- Dependency: Bump github.com/blang/semver to v4 (#9189)
- Dependency: Bump github.com/docker/distribution (#9544)
- Dependency: Bump github.com/docker/docker from 24.0.6+incompatible to 24.0.7+incompatible in /test (#9652)
- Dependency: Bump github.com/emicklei/go-restful/v3 from 3.10.2 to 3.11.0 in /test (#9272)
- Dependency: Bump github.com/evanphx/json-patch/v5 from 5.6.0 to 5.7.0 (#9397)
- Dependency: Bump github.com/fatih/color from 1.15.0 to 1.16.0 (#9681)
- Dependency: Bump github.com/go-logr/logr from 1.2.4 to 1.3.0 (#9644)
- Dependency: Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 (#9562)
- Dependency: Bump github.com/onsi/ginkgo/v2 from 2.13.0 to 2.13.1 (#9716)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Q: Could it be that we only have one changelog entry for dependencies that have been bumped multiple times?

E.g. ginkgo in release-1.5 was not v2.13.0 as it seems here in the changelog

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, we do remove "duplicated" entries for the same module
It's documented in the release process
We can discuss a process change, I don't mind having multiple entries for the same dependency

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely let's not delay this release for it.

The main thing I don't like is that it now looks like we upgraded only from 2.13.0 to 2.13.1 (even though the source versions are totally different).
In the past I merged entries by modifying the source / target version to capture all bumps + add all the PRs.

As nobody actually cares about the bump PRs I think the ideal solution would be to be able to just generate the list of bumped dependencies and drop the individual PRs entirely from the release notes. This would give us also a more accurate and complete list of bumps (compare with what k/k is doing).

In any case, let's definitely keep it as is for now, but it might be worth a follow-up issue.

- Dependency: Bump github.com/onsi/gomega from 1.29.0 to 1.30.0 (#9717)
- Dependency: Bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0 (#9517)
- Dependency: Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#9679)
- Dependency: Bump github.com/spf13/viper from 1.16.0 to 1.17.0 (#9561)
- Dependency: Bump Go version to v1.20.11 (#9683)
- Dependency: Bump go-github dependency to version v53 (#8995)
- Dependency: Bump go.etcd.io/etcd/api/v3 from 3.5.9 to 3.5.10 (#9642)
- Dependency: Bump go.etcd.io/etcd/client/v3 from 3.5.9 to 3.5.10 (#9646)
- Dependency: Bump go.opentelemetry.io/* dependencies (#9598)
- Dependency: Bump golang.org/grpc to v1.59.0 (#9626)
- Dependency: Bump golang.org/x/net from 0.15.0 to 0.17.0 in /test (#9537)
- Dependency: Bump golang.org/x/oauth2 from 0.13.0 to 0.14.0 (#9715)
- Dependency: Bump golang.org/x/text from 0.13.0 to 0.14.0 (#9680)
- Dependency: Bump golangci-lint to v1.55.2 (#9740)
- Dependency: Bump gomodules.xyz/jsonpatch/v2 from 2.3.0 to 2.4.0 (#9188)
- Dependency: Bump google.golang.org/api from 0.149.0 to 0.150.0 in /hack/tools (#9691)
- Dependency: Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#9607)
- Dependency: Bump kpromo to v4.0.4 (#9241)
- Dependency: Bump opentelemetry to fix CVEs (#9709)
- Dependency: Bump sigs.k8s.io/yaml from 1.3.0 to 1.4.0 (#9645)
- Dependency: Bump some dependencies in Makefile (#9549)
- Dependency: Bump the kubernetes group in /hack/tools with 2 updates (#9420)
- Dependency: Bump the kubernetes group in /hack/tools with 2 updates (#9574)
- Dependency: Bump the kubernetes group with 2 updates (#9606)
- Dependency: Bump the kubernetes group with 4 updates (#9326)
- Dependency: Bump the kubernetes group with 4 updates (#9455)
- Dependency: Bump the kubernetes group with 4 updates (#9739)
- Dependency: Bump Trivy to v0.47.0 (#9671)
- Dependency: Replace hashicorp/go-multierror with kerrors (#9175)
- Dependency: Update ensure-kubectl.sh to 1.28 (#9275)
- Devtools: Add .PHONY for doctoc target (#9148)
- Devtools: Allow non-provider Deployments in Tilt (#9404)
- Devtools: Bump CAPI visualizer to v1.2.0 (#9195)
- Devtools: Drop duplicate pprof and unused linter excludes (#9156)
- Devtools: Improve Performance dashboard (#9387)
- Devtools: Make dev cluster networking configurable (#9183)
- Devtools: Makefile: run doctoc only once (#9182)
- Devtools: Move tilt-prepare and log-push to tools/internal (#9020)
- Devtools: Observability: move metrics to config and use sidecar in kube-state-metrics (#9390)
- Devtools: Refactor docker-push* Makefile targets so users can control with ALL_DOCKER_BUILD which images are pushed (#8586)
- Devtools: Tiltfile: rename deploy_kustomizations to additional_kustomizations (#9439)
- e2e: Add back flavor to Waiter interface (#9166)
- e2e: Add CRS re-reconcile to ownerReference test (#9296)
- e2e: Add log level for kube components patch to ClusterClass (#9493)
- e2e: Add MachinePools to Topology Quickstart E2E Templates (#9393)
- e2e: Add MP timeouts to cluster upgrade tests (#9723)
- e2e: Add test for ownerReference apiVersion update (#9269)
- e2e: Add test for scale testing machinery (#9510)
- e2e: Bump autoscaler to v1.28.0 (#9349)
- e2e: Drop PR-Informing test tag and job description (#9362)
- e2e: Dump all pods in e2e test clusters (#9441)
- e2e: Dump all resource information for self-hosted tests (#9547)
- e2e: Ensure finalizers are resilient on reconciliation (#9471)
- e2e: Fail tests if test env version check fails (#9388)
- e2e: Fix broken e2e test clusterclass (#9506)
- e2e: Improve labels/annotations in CAPD test ClusterClass (#9469)
- e2e: Improve logging for self-hosted e2e test (#9637)
- e2e: Improve output of exec.KubectlApply (#9761)
- e2e: Refactor e2e ownerRef test utils (#9313)
- e2e: Test/conformance: add variables to overwrite parralelization of kubetest runs (#9667)
- e2e: Test/e2e: structure resources by namespace/kind again (#9462)
- e2e: Use existing value of `SKIP_RESOURCE_CLEANUP` if set in environment (#9152)
- IPAM: Add age also to v1beta1 IPAM types (#9729)
- IPAM: Add age column to kubectl output (#9521)
- IPAM: Enforce IPAM import alias (#9730)
- KCP: Controlplane: add a test case for syncMachines where the InfraMachine does not exist. (#8992)
- KCP: Remove disableInPlacePropagation field in KCP controller (#9099)
- KCP: Remove redundant GetRESTConfig in KCP Management.GetWorkloadCluster (#9448)
- KCP: Support admin config for Kubeadm v1.29 (#9682)
- Logging: Change default log level to 2 (#9093)
- Logging: Fix patch errors not being logged (#9224)
- Logging: Set controller-runtime logger for clusterctl (#9107)
- MachinePool: Add MachinePool Builders (#9346)
- MachinePool: Add util function to get MachinePool by label (#9219)
- MachinePool: Use SSA Patch to create machines in MP controller (#9802)
- Metrics: Hack/observability: add capi_machine_status_certificatesexpirydate metric (#9084)
- Metrics: Hack: bump kube-state-metrics and prometheus charts (#9352)
- Release: Add additional blocks to release note generation (#9247)
- Release: Add adilGhaffarDev to release-team owner alias (#9718)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Side note: I wonder if need a separate category for release, testing, etc. since there are so many "other" changes

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also dependency

- Release: Add Release Team OWNERS file to docs/release folder (#9294)
- Release: Avoid cd'ing into test folders when building Docker images (#9744)
- Release: Bump kubebuilder tools to v0.4.2 (#9665)
- Release: Bump PR title checker github action to v0.4.1 (#9650)
- Release: Capitalize area prefix in release notes by default (#9614)
- Release: Capitalized title in release notes (#9086)
- Release: Clarify release team vs k8s/k8s-SIGs org membership (#9089)
- Release: Exclude release trigger PRs from release notes (#9444)
- Release: Format Community meeting area in release notes (#9648)
- Release: Format MachineHealthCheck area in release notes (#9500)
- Release: Give permissions for release notes tool to release team (#9563)
- Release: Hack: add weekly update script for Slack (#9343)
- Release: Improve multiple areas PRs with user friendly subs (#9071)
- Release: Improve release notes formatting (#9337)
- Release: Improve release speed (#9392)
- Release: Improve release staging build speed (#9536)
- Release: Prepare main branch for v1.6 development (#9097)
- Release: Remove auto-labelling for clusterctl (#8990)
- Release: Remove extra separator after title in release notes (#9605)
- Release: Revert "Improve release staging build speed" (#9753)
- Release: Update instructions checklist to generate release notes (#9443)
- Release: Update kubebuilder-release-tools to v0.4.0 (#9531)
- Release: Update release-notes make target + corresponding doc (#9573)
- Runtime SDK: Improve ClusterClass watch for ExtensionConfigs (#9338)
- Testing: Add MachinePool test cases (#9474)
- Testing: Add MachinePool test cases to engine tests (#9373)
- Testing: Add MachinePool test cases to variables tests (#9372)
- Testing: Add MachinePools to Runtime SDK and Rollout tests (#9703)
- Testing: Add MachinePools to topology upgrade test (#9502)
- Testing: Add test for required properties in clusterclass variables (#9113)
- Testing: Add unit tests for CC MP blueprint, current_state, & desired_state (#9348)
- Testing: Add unit tests for reconcile_state, cluster_controller, & conditions (#9380)
- Testing: Add WaitForMachinePoolToBeUpgraded to self-hosted test (#9540)
- Testing: Extend test/framework to collect workload cluster nodes (#9416)
- Testing: Follow-up fixes: Add MachinePools to Runtime SDK and Rollout tests (#9719)
- Testing: Replacing gomega.Equal with gomega.BeComparableTo (#9015)
- util: Adjust naming in SortForCreate implementation (#9311)
- util: Move `internal.labels` to `format` package for use by providers (#9002)
- util: Refactor SortForCreate to use sort.Slice (#9251)
- util: Remove go-vcs dependency from releaselink tool (#9288)
- util: Remove previously deprecated code (#9136)

:book: Additionally, there have been 55 contributions to our documentation and book. (#8260, #8500, #8678, #8819, #8988, #9001, #9013, #9014, #9024, #9029, #9080, #9081, #9087, #9112, #9119, #9141, #9146, #9150, #9161, #9173, #9208, #9209, #9213, #9214, #9232, #9270, #9286, #9291, #9305, #9328, #9364, #9386, #9403, #9415, #9429, #9433, #9463, #9487, #9488, #9490, #9511, #9513, #9514, #9527, #9550, #9559, #9565, #9572, #9577, #9590, #9593, #9613, #9635, #9654, #9706)


_Thanks to all our contributors!_ 😊
Loading