Releases: cert-manager/cert-manager
v1.19.2
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
We updated Go to fix some vulnerabilities in the standard library.
📖 Read the full 1.19 release notes on the cert-manager.io website before upgrading.
Changes since v1.19.1
Bug or Regression
- Address false positive vulnerabilities
CVE-2025-47914andCVE-2025-58181which were reported by Trivy. (#8283, @SgtCoDFish) - Update Go to
v1.25.5to fixCVE-2025-61727andCVE-2025-61729(#8294, @wallrj-cyberark) - Update
global.nodeSelectorto helm chart to perform amergeand allow for a singlenodeSelectorto be set across all services. (#8233, @cert-manager-bot)
Other (Cleanup or Flake)
- Update cert-manager's ACME client, forked from
golang/x/crypto(#8270, @SgtCoDFish) - Updated Debian 12 distroless base images (#8326, @wallrj-cyberark)
v1.18.4
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
We updated Go to fix some vulnerabilities in the standard library.
📖 Read the full 1.18 release notes on the cert-manager.io website before upgrading.
Changes since v1.18.3
Bug or Regression
- Address false positive vulnerabilities
CVE-2025-47914andCVE-2025-58181which were reported by Trivy. (#8282, @SgtCoDFish) - Update Go to
v1.24.11to fixCVE-2025-61727andCVE-2025-61729(#8295, @wallrj-cyberark)
Other (Cleanup or Flake)
- Update cert-manager's ACME client, forked from
golang/x/crypto(#8271, @SgtCoDFish) - Updated Debian 12 distroless base images (#8328, @wallrj-cyberark)
v1.20.0-alpha.0
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
⚠️ This is a pre-release. For testing only!
Changes since v1.19.0
Feature
- Add built-in "Ready" status metrics for ClusterIssuer and Issuer resources. (#8188, @mikeluttikhuis)
- Add support for specifying
imagePullSecretsin thestartupapicheck-jobHelm template to enable pulling images from private registries. (#8186, @mathieu-clnk)
Bug or Regression
- Adds logs for cases when acme server returns us a fatal error in the order controller (#8199, @Peac36)
- BUGFIX: in case kind or group in the issuerRef of a Certificate was omitted, upgrading to 1.19.x incorrectly caused the certificate to be renewed (#8160, @inteon)
- Fix unregulated retries with the DigitalOcean DNS-01 solver (#8221, @wallrj-cyberark)
- Add full detailed DNS-01 errors to the events attached to the Challenge, for easier debugging (#8221, @wallrj-cyberark)
- Revert API defaults for issuer reference kind and group introduced in 0.19.0 (#8173, @erikgb)
- When Prometheus monitoring is enabled, the metrics label is now set to the intended value of
cert-manager. Previously, it was set depending on various factors (namespace cert-manager is installed in and/or Helm release name). (#8162, @LiquidPL)
v1.19.1
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
We reverted the CRD-based API defaults for Certificate.Spec.IssuerRef and CertificateRequest.Spec.IssuerRef after they were found to cause unexpected certificate renewals after upgrading to 1.19.0. We will try re-introducing these API defaults in cert-manager 1.20.
We fixed a bug that caused certificates to be re-issued unexpectedly if the issuerRef kind or group was changed to one of the "runtime" default values.
We upgraded Go to 1.25.3 to address the following security vulnerabilities: CVE-2025-61724, CVE-2025-58187, CVE-2025-47912, CVE-2025-58183, CVE-2025-61723, CVE-2025-58186, CVE-2025-58185, CVE-2025-58188, and CVE-2025-61725.
📖 Read the full 1.19 release notes on the cert-manager.io website before upgrading.
Changes since v1.19.0:
Bug or Regression
- BUGFIX: in case kind or group in the
issuerRefof a Certificate was omitted, upgrading to1.19.xincorrectly caused the certificate to be renewed (#8175, @cert-manager-bot) - Bump Go to 1.25.3 to fix a backwards incompatible change to the validation of DNS names in X.509 SAN fields which prevented the use of DNS names with a trailing dot (#8177, @wallrj-cyberark)
- Revert API defaults for issuer reference kind and group introduced in 0.19.0 (#8178, @cert-manager-bot)
v1.18.3
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
We fixed a bug which caused certificates to be re-issued unexpectedly, if the issuerRef kind or group was changed to one of the "runtime" default values. We increased the size limit when parsing PEM certificate chains to handle leaf certificates with large numbers of DNS named or other identities. We upgraded Go to 1.24.9 to fix various non-critical security vulnerabilities.
📖 Read the full 1.18 release notes on the cert-manager.io website before upgrading.
Changes since v1.18.2:
Bug or Regression
- BUGFIX: in case kind or group in the issuerRef of a Certificate was omitted, upgrading to 1.19.x incorrectly caused the certificate to be renewed (#8174, @cert-manager-bot)
- Bump Go to 1.24.9. Fixes the following vulnerabilities: CVE-2025-61724, CVE-2025-58187, CVE-2025-47912, CVE-2025-58183, CVE-2025-61723, CVE-2025-58186, CVE-2025-58185, CVE-2025-58188, CVE-2025-61725 (#8176, @wallrj-cyberark)
- Increase maximum sizes of PEM certificates and chains which can be parsed in cert-manager, to handle leaf certificates with large numbers of DNS names or other identities (#7966, @cert-manager-bot)
Other (Cleanup or Flake)
- Improve error messages when certificates, CRLs or private keys fail admission due to malformed or missing PEM data (#7964, @cert-manager-bot)
- Upgrades Go to v1.24.6 (#7974, @SgtCoDFish)
v1.19.0
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
⚠️ Known issues: The following known issues are fixed in v1.19.1:
This release focuses on expanding platform compatibility, improving deployment flexibility, enhancing observability, and addressing key reliability issues.
📖 Read the full release notes at cert-manager.io: https://cert-manager.io/docs/releases/release-notes/release-notes-1.19
Changes since v1.18.0:
Feature
- Add IPv6 rules to the default network policy (#7726, @jcpunk)
- Add
global.nodeSelectorto helm chart to allow for a singlenodeSelectorto be set across all services. (#7818, @StingRayZA) - Add a feature gate to default to Ingress
pathTypeExactin ACME HTTP01 Ingress challenge solvers. (#7795, @sspreitzer) - Add generated
applyconfigurationsallowing clients to make type-safe server-side apply requests for cert-manager resources. (#7866, @erikgb) - Added API defaults to issuer references group (cert-manager.io) and kind (Issuer). (#7414, @erikgb)
- Added
certmanager_certificate_challenge_statusPrometheus metric. (#7736, @hjoshi123) - Added
protocolfield forrfc2136DNS01 provider (#7881, @hjoshi123) - Added experimental field
hostUsersflag to all pods. Not set by default. (#7973, @hjoshi123) - Support configurable resource requests and limits for ACME HTTP01 solver pods through ClusterIssuer and Issuer specifications, allowing granular resource management that overrides global
--acme-http01-solver-resource-*settings. (#7972, @lunarwhite) - The
CAInjectorMergingfeature has been promoted to BETA and is now enabled by default (#8017, @ThatsMrTalbot) - The controller, webhook and ca-injector now log their version and git commit on startup for easier debugging and support. (#8072, @prasad89)
- Updated
certificatemetrics to the collector approach. (#7856, @hjoshi123)
Bug or Regression
- ACME: Increased challenge authorization timeout to 2 minutes to fix
error waiting for authorization(#7796, @hjoshi123) - BUGFIX: permitted URI domains were incorrectly used to set the excluded URI domains in the CSR's name constraints (#7816, @kinolaev)
- Enforced ACME HTTP-01 solver validation to properly reject configurations when multiple ingress options (
class,ingressClassName,name) are specified simultaneously (#8021, @lunarwhite) - Increase maximum sizes of PEM certificates and chains which can be parsed in cert-manager, to handle leaf certificates with large numbers of DNS names or other identities (#7961, @SgtCoDFish)
- Reverted adding the
global.rbac.disableHTTPChallengesRoleHelm option. (#7836, @inteon) - This change removes the
pathlabel of core ACME client metrics and will require users to update their monitoring dashboards and alerting rules if using those metrics. (#8109, @mladen-rusev-cyberark) - Use the latest version of
ingress-nginxin E2E tests to ensure compatibility (#7792, @wallrj)
Other (Cleanup or Flake)
- Helm: Fix naming template of
tokenrequestRoleBinding resource to improve consistency (#7761, @lunarwhite) - Improve error messages when certificates, CRLs or private keys fail admission due to malformed or missing PEM data (#7928, @SgtCoDFish)
- Major upgrade of Akamai SDK. NOTE: The new version has not been fully tested end-to-end due to the lack of cloud infrastructure. (#8003, @hjoshi123)
- Update kind images to include the Kubernetes 1.33 node image (#7786, @wallrj)
- Use
maps.Copyfor cleaner map handling (#8092, @quantpoet) - Vault: Migrate Vault E2E add-on tests from deprecated
vault-client-goto the newvault/apiclient. (#8059, @armagankaratosun)
v1.19.0-alpha.0
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
⚠️ This is a pre-release. For testing only!
Changes since v1.18.0:
Feature
- Add IPv6 rules to the default network policy (
#7726,@jcpunk) - Add
global.nodeSelectorto helm chart to allow for a singlenodeSelectorto be set across all services. (#7818,@StingRayZA) - Add generated
applyconfigurationsallowing clients to make type safe server-side apply requests for cert-manager resources. (#7866,@erikgb) - Added API defaults to issuer references group (cert-manager.io) and kind (Issuer). (
#7414,@erikgb) - Added
certmanager_certificate_challenge_statusPrometheus metric. (#7736,@hjoshi123) - Added
protocolfield forrfc2136DNS01 provider (#7881,@hjoshi123) CAInjectorMerginghas been promoted to BETA and is now enabled by default (#8017,@ThatsMrTalbot)- Feature: Add support for
ACME profiles extension. (#7777,@wallrj) - Support configurable resource requests and limits for ACME HTTP01 solver pods through ClusterIssuer and Issuer specifications, allowing granular resource management that overrides global
--acme-http01-solver-resource-*settings. (#7972,@lunarwhite) - The controller, webhook and ca-injector now logs its version and git commit on startup for easier debugging and support. (
#8072,@prasad89) - Updated
certificatemetrics to the collector approach. (#7856,@hjoshi123)
Bug or Regression
- ACME: Increased challenge authorization timeout to 2 minutes to fix
error waiting for authorization(#7796,@hjoshi123) - BUGFIX: permitted URI domains were incorrectly used to set the excluded URI domains in the CSR's name constraints (
#7816,@kinolaev) - Enforced ACME HTTP-01 solver validation to properly reject configurations when multiple ingress options (
class,ingressClassName,name) are specified simultaneously (#8021,@lunarwhite) - Increase maximum sizes of PEM certificates and chains which can be parsed in cert-manager, to handle leaf certificates with large numbers of DNS names or other identities (
#7961,@SgtCoDFish) - Reverted adding the
global.rbac.disableHTTPChallengesRoleHelm option. (#7836,@inteon) - Use the latest version of ingress-nginx in E2E tests to ensure compatibility (
#7792,@wallrj)
Other (Cleanup or Flake)
- Helm: Fix naming template of
tokenrequestRoleBinding resource to improve consistency (#7761,@lunarwhite) - Improve error messages when certificates, CRLs or private keys fail admission due to malformed or missing PEM data (
#7928,@SgtCoDFish) - Major upgrade of Akamai SDK. NOTE: The new version has not been fully tested end-to-end due to the lack of cloud infrastructure. (
#8003,@hjoshi123) - Update kind images to include the Kubernetes 1.33 node image (
#7786,@wallrj) - Use
maps.Copyfor cleaner map handling (#8092,@quantpoet)
v1.18.2
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
We fixed a bug in the CSR's name constraints construction (only applies if you have enabled the NameConstraints feature gate).
We dropped the new global.rbac.disableHTTPChallengesRole Helm option due to a bug we found, this feature will be released in v1.19 instead.
Changes since v1.18.1:
Bug or Regression
- BUGFIX: permitted URI domains were incorrectly used to set the excluded URI domains in the CSR's name constraints (#7833, @cert-manager-bot)
- Reverted adding the
global.rbac.disableHTTPChallengesRoleHelm option. (#7837, @cert-manager-bot)
v1.17.4
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
We fixed a bug in the CSR's name constraints construction (only applies if you have enabled the NameConstraints feature gate).
Changes since v1.17.3:
Bug or Regression
- BUGFIX: permitted URI domains were incorrectly used to set the excluded URI domains in the CSR's name constraints (#7832, @cert-manager-bot)
v1.18.1
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
We have added a new feature gate ACMEHTTP01IngressPathTypeExact, to allow ingress-nginx users to turn off the new default Ingress PathType: Exact behavior, in ACME HTTP01 Ingress challenge solvers.
This change fixes the following issue: #7791
We have increased the ACME challenge authorization timeout to two minutes, which we hope will fix a timeout error (error waiting for authorization), which has been reported by multiple users, since the release of cert-manager v1.16.0.
This change should fix the following issues: #7337, #7444, and #7685.
ℹ️ Be sure to review all new features and changes below, and read the full release notes carefully before upgrading.
Changes since v1.18.0:
Feature
- Added a new feature gate
ACMEHTTP01IngressPathTypeExact, to allowingress-nginxusers to turn off the new default IngressPathType: Exactbehavior, in ACME HTTP01 Ingress challenge solvers. (#7810, @sspreitzer)
Bug or Regression
- ACME: Increased challenge authorization timeout to 2 minutes to fix
error waiting for authorization. (#7801, @hjoshi123)