Releases: kubernetes-sigs/controller-runtime
Releases · kubernetes-sigs/controller-runtime
v0.23.1
What's Changed
- [release-0.23] 🐛 Cache reader: Wait for cache sync when ReaderFailOnMissingInformer is true by @k8s-infra-cherrypick-robot in #3433
- [release-0.23] 🐛 Fix panic when using CRs with embedded pointer structs by @k8s-infra-cherrypick-robot in #3436
- [release-0.23] 🌱 Test cache reader waits for cache sync by @k8s-infra-cherrypick-robot in #3438
- [release-0.23] 🐛 Fakeclient: Fix status apply if existing object has managedFields set by @k8s-infra-cherrypick-robot in #3437
Full Changelog: v0.23.0...v0.23.1
v0.23.0
🔆 Highlights
- Client: Add subresource Apply support by @alvaroaleman in #3321
- Conversion: Enable implementation of conversion outside of API packages by @sbueringer in #3335
- Priorityqueue: Various improvements, bug fixes and now enabled per default
- Webhooks: Generic Validator and Defaulter by @alvaroaleman in #3360
⚠️ Breaking changes
- Dependencies: Update to k8s.io/* v1.35 by @alvaroaleman @dongjiang1989 @kannon92 (#3316, #3349, #3386, #3391, #3401)
- Client: Add subresource Apply support by @alvaroaleman in #3321
- Events: Migration to the new events API by @clebs in #3262
- Using the new
GetEventRecorderForrequires updating your rbac for events to use theevents.k8s.ioapiGroup rather than the `` (core) apiGroup
- Using the new
- Fakeclient: Set ResourceVersion for SSA Create by @alvaroaleman in #3311
- Webhooks: Generic Validator and Defaulter by @alvaroaleman in #3360
- Existing code of the form
builder.WebhookManagedBy(mgr).For(&corev1.Deployment{})has to be changed tobuilder.WebhookManagedBy(mgr, &appsv1.Deployment{}) - Existing webhook implementations have to be changed to take the concrete object rather than
runtime.Object, for example fromValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)toValidateCreate(ctx context.Context, obj *appsv1.Deployment) (admission.Warnings, error)
- Existing code of the form
✨ Features
- Cache: Allow fine-granular SyncPeriod configuration by @sbueringer in #3376
- Client: Add FieldOwner option to client.Options by @aerfio in #3389
- Client: Add FieldValidation option to client.Options by @aerfio in #3393
- Conversion: Enable implementation of conversion outside of API packages by @sbueringer in #3335
- Metrics: Add controller_runtime_reconcile_timeouts_total metric to track ReconciliationTimeout timeouts by @godwinpang in #3382
- Priorityqueue: Add optional Priority field to reconcile.Result by @sbueringer in #3333
- Priorityqueue: Enable per default by @sbueringer in #3332
- Priorityqueue: Use a buffer to optimize priority queue AddWithOpts performance by @zach593 in #3415
- Source/Kind: Delay reconciliation until handlers sync by @GonzaloLuminary in #3406
- Webhooks: Add WithContextFunc to WebhookBuilder by @dmvolod in #3324
🐛 Bugfixes
- Client: Allow SSA after normal resource creation by @filipcirtog in #3346
- Client: Fix List in namespaced client to list objects that are cluster scoped by @troy0820 in #3351 #3353
- Envtest: Respect pre-configured binary paths in ControlPlane by @mzhaom in #3372
- Fakeclient: Fix a number of bugs when updating through apply by @alvaroaleman in #3319
- FakeClient: Fix Apply with Unstructured ApplyConfiguration and resourceVersion unset by @sbueringer in #3403
- Fakeclient: Fix SSA after List with non-list kind by @sbueringer in #3364
- Fakeclient: Panic when trying to build more than one instance of fake.ClientBuilder by @troy0820 in #3314
- Leaderelection: Copy all parent context values to leader elector's context by @msudheendra-cflt in #3327
- Metrics: Adding missing exponential buckets on webhook native histogram by @brito-rafa in #3411
- Priorityqueue: Do FIFO ordering within priorities and not across by @zach593 in #3408
- Priorityqueue: Don't block on Get when queue is shutdown (2nd try) by @sbueringer in #3337
- Priorityqueue: Ensure priority queue always returns high-priority items first by @moritzmoe in #3330
- Priorityqueue: Fix TestWhenAddingMultipleItemsWithRatelimitTrueTheyDontAffectEachOther by @zach593 in #3395
- Priorityqueue: Limit depthWithPriorityMetric cardinality to 25 by @alvaroaleman #3419
- Priorityqueue: Properly sync the
waitermanipulation by @fossedihelm in #3368 - setup-envtest: Select the newest Kubernetes by default by @cbandy in #3380
- testing/addr: Prevent possible leak by avoiding defer in loop by @s-z-z in #3367
🌱 Other
- Dependencies: Update controller-tools to 0.20.0 and fix lint by @dongjiang1989 in #3405
- Linter: Add depguard golangci-linter for forbid sort pkg by @dongjiang1989 in #3374
- Linter: Modernize finalizer utils by @tbavelier in #3329
- Linter: Update golangci-lint version and modernize lint by @dongjiang1989 in #3384
- Linter: Update golangci-lint version to v2.4.0 by @dongjiang1989 in #3318
- Linter: Update golangci-lint version to v2.5.0 by @dongjiang1989 in #3323
- Linter: Update golangci-lint version to v2.7.2 by @dongjiang1989 in #3399
- Manager: Deflake should execute the Warmup function test when Warmup group is started by @alvaroaleman in #3356
- Misc: Add CreateOrPatch function in alias.go by @tisonkun in #3375
- Misc: Change
sorttoslicespackage by @dongjiang1989 in #3370 - Misc: Fix typo in unit test name by @s-z-z in #3304
- Misc: Revert deprecation of client.Apply by @sbueringer in #3307
- Priorityqueue: Add and use newQueueWithTimeForwarder by @alvaroaleman in #3336
- Priorityqueue: Add some more tests to the priorityqueue by @alvaroaleman in #3387
- Priorityqueue: Use separate b-trees for ready and non-ready items by @alvaroaleman in #3416
- Priorityqueue: Use synctest by @alvaroaleman in #3350
📖 Documentation
- Add a design for supporting warm replicas by @godwinpang in #3121
- Remove latest from setupenvtest docs by @troy0820 in #3359
- pkg/client/config: Remove outdated doc comments by @haoqixu in #3306
- Update client.Apply example by @aerfio in #3390
- Update
README.md's compatibility matrix forv0.22.x. by @renormalize in #3392
Dependencies
Added
- github.com/Masterminds/semver/v3: v3.4.0
- github.com/gkampitakis/ciinfo: v0.3.2
- github.com/gkampitakis/go-diff: v1.3.2
- github.com/gkampitakis/go-snaps: v0.5.15
- github.com/goccy/go-yaml: v1.18.0
- github.com/joshdk/go-junit: v1.0.0
- github.com/maruel/natural: v1.1.1
- github.com/mfridman/tparse: v0.18.0
- github.com/tidwall/gjson: v1.18.0
- github.com/tidwall/match: v1.1.1
- github.com/tidwall/pretty: v1.2.1
- github.com/tidwall/sjson: v1.2.5
- go.uber.org/automaxprocs: v1.6.0
- golang.org/x/tools/go/expect: v0.1.0-deprecated
- golang.org/x/tools/go/pack...
v0.22.5
v0.22.4
What's Changed
- ✨ cache: Allow fine-granular SyncPeriod configuration by @k8s-infra-cherrypick-robot in #3378
- 🐛 Update List in namespaced client to list objects that are cluster scoped by @k8s-infra-cherrypick-robot in #3352 #3357
- 🐛 priority queue: properly sync the waiter manipulation by @alvaroaleman in #3371
- 🐛 envtest: respect pre-configured binary paths in ControlPlane by @k8s-infra-cherrypick-robot in #3377
Full Changelog: v0.22.3...v0.22.4
v0.22.3
What's Changed
- [release-0.22] 🐛 Allow SSA after normal resource creation by @k8s-infra-cherrypick-robot in #3348
Full Changelog: v0.22.2...v0.22.3
v0.22.2
What's Changed
- 🐛 Panic when trying to build more than one instance of fake.ClientBuilder by @k8s-infra-cherrypick-robot in #3315
- 🌱 Bump to k8s.io/* v0.34.1 by @k8s-infra-cherrypick-robot in #3317
- 🐛 Don't block on Get when queue is shutdown (2nd try) by @k8s-infra-cherrypick-robot in #3338
- 🐛 Fix a bug where the priorityqueue would sometimes not return high-priority items first by @k8s-infra-cherrypick-robot in #3340
Full Changelog: v0.22.1...v0.22.2
v0.22.1
What's Changed
- 🌱 Revert deprecation of client.Apply by @k8s-infra-cherrypick-robot in #3308
Full Changelog: v0.22.0...v0.22.1
v0.22.0
🔆 Highlights
- Client: Native support for Server-Side Apply (SSA) (#3253, #2981)
- Update to k8s.io/* v1.34 dependencies (#3231, #3236, #3246, #3259, #3270, #3300)
- Controller: Implement warmup support for controllers (#3192)
- Priorityqueue: various improvements (#3289, #3290, #3243, #3250)
⚠️ Breaking changes
- Update to k8s.io/* v1.34 dependencies by @alvaroaleman @troy0820 #3231, #3236, #3246, #3259, #3270, #3300
- Client: Add native SSA support by @alvaroaleman in #3253
- Client: Default selector to Nothing if it is nil for
MatchingLabelsSelectorandMatchingFieldsSelectorby @acumino in #3279 - Fakeclient: Add SSA support by @alvaroaleman in #2981
- Fakeclient: Remove support for objects with pointer ObjectMeta by @alvaroaleman in #3228
- Fakeclient: Clear TypeMeta for structured objects by @alvaroaleman in #3229
- Priorityqueue: Make Priority option a pointer by @alvaroaleman in #3289
✨ Features
- Client: Add UnsafeDisableDeepCopy to GetOptions by @jonathan-innis in #3227
- Controller: Add a ReconciliationTimeout option by @alvaroaleman in #3296
- Controller: Implement warmup support for controllers by @godwinpang in #3192
- Envtest: Allow selection of binaries version by release series by @cbandy in #3280
- Manager: Add support for custom labels on leader election leases by @DerekFrank in #3237
- Priorityqueue: WithLowPriorityWhenUnchanged: Set Priority for all add methods by @alvaroaleman in #3290
- Webhooks: Handle panics during conversion more gracefully by @sbueringer in #3278
🐛 Bugfixes
- Envtest: Ensure cleanup validates etcd process state first by @Danil-Grigorev in #3272
- Envtest: Include listening address in kube-apiserver serving certificate by @solidDoWant in #3284
- Fakeclient: Fix some SSA-related bugs by @alvaroaleman in #3268
- Fakeclient: Update passed object in Apply by @alvaroaleman in #3283
- Fakeclient: Validate managed fields on init objects by @alvaroaleman in #3282
- Manager: Prevent goroutine leak on shutdown timeout by @jingyih in #3247
- Priorityqueue: Don't block on Get when queue is shutdown by @dongjiang1989 in #3243
- Priorityqueue: Shutdown on shutdown by @alvaroaleman in #3250
- Unit tests: Fix ginkgo panic in webhook integration test by @sbueringer in #3288
- Unit tests: Fix race condition in Warmup unit test by @sbueringer in #3287
🌱 Other
- Certwatcher: Add instance-specific logger with cert/key k/v pair by @s-z-z in #3293
- Certwatcher: Don't require leader election by @alvaroaleman in #3273
- Examples-builtin: Refactor controller setup to use builder pattern by @s-z-z in #3265
- Fix deprecation warnings by @sbueringer in #3275
- Update golangci-lint to v2.3.0 by @dongjiang1989 in #3266
- Unit tests: Stop using context.Background()/TODO() in tests by @alvaroaleman in #3263
📖 Documentation
- Clarify our versioning scheme by @alvaroaleman in #3264
- Clarify state of Warmup feature by @sbueringer in #3299
- Extend godoc of SyncPeriod field by @guettli in #3269, #3277
- Fix docs for LabelChangedPredicate by @guettli in #3254
- Make pod naming consistent in examples by @clebs in #3251
- Sync admins & maintainers with kubernetes/org by @sbueringer in #3258
Dependencies
Added
- github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp: v1.26.0
- github.com/envoyproxy/go-control-plane/envoy: v1.32.4
- github.com/envoyproxy/go-control-plane/ratelimit: v0.1.0
- github.com/go-jose/go-jose/v4: v4.0.4
- github.com/golang-jwt/jwt/v5: v5.2.2
- github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus: v1.0.1
- github.com/grpc-ecosystem/go-grpc-middleware/v2: v2.3.0
- github.com/spiffe/go-spiffe/v2: v2.5.0
- github.com/zeebo/errs: v1.4.0
- go.etcd.io/raft/v3: v3.6.0
- go.opentelemetry.io/contrib/detectors/gcp: v1.34.0
- go.opentelemetry.io/otel/sdk/metric: v1.34.0
- go.yaml.in/yaml/v2: v2.4.2
- go.yaml.in/yaml/v3: v3.0.4
- sigs.k8s.io/structured-merge-diff/v6: v6.3.0
Changed
- cel.dev/expr: v0.19.1 → v0.24.0
- cloud.google.com/go/compute/metadata: v0.5.0 → v0.6.0
- github.com/cncf/xds/go: b4127c9 → 2f00578
- github.com/cpuguy83/go-md2man/v2: v2.0.4 → v2.0.6
- github.com/emicklei/go-restful/v3: v3.11.0 → v3.12.2
- github.com/envoyproxy/go-control-plane: v0.13.0 → v0.13.4
- github.com/envoyproxy/protoc-gen-validate: v1.1.0 → v1.2.1
- github.com/fsnotify/fsnotify: v1.7.0 → v1.9.0
- github.com/fxamacker/cbor/v2: v2.7.0 → v2.9.0
- github.com/golang/glog: v1.2.2 → v1.2.4
- github.com/google/cel-go: v0.23.2 → v0.26.0
- github.com/google/gnostic-models: v0.6.9 → v0.7.0
- github.com/grpc-ecosystem/grpc-gateway/v2: v2.24.0 → v2.26.3
- github.com/jonboulle/clockwork: v0.4.0 → v0.5.0
- github.com/modern-go/reflect2: v1.0.2 → 35a7c28
- github.com/spf13/cobra: v1.8.1 → v1.9.1
- github.com/spf13/pflag: v1.0.5 → v1.0.6
- go.etcd.io/bbolt: v1.3.11 → v1.4.2
- go.etcd.io/etcd/api/v3: v3.5.21 → v3.6.4
- go.etcd.io/etcd/client/pkg/v3: v3.5.21 → v3.6.4
- go.etcd.io/etcd/client/v3: v3.5.21 → v3.6.4
- go.etcd.io/etcd/pkg/v3: v3.5.21 → v3.6.4
- go.etcd.io/etcd/server/v3: v3.5.21 → v3.6.4
- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.58.0 → v0.60.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.33.0 → v1.34.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.33.0 → v1.34.0
- go.opentelemetry.io/otel/metric: v1.33.0 → v1.35.0
- go.opentelemetry.io/otel/sdk: v1.33.0 → v1.34.0
- go.opentelemetry.io/otel/trace: v1.33.0 → v1.35.0
- go.opentelemetry.io/otel: v1.33.0 → v1.35.0
- go.opentelemetry.io/proto/otlp: v1.4.0 → v1.5.0
- google.golang.org/genproto/googleapis/api: e6fa225 → a0af3ef
- google.golang.org/genproto/googleapis/rpc: e6fa225 → a0af3ef
- google.golang.org/grpc: v1.68.1 → v1.72.1
- k8s.io/api: v0.33.0 → v0.34.0
- k8s.io/apiextensions-apiserver: v0.33.0 → v0.34.0
- k8s.io/apimachinery: v0.33.0 → v0.34.0
- k8s.io/apiserver: v0.33.0 → v0.34.0
- k8s.io/client-go: v0.33.0 → v0.34.0
- k8s.io/code-generator: v0.33.0 → v0.34.0
- k8s.io/component-base: v0.33.0 → v0.34.0
- k8s.io/gengo/v2: 1244d31 → 85fd79d
- k8s.io/kms: v0.33.0 → v0.34.0
- k8s.io/kube-openapi: c8a335a → f3f2b99
- k8s.io/utils: 3ea5e8c → 4c0f3b2
- sigs.k8s.io/json: 9aa6b5e → cfa47c3
- sigs.k8s.io/yaml: v1.4...
v0.21.0
Highlights
- Bump to Kubernetes v1.33 libraries
- Improvements for priority queue (#2374)
- envtest now has an option to download envtest binaries (can be used to replace setup-envtest depending on use case)
- Metric improvements: native histograms, all Go runtime metrics are enabled now
- Various bug fixes
- New reviewers: @troy0820, @JoelSpeed!!
⚠️ Breaking Changes
- Bump to k8s.io/* v0.33.0 and Go 1.24 (#3104 #3142 #3161 #3204 #3215)
- config: Stop enabling client-side ratelimiter by default (#3119)
- Previous behavior can be preserved by setting QPS 20 and Burst 30 on the rest.Config
- controller: NewUnmanaged/NewTypedUnmanaged: Stop requiring a manager (#3141)
- reconcile: Deprecate
Result.Requeue(#3107) - metrics: Expose all Go runtime metrics (#3070)
✨ New Features
- controller: priority queue:
- Add debug logging for the state of the priority queue (#3075)
- Add priority label to queue depth metric (#3156)
- Leverage IsInInitialList (#3162)
- Remove redundant WithLowPriorityWhenUnchanged in builder (#3168)
- Retain the priority after Reconcile (#3167)
- Set priority automatically in handlers (#3111 #3152 #3160 #3174)
- envtest: Add Environment.KubeConfig field (#2278)
- envtest: Add option to download envtest binaries (#3135 #3137)
- events: Add IsInInitialList to TypedCreateEvent (#3162)
- log/zap: Enable panic log level (#3186)
- logging: Adopt WarningHandlerWithContext (#3176)
- logging: Improve logging by adopting contextual logging (#3149)
- metrics: Adopt native histograms (#3165)
🐛 Bug Fixes
- apiutil: restmapper: Respect preferred version (#3151)
- builder: webhook: Fix custom path for webhook conflicts (#3102)
- cache: Clone maps to prevent data races when concurrently creating caches using the same options (#3078)
- cache: Stop accumulating lists in multi-namespace cache implementation (#3195)
- cache: List out of global cache when present and necessary (#3126)
- client: Return error if pagination is used with the cached client (#3134)
- controller: Support WaitForSync in TypedSyncingSource (#3084)
- controller: priority queue: Fix behavior of rate limit option in priorityqueue.AddWithOpts (#3103)
- controller: priority queue: Yet another queue_depth metric fix (#3085)
- controllerutil: CreateOrUpdate: Avoid panic when the MutateFn is nil (#2828)
- envtest: Fix nil pointer exception in Stop() (#3153)
- fake client: Fix data races when writing to the scheme (#3143)
- fake client: Use k8s.io/apimachinery/pkg/util/json to unmarshal in fake client (#3208)
- log/zap: Fix verbose info lost on KubeAwareEncoder.Clone (#3209)
- logging: controller: Use fmt.Stringer from custom source for logging (if available) (#3068)
- webhook: MultiMutatingHandler/MultiValidatingHandler: return warnings on webhook response (#3223)
🌱 Others
- Add troy0820 to reviewers (#3099)
- Add JoelSpeed to reviewers (#3097)
- client: Validate that unstructured objects don't require scheme registration (#3138)
- controller: Mention the SkipNameValidation option in the name validation error (#3170)
- docs: Clarify that controller-runtime is not a kubebuilder subproject (#3185)
- envtest: Export envtest.ReadCRDFiles (#3129)
- golangci-lint: Bump golangci-lint to v1.63.4 (#3076)
- golangci-lint: Bump golangci-lint to v2.1.6 (#3187)
- manager: Fix race in unit test (#3150)
- setup-envtest: Add RELEASE_TAG to show binary version with version command (#3166)
- setup-envtest: Fix Godoc for version.Version (#3177)
- tests: Fix: make test fails with make: *** [Makefile:73: test] Error 1 (#3125)
📖 Additionally, there have been 4 contributions to our documentation. (#3116, #3118, #3169, #3181, #3193, #3225)
Dependencies
Added
- github.com/klauspost/compress: v1.18.0
- github.com/kylelemons/godebug: v1.1.0
- github.com/planetscale/vtprotobuf: 0393e58
- go.opentelemetry.io/auto/sdk: v1.1.0
- gopkg.in/go-jose/go-jose.v2: v2.6.3
- sigs.k8s.io/randfill: v1.0.0
Changed
- cel.dev/expr: v0.18.0 → v0.19.1
- cloud.google.com/go/compute/metadata: v0.3.0 → v0.5.0
- github.com/cncf/xds/go: 555b57e → b4127c9
- github.com/coreos/go-oidc: v2.2.1+incompatible → v2.3.0+incompatible
- github.com/davecgh/go-spew: d8f796a → v1.1.1
- github.com/envoyproxy/go-control-plane: v0.12.0 → v0.13.0
- github.com/envoyproxy/protoc-gen-validate: v1.0.4 → v1.1.0
- github.com/evanphx/json-patch/v5: v5.9.0 → v5.9.11
- github.com/golang-jwt/jwt/v4: v4.5.0 → v4.5.2
- github.com/golang/glog: v1.2.1 → v1.2.2
- github.com/google/cel-go: v0.22.0 → v0.23.2
- github.com/google/gnostic-models: v0.6.8 → v0.6.9
- github.com/google/go-cmp: v0.6.0 → v0.7.0
- github.com/gorilla/websocket: v1.5.0 → e064f32
- github.com/grpc-ecosystem/grpc-gateway/v2: v2.20.0 → v2.24.0
- github.com/jessevdk/go-flags: v1.4.0 → v1.6.1
- github.com/onsi/ginkgo/v2: v2.21.0 → v2.22.0
- github.com/onsi/gomega: v1.35.1 → v1.36.1
- github.com/pmezard/go-difflib: 5d4384e → v1.0.0
- github.com/prometheus/client_golang: v1.19.1 → v1.22.0
- github.com/prometheus/common: v0.55.0 → v0.62.0
- github.com/rogpeppe/go-internal: v1.12.0 → v1.13.1
- github.com/stretchr/objx: v0.5.0 → v0.5.2
- github.com/stretchr/testify: v1.9.0 → v1.10.0
- go.etcd.io/etcd/api/v3: v3.5.16 → v3.5.21
- go.etcd.io/etcd/client/pkg/v3: v3.5.16 → v3.5.21
- go.etcd.io/etcd/client/v2: v2.305.16 → v2.305.21
- go.etcd.io/etcd/client/v3: v3.5.16 → v3.5.21
- go.etcd.io/etcd/pkg/v3: v3.5.16 → v3.5.21
- go.etcd.io/etcd/raft/v3: v3.5.16 → v3.5.21
- go.etcd.io/etcd/server/v3: v3.5.16 → v3.5.21
- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.53.0 → v0.58.0
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.53.0 → v0.58.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.27.0 → v1.33.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.28.0 → v1.33.0
- go.opentelemetry.io/otel/metric: v1.28.0 → v1.33.0
- go.opentelemetry.io/otel/sdk: v1.28.0 → v1.33.0
- go.opentelemetry.io/otel/trace: v1.28.0 → v1.33.0
- go.opentelemetry.io/otel: v1.28.0 → v1.33.0
- go.opentelemetry.io/proto/otlp: v1.3.1 → v1.4.0
- golang.org/x/crypto: v0.28.0 → v0.36.0
- golang.org/x/net: v0.30.0 → v0.38.0
- golang.org/x/oauth2: v0.23.0 → v0.27.0
- golang.org/x/sync: v0.8.0 → v0.12.0
- golang.org/x/sys: v0.26.0 → v0.31.0
- golang.org/x/term: v0.25.0 → v0.30.0
- golang.org/x/text: v0.19.0 → v0.23.0
- golang.org/x/time: v0.7.0 → v0.9.0
- google.golang.org/genproto/googleapis/api: f6391c0 → e6fa225
- google.golang.org/genproto/googleapis/rpc: f6391c0 → e6fa225
- google.golang.org/grpc: v1.65.0 → v1.68.1
- google.golang.org/protobuf: v1.35.1 → v1.36.5
- k8s.io/api: v0.32.0 → v0.33.0
- k8s.io/apiextensions-apiserver: v0.32.0 → v0.33.0
- k8s.io/apimachinery: v0.32.0 → v0.33.0
- k8s.io/apiserver: v0.32.0 → v0.33.0
- k8s.io/client-go: v0.32.0 → v0.33.0
- k8s.io/code-generator: v0.32.0 → v0.33.0
- k8s.io/component-base: v0.32.0 → v0.33.0
- k8s.io/gengo/v2: 2b36238 → 1244d31
- k8s.io/kms: v0.32.0 → v0.33.0
- k8s.io/kube-openapi: 32ad38e → c8a335a
- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.31.0 → v0.31.2
- sigs.k8s.io/structured-merge-diff/v4: v4.4.2 → v4.6.0
Removed
- github.com/asaskevich/govalidator: f61b66f
- github.com/go-kit/log: v0.2.1
- github.com/go-logfmt/logfmt: v0.5.1
- google.golang.org/appengine: v1.6.7
- gopkg.in/square/go-jose.v2: v2.6.0
Thanks to all our contributors! 😊
v0.20.4
What's Changed
- 🐛 Restmapper: Respect preferred version by @k8s-infra-cherrypick-robot in #3159
- 🌱 Mention the SkipNameValidation option in the name validation error by @k8s-infra-cherrypick-robot in #3172
- ✨ Controller: Retain the priority by @k8s-infra-cherrypick-robot in #3173
- ✨Add RELEASE_TAG to tools/setup-envtest to show binary version with setup-envtest version by @k8s-infra-cherrypick-robot in #3175
- 🌱 Handlers: Default to LowPriorityWhenUnchanged without a wrapper by @alvaroaleman in #3179
Full Changelog: v0.20.3...v0.20.4