Skip to content

Releases: cert-manager/cert-manager

v1.13.1

27 Sep 08:21
8472ff4
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

v1.13.1 contains a bugfix for a name collision bug in the StableCertificateRequestName feature that was enabled by default in v1.13.0.

⚠️ READ https://github.com/cert-manager/cert-manager/releases/tag/v1.13.0 before you upgrade from a < v1.13 version!

Changes since v1.13.0

Bug or Regression

  • BUGFIX: fix CertificateRequest name collision bug in StableCertificateRequestName feature. (#6358, @jetstack-bot)

Other (Cleanup or Flake)

  • Upgrade github.com/emicklei/go-restful/v3 to v3.11.0 because v3.10.2 is labeled as "DO NOT USE". (#6368, @inteon)
  • Upgrade Go from 1.20.7 to 1.20.8. (#6370, @jetstack-bot)

v1.12.5

27 Sep 08:23
a7ea746
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

v1.12.5 contains a backport for a name collision bug that was found in v1.13.0

Changes since v1.12.4

Bug or Regression

  • BUGFIX: fix CertificateRequest name collision bug in StableCertificateRequestName feature. (#6359, @jetstack-bot)

Other (Cleanup or Flake)

v1.13.0

12 Sep 15:47
d34bd7a
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

This is the 1.13 release of cert-manager!

cert-manager 1.13 brings support for DNS over HTTPS, support for loading options from a versioned
config file for the cert-manager controller, and more. This release also includes the promotion of
the StableCertificateRequestName and SecretsFilteredCaching feature gates to Beta.

Known issues

The StableCertificateRequestName that was promoted to Beta contains a "name collision" bug: #6342
This is fixed in v1.13.1+

Breaking Changes (You MUST read this before you upgrade!)

  1. IMPORTANT NOTE: If upgrading from a version below v1.12, upgrade to the latest v1.12 release before upgrading to v1.13. Otherwise, some certificates may be unexpectedly re-issued (see #6494 (comment))
  2. BREAKING : If you deploy cert-manager using helm and have .featureGates value set, the features defined there will no longer be passed to cert-manager webhook, only to cert-manager controller. Use webhook.featureGates field instead to define features to be enabled on webhook. (#6093, @irbekrm)
  3. Potentially breaking: If you were, for some reason, passing cert-manager controller's features to webhook's --feature-gates flag, this will now break (unless the webhook actually has a feature by that name). (#6093, @irbekrm)
  4. Potentially breaking: Webhook validation of CertificateRequest resources is stricter now: all KeyUsages and ExtendedKeyUsages must be defined directly in the CertificateRequest resource, the encoded CSR can never contain more usages that defined there. (#6182, @inteon)

Community

Welcome to these new cert-manager members (more info - #6260):
@jsoref
@FlorianLiebhart
@hawksight
@erikgb

Thanks again to all open-source contributors with commits in this release, including:
@AcidLeroy
@FlorianLiebhart
@lucacome
@cypres
@erikgb
@ubergesundheit
@jkroepke
@jsoref
@gdvalle
@rouke-broersma
@schrodit
@zhangzhiqiangcs
@arukiidou
@hawksight
@Richardds
@kahirokunn

Thanks also to the following cert-manager maintainers for their contributions during this release:
@SgtCoDFish
@maelvls
@irbekrm
@inteon

Equally thanks to everyone who provided feedback, helped users and raised issues on Github and Slack and joined our meetings!

Special thanks to @AcidLeroy for adding "load options from a versioned config file" support for the cert-manager controller! This has been on our wishlist for a very long time. (see #5337)

Also, thanks a lot to @FlorianLiebhart for adding support for DNS over HTTPS for the ACME DNS self-check. This is very useful in case all traffic must be HTTP(S) trafic, eg. when using a HTTPS_PROXY. (see #5003)

Thanks also to the CNCF, which provides resources and support, and to the AWS open source team for being good community members and for their maintenance of the PrivateCA Issuer.

In addition, massive thanks to Venafi for contributing developer time and resources towards the continued maintenance of cert-manager projects.

Changes since v1.12.0

Feature

  • Add support for logging options to webhook config file. (#6243, @inteon)
  • Add view permissions to the well-known (Openshift) user-facing cluster-reader aggregated cluster role (#6241, @erikgb)
  • Certificate Shim: distinguish dns names and ip address in certificate (#6267, @zhangzhiqiangcs)
  • Cmctl can now be imported by third parties. (#6049, @SgtCoDFish)
  • Make enableServiceLinks configurable for all Deployments and startupapicheck Job in Helm chart. (#6292, @ubergesundheit)
  • Promoted the StableCertificateRequestName and SecretsFilteredCaching feature gates to Beta (enabled by default). (#6298, @inteon)
  • The cert-manager controller options are now configurable using a configuration file. (#5337, @AcidLeroy)
  • The pki CertificateTemplate functions now perform validation of the CSR blob, making sure we sign a Certificate that matches the IsCA and (Extended)KeyUsages that are defined in the CertificateRequest resource. (#6199, @inteon)
  • [helm] Add prometheus.servicemonitor.endpointAdditionalProperties to define additional properties on a ServiceMonitor endpoint, e.g. relabelings (#6110, @jkroepke)

Design

  • DNS over HTTPS (DoH) is now possible for doing the self-checks during the ACME verification.
    The DNS check method to be used is controlled through the command line flag: --dns01-recursive-nameservers-only=true in combination with --dns01-recursive-nameservers=https://<DoH-endpoint> (e.g. https://8.8.8.8/dns-query). It keeps using DNS lookup as a default method. (#5003, @FlorianLiebhart)

Bug or Regression

  • Allow overriding default pdb .minAvailable with .maxUnavailable without setting .minAvailable to null (#6087, @rouke-broersma)
  • BUGFIX: cmctl check api --wait 0 exited without output and exit code 1; we now make sure we perform the API check at least once and return with the correct error code (#6109, @inteon)
  • BUGFIX: the issuer and certificate-name annotations on a Secret were incorrectly updated when other fields are changed. (#6147, @inteon)
  • BUGFIX[cainjector]: 1-character bug was causing invalid log messages and a memory leak (#6232, @inteon)
  • Fix CloudDNS issuers stuck in propagation check, when multiple instances are issuing for the same FQDN (#6088, @cypres)
  • Fix indentation of Webhook NetworkPolicy matchLabels in helm chart. (#6220, @ubergesundheit)
  • Fixed Cloudflare DNS01 challenge provider race condition when validating multiple domains (#6191, @Richardds)
  • Fixes a bug where webhook was pulling in controller's feature gates.
    ⚠️ ⚠️ BREAKING ⚠️ ⚠️ : If you deploy cert-manager using helm and have .featureGates value set, the features defined there will no longer be passed to cert-manager webhook, only to cert-manager controller. Use webhook.featureGates field instead to define features to be enabled on webhook.
    ⚠️Potentially breaking: If you were, for some reason, passing cert-manager controller's features to webhook's --feature-gates flag, this will now break (unless the webhook actually has a feature by that name). (#6093, @irbekrm)
  • Fixes an issue where cert-manager would incorrectly reject two IP addresses as being unequal when they should have compared equal. This would be most noticeable when using an IPv6 address which doesn't match how Go's net.IP.String() function would have printed that address. (#6293, @SgtCoDFish)
  • We disabled the enableServiceLinks option for our ACME http solver pods, because the option caused the pod to be in a crash loop in a cluster with lot of services. (#6143, @schrodit)
  • ⚠️Potentially breaking: Webhook validation of CertificateRequest resources is stricter now: all KeyUsages and ExtendedKeyUsages must be defined directly in the CertificateRequest resource, the encoded CSR can never contain more usages that defined there. (#6182, @inteon)

Other (Cleanup or Flake)

  • A subset of the klogs flags have been deprecated and will be removed in the future. (#5879, @maelvls)
  • All service links in helm chart deployments have been disabled. (#6144, @schrodit)
  • Cert-manager will now re-issue a certificate if the public key in the latest CertificateRequest resource linked to a Certificate resource does not match the public key of the key encoded in the Secret linked to that Certificate resource (#6168, @inteon)
  • Chore: When hostNetwork is enabled, dnsPolicy is now set to ClusterFirstWithHostNet. (#6156, @kahirokunn)
  • Cleanup the controller configfile structure by introducing sub-structs. (#6242, @inteon)
  • Don't run API Priority and Fairness controller in webhook's extension apiserver (#6085, @irbekrm)
  • Helm: Add apache 2.0 license annotation (#6225, @arukiidou)
  • Make apis/acme/v1/ACMEIssuer.PreferredChain optional in JSON serialization. (#6034, @gdvalle)
  • The SecretPostIssuancePolicyChain now also makes sure that the cert-manager.io/common-name, cert-manager.io/alt-names, ... annotations on Secrets are kept at their correct value. (#6176, @inteon)
  • The cmctl logging has been improved and support for json logging has been added. (#6247, @inteon)
  • Updates Kubernetes libraries to v0.27.2. (#6077, @lucacome)
  • Updates Kubernetes libraries to v0.27.4. (#6227, @lucacome)
  • We now only check that the issuer name, kind and group annotations on a Secret match in case those annotations are set. (#6152, @inteon)

v1.13.0-beta.0

01 Sep 13:53
156c25d
Compare
Choose a tag to compare
v1.13.0-beta.0 Pre-release
Pre-release

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

Welcome to the first beta of the coming 1.13 release of cert-manager!

🌟 This version is a pre-release version intended for testing. It might not be suitable for production uses.

Changes since v1.13.0-alpha.0

Feature gate promotions

  • Promoted the StableCertificateRequestName and SecretsFilteredCaching feature gates to Beta (enabled by default). (#6298, @inteon)

Feature

  • Add view permissions to the well-known (Openshift) user-facing cluster-reader aggregated cluster role (#6241, @erikgb)
  • Certificate Shim: distinguish dns names and ip address in certificate (#6267, @zhangzhiqiangcs)
  • Make enableServiceLinks configurable for all Deployments and startupapicheck Job in Helm chart. (#6292, @ubergesundheit)
  • The cert-manager controller options are now configurable using a configuration file. (#5337, @AcidLeroy)
  • The pki CertificateTemplate functions now perform validation of the CSR blob, making sure we sign a Certificate that matches the IsCA and (Extended)KeyUsages that are defined in the CertificateRequest resource. (#6199, @inteon)
  • [helm] Add prometheus.servicemonitor.endpointAdditionalProperties to define additional properties on a ServiceMonitor endpoint, e.g. relabelings (#6110, @jkroepke)
  • Add support for logging options to webhook config file. (#6243, @inteon)

Bug or Regression

  • Allow overriding default pdb .minAvailable with .maxUnavailable without setting .minAvailable to null (#6087, @rouke-broersma)
  • BUGFIX[cainjector]: 1-character bug was causing invalid log messages and a memory leak (#6232, @inteon)
  • Fix indentation of Webhook NetworkPolicy matchLabels in helm chart. (#6220, @ubergesundheit)
  • Fixed Cloudflare DNS01 challenge provider race condition when validating multiple domains (#6191, @Richardds)
  • Fixes an issue where cert-manager would incorrectly reject two IP addresses as being unequal when they should have compared equal. This would be most noticeable when using an IPv6 address which doesn't match how Go's net.IP.String() function would have printed that address. (#6293, @SgtCoDFish)
  • ⚠️ possibly breaking: Webhook validation of CertificateRequest resources is stricter now: all KeyUsages and ExtendedKeyUsages must be defined directly in the CertificateRequest resource, the encoded CSR can never contain more usages that defined there. (#6182, @inteon)

Other (Cleanup or Flake)

  • A subset of the klogs flags have been deprecated and will be removed in the future. (#5879, @maelvls)
  • Cert-manager will now re-issue a certificate if the public key in the latest CertificateRequest resource linked to a Certificate resource does not match the public key of the key encoded in the Secret linked to that Certificate resource (#6168, @inteon)
  • Chore: When hostNetwork is enabled, dnsPolicy is now set to ClusterFirstWithHostNet. (#6156, @kahirokunn)
  • Cleanup the controller configfile structure by introducing sub-structs. (#6242, @inteon)
  • Helm: Add apache 2.0 license annotation (#6225, @arukiidou)
  • Simplified the flag and configfile parsing. (#6244, @inteon)
  • The SecretPostIssuancePolicyChain now also makes sure that the cert-manager.io/common-name, cert-manager.io/alt-names, ... annotations on Secrets are kept at their correct value. (#6176, @inteon)
  • The cmctl logging has been improved and support for json logging has been added. (#6247, @inteon)
  • Updates Kubernetes libraries to v0.27.4. (#6227, @lucacome)
  • We now only check that the issuer name, kind and group annotations on a Secret match in case those annotations are set. (#6152, @inteon)

v1.12.4

01 Sep 17:27
fe41951
Compare
Choose a tag to compare

v1.12.4 contains an important security fix that addresses CVE-2023-29409.

Changes since v1.12.3

  • Fixes an issue where cert-manager would incorrectly reject two IP addresses as being unequal when they should have compared equal. This would be most noticeable when using an IPv6 address which doesn't match how Go's net.IP.String() function would have printed that address. (#6297, @SgtCoDFish)
  • Use Go 1.20.7 to fix a security issue in Go's crypto/tls library. (#6318, @maelvls)

v1.11.5

01 Sep 16:34
b1d501c
Compare
Choose a tag to compare

v1.11.5 contains an important security fix that addresses CVE-2023-29409.

Changes since v1.11.4

  • Use Go 1.19.9 to fix a security issue in Go's crypto/tls library. (#6317, @maelvls)

v1.12.3

26 Jul 12:33
9479c81
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

v1.12.3 contains a bug fix for the cainjector which addresses a memory leak!

Changes since v1.12.2

Bugfixes

  • BUGFIX[cainjector]: 1-character bug was causing invalid log messages and a memory leak (#6235, @jetstack-bot)

v1.13.0-alpha.0

20 Jun 18:15
716bd30
Compare
Choose a tag to compare
v1.13.0-alpha.0 Pre-release
Pre-release

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

Welcome to the first alpha of the coming 1.13 release of cert-manager! In this release, you will be able to test the new DNS-over-HTTPS feature.

This new feature, developed by @FlorianLiebhart, allows you to use cert-manager's Let's Encrypt issuer even when UDP port 53 isn't open on egress. DNS-over-HTTPS allows you to use the environment variable HTTPS_PROXY in the cert-manager controller deployment so that cert-manager can work over a proxy, working around the egress limitations!

That We will soon update the documentation of cert-manager to explain the use-cases and how to set it up. More info is available in the design document at https://hackmd.io/@maelvls/cert-manager-dns-01-using-dns-over-https. A massive thank you to @FlorianLiebhart for his hard work: this work was started one year ago! 🎉

🌟 This version is a pre-release version intended for testing. It might not be suitable for production uses.

Changes since 1.12

Feature

  • DNS over HTTPS (DoH) is now possible for doing the self-checks during the ACME verification.
    The DNS check method to be used is controlled through the command line flag: --dns01-recursive-nameservers-only=true in combination with --dns01-recursive-nameservers=https://<DoH-endpoint> (e.g. https://8.8.8.8/dns-query). It keeps using DNS lookup as a default method. The design document is visible here: https://hackmd.io/@maelvls/cert-manager-dns-01-using-dns-over-https (#5003, @FlorianLiebhart)
  • cmctl can now be imported by third parties. (#6049, @SgtCoDFish)

Bug or Regression

  • cmctl check api --wait 0 exited without output and exit code 1; we now make sure we perform the API check at least once and return with the correct error code (#6109, @inteon)
  • The issuer and certificate-name annotations on a Secret were incorrectly updated when other fields are changed. (#6147, @inteon)
  • Fix CloudDNS issuers stuck in propagation check, when multiple instances are issuing for the same FQDN (#6088, @cypres)
  • Fixes a bug where webhook was pulling in controller's feature gates.
    ⚠️ ⚠️ BREAKING ⚠️ ⚠️ : If you deploy cert-manager using helm and have .featureGates value set, the features defined there will no longer be passed to cert-manager webhook, only to cert-manager controller. Use webhook.featureGates field instead to define features to be enabled on webhook.
    Potentially breaking: If you were, for some reason, passing cert-manager controller's features to webhook's --feature-gates flag, this will now break (unless the webhook actually has a feature by that name). (#6093, @irbekrm)

Other (Cleanup or Flake)

  • Don't run API Priority and Fairness controller in webhook's extension apiserver (#6085, @irbekrm)
  • Updates Kubernetes libraries to v0.27.2. (#6077, @lucacome)

Uncategorized

  • All service links in helm chart deployments have been disabled. (#6144, @schrodit)
  • Make apis/acme/v1/ACMEIssuer.PreferredChain optional in JSON serialization. (#6034, @gdvalle)
  • We disabled the enableServiceLinks option for our ACME http solver pods, because the option caused the pod to be in a crash loop in a cluster with lot of services. (#6143, @schrodit)

v1.11.4

20 Jun 11:39
e3dd325
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

cert-manager v1.11.4 contains some version bumps to address reported CVEs (although we don't expect that cert-manager was actually vulnerable to anything!)

Changes by Kind

Other (Cleanup or Flake)

Dependencies

Changed

v1.12.2

16 Jun 12:59
a662045
Compare
Choose a tag to compare

cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.

v1.12.2 is a bugfix release, but includes a known issue and you should prefer the latest patch release!

Known issues

⚠️ cert-manager v1.12.0, v1.12.1 and v1.12.2 all have known issues. You should install the latest patch release of v1.12 and skip over the affected versions.

  • cainjector contains a memory leak in v1.12.0, v1.12.1 and v1.12.2 due to re-assignment of a log variable (see #6217). The fix was released in v1.12.3. See #6232 for further context.

Changes since v1.12.1

Bugfixes

  • BUGFIX: cmctl check api --wait 0 exited without output; we now make sure we perform the API check at least once (#6116, @jetstack-bot)