Skip to content

Releases: kubernetes-sigs/controller-runtime

v0.5.0

12 Feb 22:30
0fcf28e
Compare
Choose a tag to compare

v0.5.0

⚠️ Breaking Changes

  • Update dependencies to k8s 1.17 (#795) -- impact: minimal -- minor change in fake leader election interface. If you were faking out leader election, you may need slight adjustment.

  • Bump to Go 1.13 (#606) -- impact: minimal -- soft bump to go 1.13 already occurred, new changes mean we now won't work properly on older versions (e.g. new "errors" package)

  • Envtest: Do not pull in ginkgo outside of _test.go files (#720) -- impact: larger. Test suite generated with kubebuilder will need an additional import for the ginkgo NewlineReporter. Folks not using the NewlineReporter should have zero impact

  • Remove defaulting for leader election ID (#446) -- impact: if you're using leader election, leaving the leader election ID field empty will now yield a runtime error

  • Add testenv support for CRDv1/CRDv1beta1 + update to k8s 1.16.4 (#752) -- impact: if you were populating the CRD field of envtest.Environment by hand (as opposed to loading files from disk), you'll have to change the type of the slice. If you were accessing this field, the type is now runtime.Object. Adjust accordingly.

  • Bring in testing framework (#749) -- impact: minimal -- if you were manually importing sigs.k8s.io/testing_frameworks, you'll have to update your import paths.

✨ New Features

  • APIServer defaults deduplication (#763)
  • Parameterize webhook key/cert name (#760)
  • update CRD if already present (#696)
  • Add Merge patch type and deprecate ConstantPatch in favor of RawPatch (#721)
  • client: Use dynamic RESTMapper by default (#737)
  • Define metrics.Registry as an interface (#713)
  • ErrorIfCRDPathMissing on Environment (#715)
  • CRD file path on CRDInstallOptions.Paths (#716)
  • Clean-up installed CRDs on Stop() (#697)
  • add 10% jitter to ResyncPeriod (#647)
  • envtest: surface merged crds (#706)
  • Add HasLabels helper option for List calls (#792)

🐛 Bug Fixes

  • When loading client config, check os/user.HomeDir if $HOME is unset (#753)
  • Integration test should close http body (#786)
  • Fix panic in call to processState.Stop() (#781)
  • wait for cache start before returning from WaitForCacheSync (#755)
  • Envtest: Allow creating objects with privileged container specs (#708)
  • Remove TotalRequests Prometheus metrics as it is not getting used (#719)
  • Fix SetControllerReference to consider multiple CRD versions (#707)
  • use semantic equality in CreateOrUpdate (#704)

Thanks to all our contributors!

v0.4.0

15 Nov 20:43
198197f
Compare
Choose a tag to compare

v0.4.0

⚠️ Breaking Changes

  • Soft-bump to Go 1.13 (#685) -- this will not break anyone at the moment, but Go 1.13 features (particularly errors) may be adopted in a future feature release.

  • Bump to kube-1.16.0 (#618) -- this is breaking due to a change in metav1.ObjectMeta. It's the removal of a deprecated field, and thus unlikely to affect many people, but technically shows up in our API

  • Minor change in home directory resolution: when resolving home directories, we now use $HOME instead of user.Current(). This change was not entirely intended, but does appear to bring us in line with tooling like kubectl. See #748 for ongoing details. Thanks to @edwardecook for reporting.

  • Semantic change: don't error on missing watched types in controller.New (#643): due to changes in when controllers start their watches, you will no longer receive errors if your watch types aren't registered with the API server when calling controller.New (and consequently Builder.Complete). These errors will now occur at controller (generally manager) start time instead, and will cause manager termination. See #840 for more details.

✨ New Features

  • envtest set service-cluster-ip-range if user not set (#659)
  • Add helpers for remaining Zap options (#639)
  • fakeClient: bump ResourceVersion on write (#620)
  • Update sigs.k8s.io/testing_frameworks to v0.1.2 (#672)
  • Add support for multi-value KUBECONFIG (#642)
  • Improve webhook loggings (#439)
  • implement helpers for add/remove finalizer (#545)
  • Add helpers for common Zap options (#646)
  • added health probes (#419)
  • handle unstructured objects correctly in fake client (#682)

🐛 Bug Fixes

  • InformerCache: Do not require leader lease (#678)
  • cross-namespace owner references should be disallowed (#675)
  • Fix delete example not setting metadata properly for CRDs (#674)
  • go.mod,go.sum: revert prometheus/client_golang to v0.9.x (#679)
  • pkg/metrics/workqueue.go: remove deprecated metrics (#662)
  • Allow kube-apiserver to start without a default route (#670)
  • pkg/log/zap: use enabled in UseDevMode, add tests (#653)
  • prevent controller.New and manager's errChan from leaking goroutines (#651)
  • Fix comments for option in zap (#643)

Thanks to all our contributors!

v0.3.0

10 Oct 23:01
d212411
Compare
Choose a tag to compare

v0.3.0

Note that this release is NOT code-breaking -- it removes support for dep, so we don't want dep users to accidentally upgrade

⚠️ Breaking Changes

  • Remove dep usage and Gopkg.* (#598)

✨ New Features

  • Bump dependencies for Kubernetes 1.15.4 (#599)
  • Avoid extra deep copy in CacheReader.List (#625)
  • Add Limit and Continue functional list options for client (#341)
  • Expose CRDInstallOptions via envtest.Environment (#544)
  • DynamicRESTMapper that reloads on REST cache miss (#554)

🐛 Bug Fixes

  • Return error when trying to read from an unstarted cache (#627)
  • Set limit and continue in ApplyToList method (#608)
  • Prevent NewDiscoveryRESTMapper from panicking by calling NewDiscoveryClientForConfig (#622)

Thanks to all our contributors!

v0.2.2

17 Sep 19:32
fc5542c
Compare
Choose a tag to compare

v0.2.2

✨ New Features

  • Client option types implement client option interfaces (#589)
  • Let users specify their own EventBroadcaster for the manager (#591)

🐛 Bug Fixes

  • should support webhook certDir args (#569)

Thanks to all our contributors!

v0.2.1

11 Sep 23:31
1592b5e
Compare
Choose a tag to compare

v0.2.1

✨ New Features

  • pkg/client/options.go: MatchingSelector can add a fields.Selector to ListOptions (#578)
  • Allow fine-grained configuration of log/zap (#560)

🐛 Bug Fixes

  • Minor upgrade of gnostic to v0.3.1 (#584)

Thanks to all our contributors!

v0.2.0

22 Aug 22:57
e1159d6
Compare
Choose a tag to compare

🚨 This is a MAJOR release. A number of breaking changes exist in this release. Bold changes are likely to have issues across many existing codebases. Additionally, a number of packages under pkg/runtime have been moved, with their old locations deprecated. Expect the deprecated paths to be removed in a later release before v1.0.0.

Of particular note is that automatic certificate generation for webhooks has been removed, and webhooks will no longer self-register. Use controller-tools to generate a webhook configuration, and use something like cert-manager to generate your certificates (if you don't already have a solution). The next release of Kubebuilder will support this out-of-the-box.

Check alpha.0 for more release notes

Changes since rc.0

🐛 Bug Fixes

  • Bump jsonpatch to v2.0.1 (back to normal version tags) (#574)

Thanks to all our contributors!

v0.2.0-rc.0

15 Aug 23:46
8941d18
Compare
Choose a tag to compare
v0.2.0-rc.0 Pre-release
Pre-release

🚨 This is a RC release. A number of breaking changes exist in this release. Bold changes are likely to have issues across many existing codebases. Additionally, a number of packages under pkg/runtime have been moved, with their old locations deprecated. Expect the deprecated paths to be removed in a later release before v1.0.0.

Of particular note is that automatic certificate generation for webhooks has been removed, and webhooks will no longer self-register. Use controller-tools to generate a webhook configuration, and use something like cert-manager to generate your certificates (if you don't already have a solution). The next release of Kubebuilder will support this out-of-the-box.

Check alpha.0 for more release notes

Changes since beta.4

✨ New Features

  • Add predicate for Generation change on update event (#553)
  • ZapLoggerTo points to zap.LoggerTo (#559)

Thanks to all our contributors!

v0.2.0-beta.5

07 Aug 00:22
eb94491
Compare
Choose a tag to compare
v0.2.0-beta.5 Pre-release
Pre-release

🚨 This is a beta release. A number of breaking changes exist in this release. Bold changes are likely to have issues across many existing codebases. Additionally, a number of packages under pkg/runtime have been moved, with their old locations deprecated. Expect the deprecated paths to be removed in a later release before v1.0.0.

Of particular note is that automatic certificate generation for webhooks has been removed, and webhooks will no longer self-register. Use controller-tools to generate a webhook configuration, and use something like cert-manager to generate your certificates (if you don't already have a solution). The next release of Kubebuilder will support this out-of-the-box.

Check alpha.0 for more release notes

Changes since beta.4

⚠️ Breaking Changes

  • Allow reconcilers to add watches dynamically (#542)
  • Functional Options Redux (#536)
  • support delete validation in validator interface (#525)

✨ New Features

  • Pass HTTP request Context through to admission Webhook handlers (#549)
  • Implement delete collection via delete options (#447)
  • decoder now errors out when encountering an empty runtime.RawExtension (#529)

🐛 Bug Fixes

  • fix SimpleController in builder test (#552)
  • surface controller options when using builder (#520)
  • Preserve GroupVersionKind during Update/Patch (#528)
  • fix grammer of error in SetControllerReference (#539)
  • stop using hardcoded temp dir (#530)
  • Remove unused disableWebhookConfigInstaller flag (#515)

Thanks to all our contributors!

v0.2.0-beta.4

02 Jul 21:46
aaddbd9
Compare
Choose a tag to compare
v0.2.0-beta.4 Pre-release
Pre-release

🚨 This is a beta release. A number of breaking changes exist in this release. Bold changes are likely to have issues across many existing codebases. Additionally, a number of packages under pkg/runtime have been moved, with their old locations deprecated. Expect the deprecated paths to be removed in a later release before v1.0.0.

Of particular note is that automatic certificate generation for webhooks has been removed, and webhooks will no longer self-register. Use controller-tools to generate a webhook configuration, and use something like cert-manager to generate your certificates (if you don't already have a solution). The next release of Kubebuilder will support this out-of-the-box.

Check alpha.0 for more release notes

Changes since beta.3

⚠️ Breaking Changes

  • metrics are now on by default. It can be turn off by setting manager.Options{MetricsBindAddress: "0"} (#510)

✨ New Features

  • add GetConfigWithContext to retrieve a config with a specific context (#489)

🐛 Bug Fixes

  • IsConvertible should not error on uninitialized struct. (#508)
  • fix runnable run twice issue (#487)

Thanks to all our contributors!

v0.2.0-beta.3

28 Jun 18:02
aeaf98d
Compare
Choose a tag to compare
v0.2.0-beta.3 Pre-release
Pre-release

🚨 This is a beta release. A number of breaking changes exist in this release. Bold changes are likely to have issues across many existing codebases. Additionally, a number of packages under pkg/runtime have been moved, with their old locations deprecated. Expect the deprecated paths to be removed in a later release before v1.0.0.

Of particular note is that automatic certificate generation for webhooks has been removed, and webhooks will no longer self-register. Use controller-tools to generate a webhook configuration, and use something like cert-manager to generate your certificates (if you don't already have a solution). The next release of Kubebuilder will support this out-of-the-box.

Check alpha.0 for more release notes

Changes since beta.2

⚠️ Breaking Changes

  • split the webhook builder out as a separate builder. (#497)
  • make UseExistingCluster a pointer to support explicitly op… (#463)

✨ New Features

  • enable conversion webhook in webhook builder (#504)
  • Fix runtime/scheme type aliases (#494)
  • Pass appropriate context to leaderelector.Run (#398)

🐛 Bug Fixes

  • update jsonpatch (#499)
  • stop registering webhooks with same path when adding multiple controllers (#486)
  • remove deprecated workqueue metrics with invalid names (#437)

Thanks to all our contributors!