v0.16.0
Highlights
- Granular cache configuration (#2421)
- New cache option to fail on missing informer on cache reads (#2406)
- Secure metrics serving (#2407)
- Upgrade to Kubernetes 1.28 libraries (#2393, #2405, #2449)
Changes since v0.15
⚠️ Breaking Changes
- Bump k8s.io/* dependencies to v1.28.0 by @sbueringer (#2393, #2405, #2449)
- Allow configuring more granular cache filtering by @alvaroaleman (#2421)
- Introduce Metrics Options & secure metrics serving by @sbueringer (#2407)
- Return an error if the continue list option is set for the cache reader by @shuheiktgw (#2439)
- Remove deprecated manager, webhook and cluster options by @sbueringer (#2422)
- Remove deprecated MultiNamespacedCacheBuilder, NewFakeClientWithScheme, controllerutil.Object, envtest.Environment.KubeAPIServerFlags & zap.Options.DestWritter by @sbueringer (#2423)
- controller builder: return error when multiple reconcilers are set by @sbueringer (#2415)
- fake client: use correct RBAC apiGroup name when deciding if to allow unconditional updates by @jaideepr97 (#2412)
- Minor improvements to godoc & code style in cache pkg by @sbueringer (#2416)
✨ New Features
- Cache: add ReaderFailOnMissingInformer option by @stevekuznetsov (#2406)
- Cache: allow non-blocking retrieval of informers by @maxsmythe (#2371)
🐛 Bug Fixes
- Add missing return statement in admission.Decoder.DecodeRaw by @lleshchi (#2433)
- fakeClient.Status().Update(...) cannot recognize resource version conflicts by @iiiceoo (#2365)
- Fix Defaulting of the User Agent by @alvaroaleman (#2435)
- Fix logs in the unstructured client by @Poor12 (#2343)
- Fix unspecified KindsFor version by @tenstad (#2346)
- Fix TerminalError(nil).Error() panic by @sheidkamp (#2438)
- hasLabels and matchingLabels step on each other by @shanshanying (#2363)
- SetLogger should work with nil sinks by @vincepri (#2367)
🌱 Others
- Use NewRateLimitingQueueWithConfig instead of deprecated NewNamedRateLimitingQueue by @sbueringer (#2411)
- Add a prefix to the stack trace printed after SetLogger timeout by @vincepri (#2357)
- Minor improvements to godoc, code style in builder pkg by @sbueringer (#2414)
- Add integration test to avoid manager.Start deadlocks by @sbueringer (#2418)
- Automatically regenerate scratch env go mod file by @sbueringer (#2413)
- Introduce a new runnable group for basic servers of the manager by @zqzten (#2337)
- Add logs around Reconcile call, change webhook logs to log level 5 by @sbueringer (#2419)
- Add action to update modules on dependabot PRs by @sbueringer (#2447, #2448)
- Optimize Add/RemoveFinalizer by @0xff-dev (#2348)
- Log warning if error and non-zero Result are returned by @sbueringer (#2451)
📖 Documentation and proposals
- Add a design for cache options configuration by @alvaroaleman (#2261)
- Add documentation to clarify the ContentType behavior by @FillZpp (#2410)
- Clarify that the reconcile.Result is ignored on non-nil error by @alvaroaleman (#2444)
- Fix typo "compatiblity" to "compatibility" by @ArshiAAkhavan (#2396)
- Update fake client doc.go to avoid the deprecated method by @sunglim (#2392)
📈 Dependencies
- Bump k8s.io/klog/v2 from 2.90.1 to 2.100.1 by @dependabot (#2294)
- Bump github.com/onsi/ginkgo/v2 from 2.9.5 to 2.11.0 by @dependabot (#2368, #2376, #2384)
- Bump github.com/onsi/gomega from 1.27.7 to 1.27.8 by @dependabot (#2375, #2420)
- Bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0 by @dependabot (#2383)
- Bump golang.org/x/sys from 0.8.0 to 0.11.0 by @dependabot (#2377, #2401, #2441)
- Bump gomodules.xyz/jsonpatch/v2 from 2.3.0 to 2.4.0 by @dependabot (#2446)
- Bump go.uber.org/zap from 1.24.0 to 1.25.0 by @dependabot (#2440)
- Bump golangci-lint to v1.53 by @vincepri (#2398)
- Bump controller-tools to v0.13 by @sbueringer (#2450)
Thanks to all our contributors! 😊
Full Changelog: v0.15.0...v0.16.0