Skip to content

Releases: kubernetes-sigs/controller-runtime

v0.16.4

09 Feb 09:19
f8acd6e
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.16.3...v0.16.4

v0.17.0

16 Jan 10:06
11e5a5e
Compare
Choose a tag to compare

⚠️ Breaking Changes

  • Fake client: Only set TypeMeta for unstructured (#2633)
  • Update k8s.io/* deps to 1.29 (#2457 #2500 #2553 #2588 #2612 #2615 #2621)
  • Remove apiutil.NewDiscoveryRESTMapper, use DynamicRESTMapper by default for cache (#2611)
  • RESTMapper: don't treat non-existing GroupVersions as errors (#2571)
  • Webhooks: Deprecate admission.Validator and admission.Defaulter (#2639)
  • Webhooks: Limit size of AdmissionRequests to 7MB and size of TokenReviews to 1MB (#2598)

✨ New Features

  • Cache: Allow defining options that apply to all namespaces without explicit config (#2528)
  • Cache: Allow to remove informers (#2285)
  • Cache: Add option to set WatchErrorHandler on informers (#2494)
  • Client: client.MatchingFields now supports multiple indexes (#2512)
  • Fake client: Add flowcontrol api v1 (#2623)
  • Reconciler: Add reconcile.ObjectReconciler (#2592)

🐛 Bug Fixes

  • Add corev1, coordinationv1 scheme for leader election when LeaderElection manager option is true (#2461)
  • Cache: Default namespace only for namespaced object (#2480)
  • Client: Don't truncate large int64s in MergePatch (#2650)
  • controllerutil: Add RemoveControllerReference and HasControllerReference func (#2509 #2595)
  • controllerutil: Add RemoveOwnerReference func (#2462)
  • Dependencies: Refactor tests to drop hard otel dependency (#2460)
  • Envtest: CRDs that aren't convertible should unset spec.conversion (#2525)
  • Fake client: Correctly identify if patch call was made on status (#2508)
  • Fake client: Do not update anything but status when using subresource client (#2479)
  • Fake client: Fix returning object after status update (#2489)
  • Fake client: Fix status subresource getting updated on Update when it is empty (#2484)
  • Fake client: Handle unstructured status update with fake client (#2495)
  • Manager: Fix goroutine leak (#2527)
  • Manager: Use HTTP client from leaderElectionConfig for leader election recorder provider (#2464)
  • RESTMapper: Return NoResourceMatchError when appropriate for backwards compatibility. (#2472)
  • Webhook: Handle http.NoBody (#2605)

🌱 Others

  • Client: Make client.MatchingLabels faster (#2529)
  • Envtest: Allow to ignore scheme.Convertible check for CRDs (#2555)
  • Envtest: Improve process cleanup (#2560)
  • Metrics: Add 100/1000s buckets for Prometheus workqueue histograms (#2638)
  • Metrics: Avoid dependency on apiserver/options if metrics/filters are used (#2645)
  • Replace k8s.io/utils/pointer with k8s.io/utils/ptr (#2488)
  • Webhooks: Cleanup webhook variable assignment (#2604)

🌱 Dependencies

  • Bump github.com/emicklei/go-restful/v3 from v3.9.0 to 3.11.0 (#2507)
  • Bump github.com/evanphx/json-patch from 5.6.0+incompatible to 4.12.0+incompatible (#2501 #2643)
    • Note: We "downgraded" to v4.12.0+incompatible because it is actually newer than v5.6.0+incompatible and to make sure the code in fake client that is using this dependency behaves exactly the same as the corresponding upstream code. We recommend users to either use github.com/evanphx/json-patch@v4.12.0+incompatible or to upgrade to github.com/evanphx/json-patch/v5@v5.8.0. More details can be found in #2643 (comment).
  • Bump github.com/evanphx/json-patch/v5 from 5.6.0 to 5.8.0 (#2499 #2650)
  • Bump github.com/fsnotify/fsnotify from 1.6.0 to 1.7.0 (#2561)
  • Bump github.com/go-logr/logr from 1.2.4 to 1.4.1 (#2566 #2630)
  • Bump github.com/go-logr/zapr from 1.2.4 to 1.3.0 (#2574)
  • Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 (#2545)
  • Bump github.com/onsi/ginkgo/v2 from 2.11.0 to 2.14.0 (#2458 #2514 #2534 #2578 #2610 #2651)
  • Bump github.com/onsi/gomega from 1.27.10 to 1.30.0 (#2521 #2562 #2568 #2579)
  • Bump github.com/prometheus/client_golang from 1.16.0 to 1.18.0 (#2520 #2632)
  • Bump github.com/prometheus/client_model from 0.4.1-0.20230718164431-9a2bf3000d16 to 0.5.0 (#2535)
  • Bump go.uber.org/goleak from 1.2.1 to 1.3.0 (#2569)
  • Bump go.uber.org/zap from 1.25.0 to 1.26.0 (#2502)
  • Bump golang.org/x/net to 0.17.0 (#2540)
  • Bump golang.org/x/sys from 0.11.0 to 0.16.0 (#2470 #2533 #2572 #2597 #2642)
  • Bump k8s.io/klog/v2 from 2.100.1 to 2.110.1 (#2573)
  • Bump sigs.k8s.io/yaml from 1.3.0 to 1.4.0 (#2567)
  • Bump controller-tools from v0.13.0 to v0.14.0 (#2649)
  • Bump go-apidiff from v0.5.0 to v0.8.2 (#2517 #2655)
  • Upgrade dependencies for hack/tools and tools/ (#2517)
  • Bump kubernetes-sigs/kubebuilder-release-tools from 0.3.0 to 0.4.3 (#2532 #2575 #2618)
  • Bump golang version in GH actions (#2609)
  • Bump actions/checkout from 3 to 4 (#2469)
  • Bump actions/setup-go from 4 to 5 (#2617)
  • Bump envtest to 1.28.0 (#2531)

📖 Additionally, there have been 5 contributions to our documentation. (#2497, #2498, #2538, #2599, #2602, #2635 #2647)

Thanks to all our contributors! 😊

v0.13.2

26 Oct 17:53
6ffcf19
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.13.1...v0.13.2

v0.15.3

26 Oct 15:29
9a0ec0f
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.15.2...v0.15.3

v0.14.7

26 Oct 15:30
b9f2982
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.14.6...v0.14.7

v0.16.3

18 Oct 19:27
5f8d96b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.16.2...v0.16.3

v0.16.2

12 Sep 15:43
7db81c7
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.16.1...v0.16.2

v0.16.1

31 Aug 18:12
a597c2c
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.16.0...v0.16.1

v0.16.0

22 Aug 14:52
c20ea14
Compare
Choose a tag to compare

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

🐛 Bug Fixes

🌱 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

📈 Dependencies

Thanks to all our contributors! 😊

Full Changelog: v0.15.0...v0.16.0

v0.15.2

23 Aug 10:56
36bb899
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.15.1...v0.15.2