Skip to content

v0.17.0

Compare
Choose a tag to compare
@sbueringer sbueringer released this 16 Jan 10:06
· 158 commits to main since this release
11e5a5e

⚠️ 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! 😊