Highlights
- Based on k8s.io/* v1.32 libraries and minimum Go version is now v1.23
- New experimental priority queue feature
- AggregatedDiscovery is automatically used when available (#2901)
- As usual, many improvements to the fake client
Changes since v0.19.0
⚠️ Breaking Changes
- Bump to k8s.io/* v1.32 libraries (#2971 #2990 #3001 #3007 #3029 #3043)
- logging: Stop deduplicating API warnings by default (#2953)
- webhook: Stop deleting unknown fields in CustomDefaulter (#2982 #3056)
- webhook: Remove deprecated Defaulter and Validator (#2877 #2945)
- cluster: Remove deprecated SyncPeriod option (#2970)
✨ New Features
- cache: Add EnableWatchBookmarks option (defaults to true) (#3017)
- cache: Export NewInformer option (#3061)
- cert-watcher: Add polling (#3020 #3050)
- controller: Add experimental priority queue (off per default) (#3013 #3014 #3060 #3066)
- fake client: Allow adding indexes at runtime (#3021)
- fake client: Add support for ServiceAccountToken subresource (#2969)
- restmapper: Use AggregatedDiscovery if available (#2901)
- util: Add HasOwnerReference func (#2882)
- webhook: Add custom path option (#2998)
🐛 Bug Fixes
- controller: Error when source.Start() never returns (#2997 #3006 #3008)
- fake client: Don't return items on invalid selector (#3022)
- fake client: Fix TOCTOU races (#2980)
- fake client: Preserve TypeMeta during Get call with PartialObjectMeta (#2949)
- fake client: Preserve TypeMeta during List call with UnstructuredList (#3074)
- manager: Fix RenewDeadline typo in leader election (#3032)
- manager: Use leader elector with client timeout (#3028 #3034)
🌱 Others
- cache: Switch to Go 1.23+ stdlib
maps
/slices
packages (#3012) - controller: Log the syncing source when WaitForSync fails (#3016)
- setup-envtest: drop support for GCS (#2915)
- Some fixes for typos (#3011 #3033 #2993)
🌱 CI
- PR-verify: Verify PR titles with shell script (#2944 #2961 #2964 #2973)
- Remove gosec linter (#3064)
- Upgrade golangci-lint to v1.61.0 (#2950)
📖 Additionally, there have been 7 contributions to our documentation. (#2942, #2985, #2996, #3002, #3039, #3062)
Dependencies
Added
Nothing has changed.
Changed
- cel.dev/expr: v0.15.0 → v0.18.0
- github.com/Azure/go-ansiterm: d185dfc → 306776e
- github.com/go-openapi/jsonpointer: v0.19.6 → v0.21.0
- github.com/go-openapi/swag: v0.22.4 → v0.23.0
- github.com/google/btree: v1.0.1 → v1.1.3
- github.com/google/cel-go: v0.20.1 → v0.22.0
- github.com/google/pprof: 4bfdf5a → d1b30fe
- github.com/gregjones/httpcache: 9cad4c3 → 901d907
- github.com/jonboulle/clockwork: v0.2.2 → v0.4.0
- github.com/moby/spdystream: v0.4.0 → v0.5.0
- github.com/onsi/ginkgo/v2: v2.19.0 → v2.21.0
- github.com/onsi/gomega: v1.33.1 → v1.35.1
- github.com/stoewer/go-strcase: v1.2.0 → v1.3.0
- github.com/xiang90/probing: 43a291a → a49e3df
- go.etcd.io/bbolt: v1.3.9 → v1.3.11
- go.etcd.io/etcd/api/v3: v3.5.14 → v3.5.16
- go.etcd.io/etcd/client/pkg/v3: v3.5.14 → v3.5.16
- go.etcd.io/etcd/client/v2: v2.305.13 → v2.305.16
- go.etcd.io/etcd/client/v3: v3.5.14 → v3.5.16
- go.etcd.io/etcd/pkg/v3: v3.5.13 → v3.5.16
- go.etcd.io/etcd/raft/v3: v3.5.13 → v3.5.16
- go.etcd.io/etcd/server/v3: v3.5.13 → v3.5.16
- go.uber.org/zap: v1.26.0 → v1.27.0
- golang.org/x/crypto: v0.24.0 → v0.28.0
- golang.org/x/exp: f3d0a9c → 8a7402a
- golang.org/x/mod: v0.17.0 → v0.21.0
- golang.org/x/net: v0.26.0 → v0.30.0
- golang.org/x/oauth2: v0.21.0 → v0.23.0
- golang.org/x/sync: v0.7.0 → v0.8.0
- golang.org/x/sys: v0.21.0 → v0.26.0
- golang.org/x/telemetry: f48c80b → bda5523
- golang.org/x/term: v0.21.0 → v0.25.0
- golang.org/x/text: v0.16.0 → v0.19.0
- golang.org/x/time: v0.3.0 → v0.7.0
- golang.org/x/tools: e35e4cc → v0.26.0
- golang.org/x/xerrors: 04be3eb → 5ec99f8
- google.golang.org/genproto/googleapis/api: 5315273 → f6391c0
- google.golang.org/genproto/googleapis/rpc: f6361c8 → f6391c0
- google.golang.org/genproto: b8732ec → ef43131
- google.golang.org/protobuf: v1.34.2 → v1.35.1
- k8s.io/api: v0.31.0 → v0.32.0
- k8s.io/apiextensions-apiserver: v0.31.0 → v0.32.0
- k8s.io/apimachinery: v0.31.0 → v0.32.0
- k8s.io/apiserver: v0.31.0 → v0.32.0
- k8s.io/client-go: v0.31.0 → v0.32.0
- k8s.io/code-generator: v0.31.0 → v0.32.0
- k8s.io/component-base: v0.31.0 → v0.32.0
- k8s.io/gengo/v2: 51d4e06 → 2b36238
- k8s.io/kms: v0.31.0 → v0.32.0
- k8s.io/kube-openapi: 70dd376 → 32ad38e
- k8s.io/utils: 18e509b → 3ea5e8c
- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.30.3 → v0.31.0
- sigs.k8s.io/json: bc3834c → 9aa6b5e
- sigs.k8s.io/structured-merge-diff/v4: v4.4.1 → v4.4.2
Removed
Thanks to all our contributors! 😊