v0.14.0
Breaking changes
- Kubernetes 1.28 types and client-go are in use. Any upstream breaking changes are reflected here.
- status
InitiazeConditions()
is deprecated in favor ofInitializeConditions(context.Context)
. Support may be removed in a future release, users are encuraged to migrate. ConditionSet#Manage
is deprecated in favor ofConditionSet#ManageWithContext
. Support may be removed in a future release, users are encuraged to migrate.
Highlights
Duck typed resources may now be used directly with the client and reconciled. These are structured types that represent a subset of many arbitrary resources. The APIVersion and Kind fields must be set explicitly on the object and the type must not be registered with the scheme. See Reconcilers in the readme for a discussion of the different types of resources that can be used and the tradeoff for each type.
Pinned reconcile time. Testing reconciler that write the current time back to the resource can be difficult to test because the result is ephemeral by nature. Each reconcile request now captures the current time at the start of the request and makes that value available to nested reconcilers for use instead of time.Now
. This value can also be defined in individual test cases so that the reconciler output is deterministic. See Time in the readme for an overview of the new APIs.
What's Changed
- Duck type clients and reconcilers by @scothis in #402
- Bump gomodules.xyz/jsonpatch/v2 from 2.3.0 to 2.4.0 by @dependabot in #403
- Kubernetes 1.28 support by @scothis in #404
Full Changelog: v0.13.0...v0.14.0