Skip to content

Releases: kubernetes-sigs/controller-runtime

v0.18.0

24 Apr 16:27
ed81fa6
Compare
Choose a tag to compare

⚠️ Breaking Changes

  • Bump to k8s.io/* v1.30 (#2693 #2754 #2765 #2776 #2786)
  • Remove deprecated v1alpha1.ControllerManagerConfiguration (#2648)
  • admission.Decoder is now an interface (#2736)
  • Source, Event, Predicate, Handler: Add generics support (#2783 #2796)
  • client: Fix SubResourceCreateOptions signature in subresource client (#2766)

✨ New Features

  • cache: Add TransformStripManagedFields transform func (#2791)
  • client: Add client.WithFieldOwner to configure client-wide FieldManager (#2771 #2777)
  • controller: Add NewQueue option (#2767)
  • manager: Export HTTP server runnable implementation (#2473)
  • metrics/server: Add ListenConfig option (#2519)

🐛 Bug Fixes

  • builder/webhook: Return error if For() is used multiple times (#2740)
  • cache: Keep selectors when byObject.Namespaces is defaulted (#2747)
  • cache: Prevent race when informers are started more than once (#2758)
  • fake client: Allow fakeclient to patch CR with no resourceVersion (#2725)
  • fake client: Do not consider an apply patch to be a strategic merge patch (#2679)
  • manager: Prevent leader election when shutting down a non-elected manager (#2724)
  • manager: Runnable group should check if stopped before enqueueing (#2757)
  • restmapper: Clean restmapper cache if a version is notFound (#2663)
  • restmapper: Fix cache invalidation (#2687)

🌱 Others

  • ci: Add OSSF scorecard action (#2714)
  • ci: Improve github actions dependencies versions and permissions (#2715)
  • ci: Pin checkout action in golangci-lint action, bump checkout action, use consistent tag format (#2729)
  • ci: Update golangci-lint to v1.57.2 (#2708 #2751)
  • ci: Update scorecard github action (#2728)
  • ci: Use go-install for versioned dependencies (#2710)
  • envtest: WaitForDefaultNamespace while starting up envtest (#2668)
  • owners: Cleanup owners files (#2730)
  • owners: Remove outdated testing framework approvers (#2709)
  • predicate: Compare labels and annotations using maps.Equal (#2705)
  • typos: Fix typo of CacheReader comment (#2773)
  • typos: Fix typo in channel option (#2792)
  • typos: Minor typo fixes in docstrings (#2727)

📖 Additionally, there have been 3 contributions to our documentation and book. (#2712, #2770, #2789)

Dependencies

Added

  • github.com/fxamacker/cbor/v2: v2.6.0
  • github.com/x448/float16: v0.8.4
  • golang.org/x/telemetry: b75ee88
  • k8s.io/gengo/v2: 51d4e06

Changed

  • github.com/evanphx/json-patch/v5: v5.8.0 → v5.9.0
  • github.com/golang/protobuf: v1.5.3 → v1.5.4
  • github.com/google/cel-go: v0.17.7 → v0.17.8
  • github.com/onsi/ginkgo/v2: v2.14.0 → v2.17.1
  • github.com/onsi/gomega: v1.30.0 → v1.32.0
  • github.com/prometheus/client_golang: v1.18.0 → v1.16.0
  • github.com/prometheus/client_model: v0.5.0 → v0.4.0
  • github.com/prometheus/common: v0.45.0 → v0.44.0
  • golang.org/x/crypto: v0.16.0 → v0.21.0
  • golang.org/x/mod: v0.14.0 → v0.15.0
  • golang.org/x/net: v0.19.0 → v0.23.0
  • golang.org/x/sync: v0.5.0 → v0.6.0
  • golang.org/x/sys: v0.16.0 → v0.18.0
  • golang.org/x/term: v0.15.0 → v0.18.0
  • golang.org/x/tools: v0.16.1 → v0.18.0
  • google.golang.org/protobuf: v1.31.0 → v1.33.0
  • k8s.io/api: v0.29.0 → v0.30.0
  • k8s.io/apiextensions-apiserver: v0.29.0 → v0.30.0
  • k8s.io/apimachinery: v0.29.0 → v0.30.0
  • k8s.io/apiserver: v0.29.0 → v0.30.0
  • k8s.io/client-go: v0.29.0 → v0.30.0
  • k8s.io/code-generator: v0.29.0 → v0.30.0
  • k8s.io/component-base: v0.29.0 → v0.30.0
  • k8s.io/klog/v2: v2.110.1 → v2.120.1
  • k8s.io/kms: v0.29.0 → v0.30.0
  • k8s.io/kube-openapi: 2dd684a → 70dd376
  • sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.28.0 → v0.29.0
  • sigs.k8s.io/yaml: v1.4.0 → v1.3.0

Removed

  • github.com/matttproud/golang_protobuf_extensions/v2: v2.0.0
  • go.uber.org/atomic: v1.10.0
  • k8s.io/gengo: 9cce18d

Thanks to all our contributors! 😊

v0.17.3

08 Apr 18:20
c25fe2f
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.17.2...v0.17.3

v0.17.2

15 Feb 19:01
d0396a3
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.17.1...v0.17.2

v0.16.5

15 Feb 19:02
dca5e8b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.16.4...v0.16.5

v0.17.1

09 Feb 09:18
5923139
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.17.0...v0.17.1

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