Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 8ebf391

Browse files
committedDec 10, 2024·
🚀 Release v1.9.0
Signed-off-by: chandankumar4 <chandan.kr404@gmail.com>
1 parent 5c6a6ba commit 8ebf391

File tree

1 file changed

+448
-0
lines changed

1 file changed

+448
-0
lines changed
 

‎CHANGELOG/v1.9.0.md

+448
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,448 @@
1+
## 👌 Kubernetes version support
2+
3+
- Management Cluster: v1.28.x -> v1.31.x
4+
- Workload Cluster: v1.26.x -> v1.31.x
5+
6+
[More information about version support can be found here](https://cluster-api.sigs.k8s.io/reference/versions.html)
7+
8+
## Highlights
9+
- Bumped to controller-runtime v0.19, k8s.io/* v0.31, controller-gen v0.16
10+
- Improvements to status fields: (#11105)
11+
- Proposal: [Improving status in CAPI resources](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md)
12+
- Just a few highlights:
13+
- Overhaul of our contract documentation: [Provider contracts](https://cluster-api.sigs.k8s.io/developer/providers/contracts)
14+
- Implemented v1beta2 conditions for core Cluster API objects
15+
- Huge improvements to `Deleting` conditions of Cluster, KCP, MD, MS and Machines
16+
- Added `Available` conditions to Cluster, KCP and MD
17+
- Added `ControlPlaneInitialized`, `ControlPlaneAvailable`, `WorkersAvailable`, `RemoteConnectionProbe`, conditions to Cluster
18+
- Added `UpToDate` conditions to KCP and MD Machines
19+
- Added `ScalingUp`, `ScalingDown`, `Remediating`, `MachinesReady`, `MachinesUpToDate` conditions to Cluster, KCP, MD and MS
20+
- Significantly improved `Available`, `EtcdClusterHealthy` and `ControlPlaneComponentsHealthy` conditions on KCP
21+
- Added `Paused` conditions
22+
- Improved counter fields for Cluster, KCP, MD, MS
23+
- Added utils and extended patch helper for v1beta2 conditions
24+
- ClusterCache supersedes the now deprecated ClusterCacheTracker (#11272)
25+
- ClusterClass: Support oneOf/anyOf/allOf/not in variable schemas (#10637)
26+
- Improved logging in predicates (#10959 #11239 #11188)
27+
- KubeadmControlPlane: Implement pre-terminate hook for clean Machine Deletion (#11137)
28+
- KubeadmControlPlane: NamingStrategy for Machines (#11123)
29+
- MachineSetPreflightChecks feature got promoted to beta (#11228)
30+
- MachineSet/MachineDeployment: Foreground deletion for MachineDeployments and MachineSets (#11174)
31+
- Machine: Improvements to Node drain:
32+
- Improve Node drain observability (#11074 #11121): documentation: [Machine deletion process](https://main.cluster-api.sigs.k8s.io/tasks/automated-machine-management/machine_deletions)
33+
- MachineDrainRules Configurable Machine drain behavior (#11240): Proposal: [MachineDrainRules](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240930-machine-drain-rules.md)
34+
- Stop waiting for detachment of volumes belonging to Pods ignored during drain (#11246 #11386)
35+
- As usual, significantly improved e2e test framework & coverage (e.g. #11066 #11333 #10984 #11082 #11212 #11127 #11362)
36+
- New providers in clusterctl: Canonical (#11337), Nutanix (#11135), Vultr (#11091)
37+
38+
## Deprecation and Removals Warning
39+
40+
- API: Deprecated FailureMessage and FailureReason fields (#11317)
41+
- The ClusterCacheTracker component has been deprecated (#11312 #11340), please use the new ClusterCache instead.
42+
- For more context and examples for how to use it, see [PR: Introduce new ClusterCache](https://github.com/kubernetes-sigs/cluster-api/pull/11247) and the corresponding [issue](https://github.com/kubernetes-sigs/cluster-api/issues/11272)
43+
- Please note:
44+
- The DisabledFor option (previously ClientUncachedObjects) is not defaulted to &corev1.ConfigMap & &corev1.Secret anymore, thus it’s now necessary to explicitly set DisabledFor to avoid caching ConfigMaps and Secrets.
45+
- SecretClient and UserAgent are now mandatory options, please take a look at the corresponding godoc.
46+
- The `--clustercachetracker-concurrency`, `--clustercachetracker-client-qps` and `--clustercachetracker-client-burst` flags on all core CAPI controllers have been renamed to `--clustercache-concurrency`, `--clustercache-client-qps` and `--clustercache-client-burst`
47+
- The deprecated `--metrics-bind-addr` flag has been removed (#11140)
48+
- Deprecated obsolete `errors` package (#10798)
49+
- Deprecated `ClusterCreateInfraReady` and `ClusterUnpausedAndInfrastructureReady` predicates (#11300)
50+
51+
## Changes since v1.8
52+
## :chart_with_upwards_trend: Overview
53+
- 348 new commits merged
54+
- 5 breaking changes :warning:
55+
- 33 feature additions ✨
56+
- 40 bugs fixed 🐛
57+
58+
## :memo: Proposals
59+
- Conditions: Small improvements to the v1beta2 status proposal (#11460)
60+
61+
## :warning: Breaking Changes
62+
- API: Deprecate replica counters planned for removal (#11517)
63+
- Machine: Ignore attached Volumes referred by pods ignored during drain (#11246)
64+
- MachineDeployment: Deprecate MD.Spec.ProgressDeadlineSeconds (#11514)
65+
- util: Fix object logging in predicates (#11239)
66+
- util: Fix object logging in ResourceHasFilterLabel, ResourceNotPaused & ResourceNotPausedAndHasFilterLabel predicates (#11188)
67+
68+
## :sparkles: New Features
69+
- API: Add v1beta2 structs to object status (#11234)
70+
- API: Update machine with v1beta2 status (#11276)
71+
- API: Update machineset with v1beta2 status test (#11278)
72+
- ClusterCacheTracker: Add typed watcher to ClusterCache (#11331)
73+
- ClusterCacheTracker: Introduce new ClusterCache (#11247)
74+
- ClusterClass: Add support for oneOf/anyOf/allOf/not ClusterClass variable schema constructs (#10637)
75+
- ClusterClass: Ensure templates are created in the Cluster namespace (#11366)
76+
- clusterctl: Add support for v1beta2 conditions to clusterctl describe (#11277)
77+
- clusterctl: Allow user to suppress API warnings (#11149)
78+
- clusterctl: Suppress "finalizer name" API warnings in "move" command (#11173)
79+
- Core: Add v1beta2 condition to Cluster controller (#11364)
80+
- Dependency: Bump to controller-runtime v0.19 & controller-tools v0.16 (#10803)
81+
- e2e: Bump Kubernetes to v1.31.0-rc.1 (#11021)
82+
- e2e: Bump Kubernetes version used for testing to v1.31.0-rc.0 (#10965)
83+
- e2e: Bump Kubernetes version used for testing to v1.32.0-beta.0 (#11388)
84+
- e2e: Detect panics in e2e tests (#11066)
85+
- KCP: Add machine UpToDate condition to KCP (#11389)
86+
- KCP: Add v1beta2 available condition to KCP (#11383)
87+
- KCP: Add v1beta2 Etcd and ControlPlaneComponents conditions to KCP (#11302)
88+
- KCP: Add v1beta2 OwnerRemediated condition to KCP (#11297)
89+
- Logging: Suppress finalizer name API warnings in CAPI, CABPK, and KCP controller logs (#11242)
90+
- Machine: Implement MachineDrainRules (#11353)
91+
- Machine: Introduce Deletion status field and add timestamps for drain and volumeDetach instead of using the condition (#11166)
92+
- Machine: Refactor node drain (#11074)
93+
- MachineDeployment: Add v1beta2 condition to MD controller (#11338)
94+
- MachineHealthCheck: Update MHC with v1Beta2 status (#11290)
95+
- MachineSet: Add machine UpToDate condition to MachineSet (#11393)
96+
- MachineSet: Promote MachineSetPreflightChecks to Beta (#11228)
97+
- KCP/CAPD: Add more v1beta2 conditions to KCP (#11320)
98+
- Testing: Bump Kubernetes in tests to v1.31.0 and claim support for v1.31 (#11030)
99+
- Testing: Collect additional logs with CAPD log collector (#11083)
100+
- util: Implement utils for v1beta2 conditions (#10997)
101+
- util: Warning handler that discards messages that match a regular expression (#11179)
102+
103+
## :bug: Bug Fixes
104+
- API: Drop caBundle from CRDs to support Kubernetes 1.31 (#10972)
105+
- API: Fix panics in SetV1Beta2Conditions methods (#11369)
106+
- API: Re-add /finalizers subresource RBAC (#11106)
107+
- Bootstrap: Always declare try-or-die-command function in kubeadm-bootstrap-script.sh (#11089)
108+
- CABPK: Bootstrap: fix useExperimentalRetryJoin for kubernetes v1.31 (#10983)
109+
- CAPD: Ensure DockerMachinePool providerIDList is deterministic (#10998)
110+
- CI: Hack: fix the shell used when running pr-verify (#11169)
111+
- CI: Kind: downgrade binary to v0.24.0 to fix building node images for <= v1.30 (#11485)
112+
- Cluster: Disable aggregation of not reported MachinePool conditions for Cluster (#11416)
113+
- Cluster: Fix RuntimeClient nil check in Cluster controller (#11426)
114+
- ClusterCacheTracker: Improve context handling in ClusterCache (#11445)
115+
- ClusterCacheTracker: Try to fix TestClusterCacheHealthCheck test (#11343)
116+
- ClusterClass: Fix nil pointer for empty workers in webhook (#11197)
117+
- ClusterClass: Fix RuntimeClient nil check in ClusterClass controller (#11350)
118+
- clusterctl: Ensure move uses mutated metadata when updating a target object (#10957)
119+
- clusterctl: Fix: considers objects in kube-system for cert-manager to avoid upgrading twice (#11351)
120+
- clusterctl: Handle a nil mutator by returning an error, not panicking (#10951)
121+
- Dependency: Update controller-runtime dependency to v0.18.5 (#11045)
122+
- e2e: Properly display the namespace name in scale test (#11548)
123+
- KCP: Consider all machines for setting .status.version (#11304)
124+
- KCP: Fix TestControlPlane/MachinesUpToDate flake (#11398)
125+
- KCP: Make KCP pre-terminate hook more robust (#11161)
126+
- KCP: Remove etcd member in pre-terminate hook (#11137)
127+
- Logging: Fix predicate logging (#11406)
128+
- Logging: Log errors on specific log levels correctly (#11233)
129+
- Machine: Fix drain log for unreachable Nodes (#11147)
130+
- Machine: Machine Controller should try to retrieve node on delete (#11032)
131+
- Machine: Use correct APIVersion for KCP related exclude (#11492)
132+
- MachineHealthCheck: MHC: fix flaky test (#11506)
133+
- MachineSet: Align "random" deletion policy behavior regarding deletion annotations (#11431)
134+
- Release: Set previous release tag version for RELEASE CANDIDATE/BETA RELEASE (#10435)
135+
- Testing: Add race option to detect raced codes (#10899)
136+
- Testing: Fix CRS test flake (#11009)
137+
- Testing: Fix panics in patch unit tests (#11380)
138+
- Testing: Fix: incorrect name used in kustomize path (#11305)
139+
- Testing: Test/framework isDockerCluster should check that infra ref is present (#10971)
140+
- util: Fix conditions hasSameState nil pointer dereference (#11254)
141+
- util: Fix conditions lexicographicLess nil pointer dereference (#11255)
142+
- util: Fix sorting of v1beta2 conditions when patching (#11326)
143+
- util: Use namespace of the reference on external.Get (#11361)
144+
145+
## :seedling: Others
146+
- API: Add maxItems to all condition fields (#11256)
147+
- API: Deprecate FailureMessage and FailureReason (#11317)
148+
- API: Refactor godoc for API fields starting with field names (#11273)
149+
- API: Remove duplicate ca injection via kustomize (#10969)
150+
- API: Remove unused Paused conditions & minor MHC godoc fixes (#11298)
151+
- API: V1beta2 conditions: add function for setting the Paused condition (#11284)
152+
- CABPK: Add v1beta2 conditions to CABPK (#11452)
153+
- CAPD: Improve CAPD load balancer (#11430)
154+
- CI: Bump golangci to v1.60.2 (#11132)
155+
- CI: Fix exclude for revision management in .golangci.yml (#11060)
156+
- CI: Golangci: add comments to enabled linters (#11142)
157+
- CI: Pr-verify: use env var for passing the PR title (#11229)
158+
- CI: Replace kubebuilder-release-tools with new workflow (#11062)
159+
- CI: Switch to using ECR mirror for trivy DB repo in weekly security scan (#11260)
160+
- CI: Update version matrix for github workflows (#10963)
161+
- Cluster: Add MD/MP watches to Cluster controller (#11408)
162+
- Cluster: Improve Cluster RemoteConnectionProbe condition (#11417)
163+
- ClusterCacheTracker: Add cacheSyncPeriod option to ClusterCacheTracker (#11248)
164+
- ClusterCacheTracker: Deprecate CCT ErrClusterLocked (#11340)
165+
- ClusterCacheTracker: Deprecate ClusterCacheTracker (#11312)
166+
- ClusterCacheTracker: Fix flake in TestClusterReconciler (#11314)
167+
- ClusterClass: Add v1beta2 conditions to ClusterClass (#11428)
168+
- ClusterClass: Implement Cluster TopologyReconciled v1beta2 condition (#11394)
169+
- ClusterClass: Improve reconcile state logs (don't log empty diff) (#11013)
170+
- ClusterClass: Make Type in ClusterClass variable schema properly optional (#11259)
171+
- clusterctl: Add Canonical Kubernetes providers (#11337)
172+
- clusterctl: Add nutanix ipam & runtime extensions providers (#11135)
173+
- clusterctl: Add vultr infrastructure provider (#11091)
174+
- clusterctl: Bump cert manager to v1.16.0 (#11263)
175+
- clusterctl: Bump cert-manager to 1.15.3 (#11068)
176+
- clusterctl: Bump cert-manager to 1.16.1 (#11322)
177+
- clusterctl: Bump cert-manager to v1.15.2 (#10988)
178+
- clusterctl: Bump cert-manager to v1.16.2 (#11462)
179+
- clusterctl: Do not fail when running clusterctl with a build without GitVersion information (#11468)
180+
- clusterctl: GitLab can use both Path and RawPath (#10608)
181+
- clusterctl: Improve clusterctl client config logic & error message (#11049)
182+
- clusterctl: Properly indent multiline lists in clusterctl describe (#11509)
183+
- clusterctl: Update Config generation to use inClusterConfig (#10729)
184+
- clusterctl: Update RKE2 provider URL (#11216)
185+
- Conditions: Add v1beta2 RollingOut condition (#11463)
186+
- Conditions: Cluster: split MachinesReady and MachinesUpToDate into ControlPlane and Worker specific conditions (#11461)
187+
- Conditions: Crs: implement ResourcesApplied v1beta2 condition (#11467)
188+
- Conditions: Drop unused v1beta2 conditions and reasons (#11523)
189+
- Conditions: Fix messages of conditions used for summaries and aggregations (#11435)
190+
- Conditions: Ignore new Machines when calculating MachinesUpToDate condition (#11433)
191+
- Conditions: KCP: handle members without name in MemberNames (#11446)
192+
- Conditions: KCP: make EtcdMemberHealthy less verbose on client creation failures (#11510)
193+
- Conditions: Machine: sort list of hooks for stable condition messages (#11488)
194+
- Conditions: Mhc: Don't set OwnerRemediated on deleting machines (#11465)
195+
- Conditions: Refine v1beta2 stale deletion messages (#11434)
196+
- Conditions: Refine v1beta2 summary (#11499)
197+
- Conditions: Refine v1beta2 UpToDate and Rollout conditions (#11507)
198+
- Conditions: Small improvements to v1beta2 conditions godoc (#11528)
199+
- Conditions: Various improvements of v1beta2 conditions (#11422)
200+
- Core: Audit patch withOwnedConditions (#11396)
201+
- Core: Refactor Cluster controller (#11345)
202+
- Core: Refine v1beta2 condition messages (#11404)
203+
- Core: Refine v1beta2 condition reasons (#11411)
204+
- Core: Refine v1beta2 mirror conditions (#11419)
205+
- Core: Refine v1beta2 ScalingUp conditions (#11432)
206+
- Dependency: Bump go to v1.22.10 (#11535)
207+
- Dependency: Bump Go to v1.22.8 version (#11357)
208+
- Dependency: Bump Go version to v1.22.9 (#11409)
209+
- Dependency: Bump setup-envtest to v0.19 (#11063)
210+
- Dependency: Bump to Go 1.22.7 (#11156)
211+
- Dependency: Remove Go dependencies on k8s.io/kubectl, k8s.io/metrics, sigs.k8s.io/kustomize, ... (#11295)
212+
- Dependency: Update controller-runtime to v0.19.3 (#11527)
213+
- Devtools: Fix parsing of `config.live_reload_deps` from Tilt provider config file (#11270)
214+
- e2e: Add dry-run CreateOrUpdate call in clusterctl upgrade e2e tests (#11349)
215+
- e2e: Add retry to clusterctl `UpgradeWithBinary` (#11539)
216+
- e2e: Bump kind to v0.24.0 (#11081)
217+
- e2e: Bump kind to v0.25.0 (#11473)
218+
- e2e: Bump kubernetes release to v1.32.0-rc.1 (#11540)
219+
- e2e: Dump cluster resources if deletion times out (#10961)
220+
- e2e: Export scale e2e test to make it reusable by providers (#11333)
221+
- e2e: Improve cluster deletion timeout message in e2e test framework (#11444)
222+
- e2e: Improve error output of ValidateResourceVersionStable (#11012)
223+
- e2e: Remove json logging replacement in e2e test config (#11318)
224+
- e2e: Remove redundant self-hosted and clusterctl upgrade tests (#11073)
225+
- e2e: Test/e2e: decrease concurrency (#11220)
226+
- e2e: Test/e2e: increase concurrency (#11067)
227+
- e2e: Test/framework: scale up should use allocatable memory (#11004)
228+
- e2e: Test: add coverage to find issues running on the next kubernetes release as management cluster (#10984)
229+
- e2e: Test: add options for additional resources and verify volume detach to node drain test (#11531)
230+
- e2e: Test: add PreWaitForControlplaneToBeUpgraded to ClusterUpgradeConformanceSpec (#11145)
231+
- e2e: Test: Bump autoscaler to v1.31.0 (#11111)
232+
- e2e: Test: improve autoscale tests for to/from zero and running autoscaler in bootstrap cluster (#11082)
233+
- e2e: Test: stop using Consistently for rollout checks (#10975)
234+
- e2e: Test: use cluster without worker definition for kcp only test (#11212)
235+
- e2e: Use latest kind image for K8s1.31 in E2E tests (#11511)
236+
- KCP: Add NamingStrategy to KubeadmControlPlane (#11123)
237+
- KCP: Add test coverage for etcd member list util (#11449)
238+
- KCP: Bump corefile-migration to support CoreDNS v1.11.3 (#10980)
239+
- KCP: Cache Pods for KCP (#11453)
240+
- KCP: Change Pod does not exist message to allow aggregation (#11447)
241+
- KCP: Drop retry when computing KCP conditions (#11522)
242+
- KCP: Drop unnecessary etcd call from KCP (#11493)
243+
- KCP: Ensure ReadinessGates for v1beta2 conditions get set (#11335)
244+
- KCP: Propagate timeouts to Machines with deletionTimestamp (#11128)
245+
- KCP: Refine KCP's Available, ControlPlaneComponentsHealthy, EtcdClusterHealthy v1beta2 conditions (#11512)
246+
- KCP: Refine v1beta2 Available condition in KCP (#11425)
247+
- KCP: Refine v1beta2 ControlPlaneHealthy condition (#11438)
248+
- KCP: Refine v1beta2 KCP available condition (#11451)
249+
- KCP: Remove code handling Kubernetes <= v1.21 (#11146)
250+
- KCP: Retry in case of etcd errors in KCP (#11450)
251+
- KCP: Skip validation if CoreDNS migration library supports an upgrade if the library is not used (#11319)
252+
- Logging: Drop internal log package & improve logs and errors (#11025)
253+
- Logging: Drop ReconcileError events (#11341)
254+
- Logging: Fix error handling when the resource is not found (#10907)
255+
- Logging: Improve log when not enough replicas are ready or referenced (#11329)
256+
- Logging: Log controller name in predicates (#10959)
257+
- Logging: Log error when calling a Runtime Extension gets an error that is ignored because of failure policy (#11028)
258+
- Logging: Reduce verbosity of logs when calling Runtime Extensions (#11183)
259+
- Machine: Add feature gate to consider VolumeAttachments when waiting for volume detach (#11386)
260+
- Machine: Condition: fix godoc for MachineNodeHealthyCondition (#11178)
261+
- Machine: Extend Node drain e2e test to cover MachineDrainRules (#11362)
262+
- Machine: Follow-up PR nits from 11032 (#11044)
263+
- Machine: Implement Machine Deleting condition (#11291)
264+
- Machine: Improve Drain for control plane machines (#11457)
265+
- Machine: Improve machine Ready v1beta2 condition (#11330)
266+
- Machine: Improve node drain e2e test (#11127)
267+
- Machine: Improve unit tests for Machine controller (#11252)
268+
- Machine: Prevent error spamming for NodeOutdatedTaint if objects are not found (#11148)
269+
- Machine: Rate-limit entire reconcileDelete (#11436)
270+
- Machine: Refine v1beta2 machine ready (#11437)
271+
- Machine: Refine v1beta2 NodeHealthy condition (#11497)
272+
- Machine: Use internal error reason consistently (#11309)
273+
- MachineDeployment: Refine MachineDeployment v1beta2 available condition (#11505)
274+
- MachineHealthCheck: Increase timeout for 2 MHC unit tests (#11019)
275+
- MachinePool: Improve TestReconcileMachinePoolMachines unit test (#11124)
276+
- MachineSet: Add MD watch to the MS controller (#11448)
277+
- MachineSet: Extend MS ScalingUp and Remediationg conditions to include preflight check errors (#11390)
278+
- MachineSet: Implement MS remediating conditions (#11382)
279+
- Metrics: Add nilIsZero to all KSM metric configs where needed (#11101)
280+
- Metrics: Revert "Add nilIsZero to all KSM metric configs where needed" (#11107)
281+
- ClusterClass/MachinePool: Remove paused handling from reconcileExternal (#11400)
282+
- KCP/MachineSet: Implement KCP and MS Deleting conditions (#11381)
283+
- Machine/KCP]: Implement grace period for KCP remote conditions (#11339)
284+
- MachineSet/MachineDeployment: Foreground deletion for MachineDeployments and MachineSets (#11174)
285+
- Testing/Runtime SDK: Add nodeVolumeDetachTimeout & minReadySeconds for MD to RuntimeSDK e2e test template (#10933)
286+
- Release: Add v1.9 release team members to timeline doc (#11097)
287+
- Release: Prepare main branch for v1.9 development (#11059)
288+
- Release: Swap in new 1.9 RT members in OWNERS (#11096)
289+
- Release: Update md link check for release-1.9 (#11481)
290+
- Testing: Bump coredns version in e2e variables (#11187)
291+
- Testing: Bump envtest in Makefile to v1.31.0 (#11085)
292+
- Testing: Check for panics during test runs in envtest (#11279)
293+
- Testing: Enable race detector for main module unit tests (#11207)
294+
- Testing: Fixing TestClusterCacheHealthCheck flake (#11374)
295+
- Testing: Fixing TestClusterResourceSetReconciler flaky test (#11379)
296+
- Testing: Make `internal/test/builder` package public (as `util/test/builder`) (#11356)
297+
- Testing: Test/framework: Allow ScaleUp Deployment image to be customized (#10990)
298+
- Testing: Test/framework: allow to include arbitrary types when dumping resources (#11308)
299+
- Testing: Test/framework: allow users to modify cache.Options (#11201)
300+
- Testing: Test/framework: GetCAPIResources should warn on rbac issues (#11205)
301+
- Testing: Use latest atomic variable instead of old one (#11328)
302+
- util: Add input validations for controllers (#11327)
303+
- util: Add new utility function to set LastTransitionTime only when status of condition changes (#11176)
304+
- util: Add support for v1beta2 conditions to patch helper (#11150)
305+
- util: Deprecate obsolete errors pkg (#10798)
306+
- util: Deprecate old pausing predicates (#11300)
307+
- util: Export conditions.HasSameState method (#11253)
308+
- util: Handle finalizers early in Reconciles (#11286)
309+
- util: Improve sort for v1beta2 conditions (#11282)
310+
- util: Improve v1beta2 condition ordering (#11418)
311+
- util: Make controller mandatory param for external object tracker (#11283)
312+
- util: Refine order for v1beta2 summary util (#11421)
313+
- util: Refine v1beta2 aggregation order (#11423)
314+
- util: Refine v1beta2 condition order (#11424)
315+
- util: Refine v1beta2 object sort for aggregation (#11429)
316+
- util: Remove clustercache nil checks (#11336)
317+
- util: Remove previously deprecated --metrics-bind-addr flag (#11140)
318+
- util: Truncate lastTransitionTime for v1beta2 conditions (#11342)
319+
- util: Use TODO instead of FIXME consistently (#11245)
320+
- util: Use url.JoinPath instead of fmt to concat endpoint (#10917)
321+
- util: V1beta2 conditions: make NewAggregate use generics (#11281)
322+
323+
:book: Additionally, there have been 48 contributions to our documentation and book. (#10108, #10425, #10519, #10651, #10897, #10960, #11051, #11055, #11056, #11061, #11072, #11076, #11087, #11088, #11109, #11113, #11118, #11119, #11121, #11131, #11153, #11163, #11180, #11189, #11190, #11191, #11194, #11195, #11202, #11208, #11213, #11214, #11223, #11235, #11236, #11241, #11250, #11251, #11274, #11275, #11285, #11287, #11293, #11354, #11355, #11363, #11384, #11529)
324+
325+
## Dependencies
326+
327+
### Added
328+
- cel.dev/expr: v0.15.0
329+
- dario.cat/mergo: v1.0.1
330+
- github.com/antlr4-go/antlr/v4: [v4.13.0](https://github.com/antlr4-go/antlr/tree/v4.13.0)
331+
- gopkg.in/evanphx/json-patch.v4: v4.12.0
332+
333+
### Changed
334+
- github.com/Masterminds/semver/v3: [v3.2.0 → v3.3.0](https://github.com/Masterminds/semver/compare/v3.2.0...v3.3.0)
335+
- github.com/Masterminds/sprig/v3: [v3.2.3 → v3.3.0](https://github.com/Masterminds/sprig/compare/v3.2.3...v3.3.0)
336+
- github.com/adrg/xdg: [v0.5.0 → v0.5.3](https://github.com/adrg/xdg/compare/v0.5.0...v0.5.3)
337+
- github.com/alecthomas/kingpin/v2: [v2.3.2 → v2.4.0](https://github.com/alecthomas/kingpin/compare/v2.3.2...v2.4.0)
338+
- github.com/cenkalti/backoff/v4: [v4.2.1 → v4.3.0](https://github.com/cenkalti/backoff/compare/v4.2.1...v4.3.0)
339+
- github.com/cespare/xxhash/v2: [v2.2.0 → v2.3.0](https://github.com/cespare/xxhash/compare/v2.2.0...v2.3.0)
340+
- github.com/cncf/xds/go: [0fa0005 → 555b57e](https://github.com/cncf/xds/compare/0fa0005...555b57e)
341+
- github.com/coredns/corefile-migration: [v1.0.23 → v1.0.24](https://github.com/coredns/corefile-migration/compare/v1.0.23...v1.0.24)
342+
- github.com/creack/pty: [v1.1.18 → v1.1.9](https://github.com/creack/pty/compare/v1.1.18...v1.1.9)
343+
- github.com/fatih/color: [v1.17.0 → v1.18.0](https://github.com/fatih/color/compare/v1.17.0...v1.18.0)
344+
- github.com/fxamacker/cbor/v2: [v2.6.0 → v2.7.0](https://github.com/fxamacker/cbor/compare/v2.6.0...v2.7.0)
345+
- github.com/go-openapi/swag: [v0.22.3 → v0.22.4](https://github.com/go-openapi/swag/compare/v0.22.3...v0.22.4)
346+
- github.com/gobuffalo/flect: [v1.0.2 → v1.0.3](https://github.com/gobuffalo/flect/compare/v1.0.2...v1.0.3)
347+
- github.com/golang/glog: [v1.2.0 → v1.2.1](https://github.com/golang/glog/compare/v1.2.0...v1.2.1)
348+
- github.com/google/cel-go: [v0.17.8 → v0.20.1](https://github.com/google/cel-go/compare/v0.17.8...v0.20.1)
349+
- github.com/google/pprof: [a892ee0 → d1b30fe](https://github.com/google/pprof/compare/a892ee0...d1b30fe)
350+
- github.com/grpc-ecosystem/grpc-gateway/v2: [v2.16.0 → v2.20.0](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.16.0...v2.20.0)
351+
- github.com/huandu/xstrings: [v1.3.3 → v1.5.0](https://github.com/huandu/xstrings/compare/v1.3.3...v1.5.0)
352+
- github.com/matttproud/golang_protobuf_extensions: [v1.0.4 → v1.0.1](https://github.com/matttproud/golang_protobuf_extensions/compare/v1.0.4...v1.0.1)
353+
- github.com/moby/spdystream: [v0.2.0 → v0.4.0](https://github.com/moby/spdystream/compare/v0.2.0...v0.4.0)
354+
- github.com/moby/term: [1aeaba8 → v0.5.0](https://github.com/moby/term/compare/1aeaba8...v0.5.0)
355+
- github.com/onsi/ginkgo/v2: [v2.19.1 → v2.22.0](https://github.com/onsi/ginkgo/compare/v2.19.1...v2.22.0)
356+
- github.com/onsi/gomega: [v1.34.0 → v1.36.0](https://github.com/onsi/gomega/compare/v1.34.0...v1.36.0)
357+
- github.com/prometheus/client_golang: [v1.18.0 → v1.19.1](https://github.com/prometheus/client_golang/compare/v1.18.0...v1.19.1)
358+
- github.com/prometheus/client_model: [v0.6.0 → v0.6.1](https://github.com/prometheus/client_model/compare/v0.6.0...v0.6.1)
359+
- github.com/prometheus/common: [v0.45.0 → v0.55.0](https://github.com/prometheus/common/compare/v0.45.0...v0.55.0)
360+
- github.com/prometheus/procfs: [v0.12.0 → v0.15.1](https://github.com/prometheus/procfs/compare/v0.12.0...v0.15.1)
361+
- github.com/rogpeppe/go-internal: [v1.10.0 → v1.12.0](https://github.com/rogpeppe/go-internal/compare/v1.10.0...v1.12.0)
362+
- github.com/shopspring/decimal: [v1.3.1 → v1.4.0](https://github.com/shopspring/decimal/compare/v1.3.1...v1.4.0)
363+
- github.com/sirupsen/logrus: [v1.9.0 → v1.9.3](https://github.com/sirupsen/logrus/compare/v1.9.0...v1.9.3)
364+
- github.com/spf13/cast: [v1.6.0 → v1.7.0](https://github.com/spf13/cast/compare/v1.6.0...v1.7.0)
365+
- go.etcd.io/bbolt: v1.3.8 → v1.3.9
366+
- go.etcd.io/etcd/api/v3: v3.5.15 → v3.5.17
367+
- go.etcd.io/etcd/client/pkg/v3: v3.5.15 → v3.5.17
368+
- go.etcd.io/etcd/client/v2: v2.305.12 → v2.305.13
369+
- go.etcd.io/etcd/client/v3: v3.5.15 → v3.5.17
370+
- go.etcd.io/etcd/pkg/v3: v3.5.10 → v3.5.13
371+
- go.etcd.io/etcd/raft/v3: v3.5.10 → v3.5.13
372+
- go.etcd.io/etcd/server/v3: v3.5.10 → v3.5.13
373+
- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.49.0 → v0.53.0
374+
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.49.0 → v0.53.0
375+
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.20.0 → v1.27.0
376+
- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.20.0 → v1.28.0
377+
- go.opentelemetry.io/otel/metric: v1.24.0 → v1.28.0
378+
- go.opentelemetry.io/otel/sdk: v1.20.0 → v1.28.0
379+
- go.opentelemetry.io/otel/trace: v1.24.0 → v1.28.0
380+
- go.opentelemetry.io/otel: v1.24.0 → v1.28.0
381+
- go.opentelemetry.io/proto/otlp: v1.0.0 → v1.3.1
382+
- golang.org/x/crypto: v0.25.0 → v0.29.0
383+
- golang.org/x/exp: 9212866 → 8a7402a
384+
- golang.org/x/mod: v0.17.0 → v0.21.0
385+
- golang.org/x/net: v0.27.0 → v0.31.0
386+
- golang.org/x/oauth2: v0.21.0 → v0.24.0
387+
- golang.org/x/sync: v0.7.0 → v0.9.0
388+
- golang.org/x/sys: v0.22.0 → v0.27.0
389+
- golang.org/x/telemetry: f48c80b → bda5523
390+
- golang.org/x/term: v0.22.0 → v0.26.0
391+
- golang.org/x/text: v0.16.0 → v0.20.0
392+
- golang.org/x/tools: e35e4cc → v0.26.0
393+
- google.golang.org/genproto/googleapis/api: a219d84 → 5315273
394+
- google.golang.org/genproto/googleapis/rpc: 6e1732d → f6361c8
395+
- google.golang.org/grpc: v1.62.2 → v1.65.1
396+
- google.golang.org/protobuf: v1.34.1 → v1.35.1
397+
- k8s.io/api: v0.30.3 → v0.31.3
398+
- k8s.io/apiextensions-apiserver: v0.30.3 → v0.31.3
399+
- k8s.io/apimachinery: v0.30.3 → v0.31.3
400+
- k8s.io/apiserver: v0.30.3 → v0.31.3
401+
- k8s.io/client-go: v0.30.3 → v0.31.3
402+
- k8s.io/cluster-bootstrap: v0.30.3 → v0.31.3
403+
- k8s.io/code-generator: v0.30.3 → v0.31.3
404+
- k8s.io/component-base: v0.30.3 → v0.31.3
405+
- k8s.io/klog/v2: v2.120.1 → v2.130.1
406+
- k8s.io/kms: v0.30.3 → v0.31.3
407+
- k8s.io/utils: b307cd5 → 18e509b
408+
- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.30.0 → v0.30.3
409+
- sigs.k8s.io/controller-runtime: v0.18.4 → v0.19.3
410+
411+
### Removed
412+
- github.com/antlr/antlr4/runtime/Go/antlr/v4
413+
- github.com/chai2010/gettext-go: [v1.0.2](https://github.com/chai2010/gettext-go/tree/v1.0.2)
414+
- github.com/chromedp/cdproto: [3cf4e6d](https://github.com/chromedp/cdproto/tree/3cf4e6d)
415+
- github.com/chromedp/chromedp: [v0.9.2](https://github.com/chromedp/chromedp/tree/v0.9.2)
416+
- github.com/chromedp/sysutil: [v1.0.0](https://github.com/chromedp/sysutil/tree/v1.0.0)
417+
- github.com/cncf/udpa/go: [c52dc94](https://github.com/cncf/udpa/tree/c52dc94)
418+
- github.com/daviddengcn/go-colortext: [v1.0.0](https://github.com/daviddengcn/go-colortext/tree/v1.0.0)
419+
- github.com/exponent-io/jsonpath: [d6023ce](https://github.com/exponent-io/jsonpath/tree/d6023ce)
420+
- github.com/fatih/camelcase: [v1.0.0](https://github.com/fatih/camelcase/tree/v1.0.0)
421+
- github.com/fvbommel/sortorder: [v1.1.0](https://github.com/fvbommel/sortorder/tree/v1.1.0)
422+
- github.com/go-errors/errors: [v1.4.2](https://github.com/go-errors/errors/tree/v1.4.2)
423+
- github.com/go-task/slim-sprig: [52ccab3](https://github.com/go-task/slim-sprig/tree/52ccab3)
424+
- github.com/gobwas/httphead: [v0.1.0](https://github.com/gobwas/httphead/tree/v0.1.0)
425+
- github.com/gobwas/pool: [v0.2.1](https://github.com/gobwas/pool/tree/v0.2.1)
426+
- github.com/gobwas/ws: [v1.2.1](https://github.com/gobwas/ws/tree/v1.2.1)
427+
- github.com/golangplus/bytes: [v1.0.0](https://github.com/golangplus/bytes/tree/v1.0.0)
428+
- github.com/golangplus/fmt: [v1.0.0](https://github.com/golangplus/fmt/tree/v1.0.0)
429+
- github.com/golangplus/testing: [v1.0.0](https://github.com/golangplus/testing/tree/v1.0.0)
430+
- github.com/google/shlex: [e7afc7f](https://github.com/google/shlex/tree/e7afc7f)
431+
- github.com/liggitt/tabwriter: [89fcab3](https://github.com/liggitt/tabwriter/tree/89fcab3)
432+
- github.com/lithammer/dedent: [v1.1.0](https://github.com/lithammer/dedent/tree/v1.1.0)
433+
- github.com/matttproud/golang_protobuf_extensions/v2: [v2.0.0](https://github.com/matttproud/golang_protobuf_extensions/tree/v2.0.0)
434+
- github.com/mitchellh/go-wordwrap: [v1.0.1](https://github.com/mitchellh/go-wordwrap/tree/v1.0.1)
435+
- github.com/monochromegane/go-gitignore: [205db1a](https://github.com/monochromegane/go-gitignore/tree/205db1a)
436+
- github.com/sergi/go-diff: [v1.1.0](https://github.com/sergi/go-diff/tree/v1.1.0)
437+
- github.com/xlab/treeprint: [v1.2.0](https://github.com/xlab/treeprint/tree/v1.2.0)
438+
- go.starlark.net: a134d8f
439+
- k8s.io/cli-runtime: v0.30.3
440+
- k8s.io/component-helpers: v0.30.3
441+
- k8s.io/kubectl: v0.30.3
442+
- k8s.io/metrics: v0.30.3
443+
- sigs.k8s.io/kustomize/api: 6ce0bf3
444+
- sigs.k8s.io/kustomize/cmd/config: v0.11.2
445+
- sigs.k8s.io/kustomize/kustomize/v5: 6ce0bf3
446+
- sigs.k8s.io/kustomize/kyaml: 6ce0bf3
447+
448+
_Thanks to all our contributors!_ 😊

0 commit comments

Comments
 (0)
Please sign in to comment.