Update Helm release cert-manager to v1.19.2 #621

Merged
AverageMarcus merged 1 commits from renovate/cert-manager-1.x into master 2025-12-30 12:49:01 +00:00
Collaborator

This PR contains the following updates:

Package Update Change
cert-manager (source) minor 1.11.0v1.19.2

Release Notes

cert-manager/cert-manager (cert-manager)

v1.19.2

Compare Source

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-47914 and CVE-2025-58181 which were reported by Trivy. (#​8283, @​SgtCoDFish)
  • Update Go to v1.25.5 to fix CVE-2025-61727 and CVE-2025-61729 (#​8294, @​wallrj-cyberark)
  • Update global.nodeSelector to helm chart to perform a merge and allow for a single nodeSelector to be set across all services. (#​8233, @​cert-manager-bot)
Other (Cleanup or Flake)

v1.19.1

Compare Source

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 issuerRef of a Certificate was omitted, upgrading to 1.19.x incorrectly 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.19.0

Compare Source

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.nodeSelector to helm chart to allow for a single nodeSelector to be set across all services. (#​7818, @​StingRayZA)
  • Add a feature gate to default to Ingress pathType Exact in ACME HTTP01 Ingress challenge solvers. (#​7795, @​sspreitzer)
  • Add generated applyconfigurations allowing 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_status Prometheus metric. (#​7736, @​hjoshi123)
  • Added protocol field for rfc2136 DNS01 provider (#​7881, @​hjoshi123)
  • Added experimental field hostUsers flag 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 CAInjectorMerging feature 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 certificate metrics 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.disableHTTPChallengesRole Helm option. (#​7836, @​inteon)
  • This change removes the path label 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-nginx in E2E tests to ensure compatibility (#​7792, @​wallrj)

Other (Cleanup or Flake)

  • Helm: Fix naming template of tokenrequest RoleBinding 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.Copy for cleaner map handling (#​8092, @​quantpoet)
  • Vault: Migrate Vault E2E add-on tests from deprecated vault-client-go to the new vault/api client. (#​8059, @​armagankaratosun)

v1.18.4

Compare Source

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
Other (Cleanup or Flake)

v1.18.3

Compare Source

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)

v1.18.2

Compare Source

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

v1.18.1

Compare Source

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 allow ingress-nginx users to turn off the new default Ingress PathType: Exact behavior, 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)
Other (Cleanup or Flake)
  • Use the latest version of ingress-nginx in E2E tests to ensure compatibility (#7807, @​wallrj)

v1.18.0

Compare Source

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

cert-manager 1.18 introduces several new features and breaking changes. Highlights include support for ACME certificate profiles, a new default for Certificate.Spec.PrivateKey.RotationPolicy now set to Always (breaking change), and the default Certificate.Spec.RevisionHistoryLimit now set to 1 (potentially breaking).

ℹ️ Be sure to review all new features and changes below, and read the full release notes carefully before upgrading.

Known Issues
  • ACME HTTP01 challenge paths are rejected by the ingress-nginx validating webhook (#​7791)

Changes since v1.17.2:

Feature
  • Add config to the Vault issuer to allow the server-name to be specified when validating the certificates the Vault server presents. (#​7663, @​ThatsMrTalbot)
  • Added app.kubernetes.io/managed-by: cert-manager label to the created Let's Encrypt account keys (#​7577, @​terinjokes)
  • Added certificate issuance and expiration time metrics (certmanager_certificate_not_before_timestamp_seconds, certmanager_certificate_not_after_timestamp_seconds). (#​7612, @​solidDoWant)
  • Added ingress-shim option: --extra-certificate-annotations, which sets a list of annotation keys to be copied from Ingress-like to resulting Certificate object (#​7083, @​k0da)
  • Added the iss short name for the cert-manager Issuer resource. (#​7373, @​SgtCoDFish)
  • Added the ciss short name for the cert-manager ClusterIssuer resource (#​7373, @​SgtCoDFish)
  • Adds the global.rbac.disableHTTPChallengesRole helm value to disable HTTP-01 ACME challenges. This allows cert-manager to drop its permission to create pods, improving security when HTTP-01 challenges are not required. (#​7666, @​ali-hamza-noor)
  • Allow customizing signature algorithm (#​7591, @​tareksha)
  • Cache the full DNS response and handle TTL expiration in FindZoneByFqdn (#​7596, @​ThatsIvan)
  • Cert-manager now uses a local fork of the golang.org/x/crypto/acme package (#​7752, @​wallrj)
  • Add support for ACME profiles extension. (#​7777, @​wallrj)
  • Promote the UseDomainQualifiedFinalizer feature to GA. (#​7735, @​jsoref)
  • Switched service/servicemon definitions to use port names instead of numbers. (#​7727, @​jcpunk)
  • The default value of Certificate.Spec.PrivateKey.RotationPolicy changed from Never to Always. (#​7723, @​wallrj)
  • Potentially breaking: Set the default revisionHistoryLimit to 1 for the CertificateRequest revisions (#​7758, @​ali-hamza-noor)
Documentation
Bug or Regression
  • Bump go-jose dependency to address CVE-2025-27144. (#​7606, @​SgtCoDFish)
  • Bump golang.org/x/oauth2 to patch CVE-2025-22868. (#​7638, @​NicholasBlaskey)
  • Bump golang.org/x/crypto to patch GHSA-hcg3-q754-cr77. (#​7638, @​NicholasBlaskey)
  • Bump github.com/golang-jwt/jwt to patch GHSA-mh63-6h87-95cp. (#​7638, @​NicholasBlaskey)
  • Change of the Kubernetes Ingress pathType from ImplementationSpecific to Exact for a reliable handling of ingress controllers and enhanced security. (#​7767, @​sspreitzer)
  • Fix AWS Route53 error detection for not-found errors during deletion of DNS records. (#​7690, @​wallrj)
  • Fix behavior when running with --namespace=<namespace>: limit the scope of cert-manager to a single namespace and disable cluster-scoped controllers. (#​7678, @​tsaarni)
  • Fix handling of certificates with IP addresses in the commonName field; IP addresses are no longer added to the DNS subjectAlternativeName list and are instead added to the ipAddresses field as expected. (#​7081, @​johnjcool)
  • Fix issuing of certificates via DNS01 challenges on Cloudflare after a breaking change to the Cloudflare API (#​7549, @​LukeCarrier)
  • Fixed the certmanager_certificate_renewal_timestamp_seconds metric help text indicating that the metric is relative to expiration time, rather than Unix epoch time. (#​7609, @​solidDoWant)
  • Fixing the service account template to incorporate boolean values for the annotations. (#​7698, @​ali-hamza-noor)
  • Quote nodeSelector values in Helm Chart (#​7579, @​tobiasbp)
  • Skip Gateway TLS listeners in Passthrough mode. (#​6986, @​vehagn)
  • Upgrade golang.org/x/net fixing CVE-2025-22870. (#​7619, @​dependabot[bot])
Other (Cleanup or Flake)
  • ACME E2E Tests: Upgraded Pebble to v2.7.0 and modified the ACME tests to match latest Pebble behaviour. (#​7771, @​wallrj)
  • Patch the third_party/forked/acme package with support for the ACME profiles extension. (#​7776, @​wallrj)
  • Promote the AdditionalCertificateOutputFormats feature to GA, making additional formats always enabled. (#​7744, @​erikgb)
  • Remove deprecated feature gate ValidateCAA. Setting this feature gate is now a no-op which does nothing but print a warning log line (#​7553, @​SgtCoDFish)
  • Update kind images to include the Kubernetes 1.33 node image (#​7787, @​cert-manager-bot)
  • Upgrade Go to v1.24.4 (#​7785, @​wallrj)
  • Use slices.Contains to simplify code (#​7753, @​cuinix)

v1.17.4

Compare Source

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.17.3

Compare Source

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

This patch release addresses several vulnerabilities reported by the Trivy security scanner. It is built with the latest version of Go 1.23.

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, in: #​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.17.2:

Bug or Regression
  • Bump Go to 1.23.10 to fix GO-2025-3749, GO-2025-3750, and GO-2025-3751 (#​7799, @​wallrj)
  • ACME: Increased challenge authorization timeout to 2 minutes to fix error waiting for authorization (#​7798, @​hjoshi123)
Other (Cleanup or Flake)
  • Use the latest version of ingress-nginx in E2E tests to ensure compatibility (#​7808, @​wallrj)

v1.17.2

Compare Source

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

This patch release addresses several vulnerabilities reported by the Trivy security scanner. It is built with the latest version of Go 1.23 and includes various dependency updates.

📖 Read the full cert-manager 1.17 release notes, before installing or upgrading.

Changes since v1.17.1

Bug or Regression

v1.17.1

Compare Source

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

This release is primarily intended to address a breaking change in Cloudflare's API which impacted ACME DNS-01 challenges using Cloudflare.

Many thanks to the community members who reported this issue!

Changes by Kind

Bug or Regression
  • Fix issuing of certificates via DNS01 challenges on Cloudflare after a breaking change to the Cloudflare API (#​7565, @​LukeCarrier)
  • Bump go to 1.23.6 to address CVE-2025-22866 reported by Trivy (#​7563, @​SgtCoDFish

v1.17.0

Compare Source

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

v1.17.0 is a feature release with several improvements, including:

  • A helpful compliance change to RSA signatures on certificates
  • An easier way to specify passwords for PKCS#12 and JKS keystores
  • A few feature flag promotions (and a deprecation)
  • Dependency bumps and other smaller improvements

Major Themes

RSA Certificate Compliance

The United States Department of Defense published a memo in 2022 which introduced some requirements on the kinds of cryptography they require to be supported in software they use.

In effect, the memo requires that software be able to support larger RSA keys (3072-bit and 4096-bit) and hashing algorithms (SHA-384 at a minimum).

cert-manager supported large RSA keys long before the memo was published, but a quirk in implementation meant that cert-manager always used SHA-256 when signing with RSA.

In v1.17.0, cert-manager will choose a hash algorithm based on the RSA key length: 3072-bit keys will use SHA-384, and 4096-bit keys will use SHA-512. This matches similar behavior already present for ECDSA signatures.

Our expectation is that this change will have minimal impact beyond a slight increase to security and better compliance; we're not aware of Kubernetes based environments which support RSA 2048 with SHA-256 but fail with RSA 4096 and SHA-512. However, if you're using larger RSA keys, you should be aware of the change.

Easier Keystore Passwords for PKCS#12 and JKS

Specifying passwords on PKCS#12 and JKS keystores is supported in cert-manager
for compatibility reasons with software which expects or requires passwords to be set; however, these passwords are not relevant to security and never have been in cert-manager.

The initial implementation of the keystores feature required these "passwords" to be stored in a Kubernetes secret, which would then be read by cert-manager when creating the keystore after a certificate was issued. This is cumbersome, especially when many passwords are set to default values such as changeit or password.

In cert-manager v1.17, it's now possible to set a keystore password using a literal string value inside the Certificate resource itself, making this process much easier with no change to security.

For example:

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: my-cert-password
spec:
  secretName: my-cert-password
  issuerRef:
    name: my-issuer
    kind: ClusterIssuer
  keystores:
    jks:
      create: true
      password: "abc123"
    pkcs12:
      create: true
      password: "password"
  dnsNames:
  - example.com

The new password field is mutually exclusive with the passwordSecretRef field, so be sure to only set one.

Feature Flag Promotions / Deprecations

cert-manager's feature flags allow for easier testing and adoption of new features with a reduced risk of breaking changes. In cert-manager v1.17, two feature gates have been promoted to "beta", and as such are now enabled by default in all installations:

  • NameConstraints, allowing users to specify the name constraints extension which can be helpful when creating CA certificates for private PKI
  • UseDomainQualifiedFinalizer, which stops a Kubernetes warning from being printed in logs

In addition, we added a new feature gate: CAInjectorMerging, which intelligently combines certificates used by the CAInjector component, making it safer to use when issuing certificates are rotated. If you're making heavy use of the CA injector, you should consider enabling this feature gate.

Finally, we deprecated the ValidateCAA feature gate which will be removed entirely in cert-manager v1.18.0. This feature gate aimed to validate the CAA DNS record during ACME issuance, but has seen low adoption and limited testing since its introduction back in 2019.

Other Changes

There are many other PRs which were merged in this release cycle and we'd encourage you to read the release notes below. One PR that's worth highlighting is a change to add more structured logging information to certain log lines.

If you were previously filtering logs using grep or similar tools (which is highly discouraged!) be aware that some log lines have changed format.

Community

As always, we'd like to thank all of the community members who helped in this release cycle, including all below who merged a PR and anyone that helped by commenting on issues, testing, or getting involved in cert-manager meetings. We're lucky to have you involved.

A special thanks to:

for their contributions, comments and support!

Also, thanks to the cert-manager maintainer team for their help in this release:

And finally, thanks to the cert-manager steering committee for their feedback in this release cycle:

Changes by Kind

Feature
  • Potentially BREAKING: The CA and SelfSigned issuers now use SHA-512 when signing with RSA keys 4096 bits and above, and SHA-384 when signing with RSA keys 3072 bits and above. If you were previously using a larger RSA key as a CA, be sure to check that your systems support the new hash algorithms. (#​7368, @​SgtCoDFish)
  • Add CAInjectorMerging feature gate to the ca-injector, enabling this will change the behaviour of the ca-injector to merge in new CA certificates instead of outright replacing the existing one. (#​7469, @​ThatsMrTalbot)
  • Added image pull secrets to deployments when service accounts aren't created (#​7411, @​TheHenrick)
  • Added the ability to customize client ID when using username/password authentication for Venafi client (#​7484, @​ilyesAj)
  • Helm: New value webhook.extraEnv allows you to set custom environment variables in the webhook Pod.
    Helm: New value cainjector.extraEnv allows you to set custom environment variables in the cainjector Pod.
    Helm: New value startupapicheck.extraEnv allows you to set custom environment variables in the startupapicheck Pod. (#​7317, @​wallrj)
  • Increase the amount of PEM data pki.DecodeX509CertificateSetBytes is able to parse, to enable reading larger TLS trust bundles (#​7464, @​SgtCoDFish)
  • New configuration option tenantID for the AzureDNS provider when using managed identities with service principals. This enhancement allows users to specify the tenant ID when using managed identities, offering better flexibility in multi-tenant environments. (#​7376, @​jochenrichter)
  • Promote the UseDomainQualifiedFinalizer feature to Beta. (#​7488, @​jsoref)
  • Allow JKS/PKCS12 keystore passwords to be set as literal values in Certificate resources, mutually exclusive with the existing passwordSecretRef field (#​6657, @​rquinio1A)
  • Allow templating ServiceAccount annotations by running the built-in Helm tpl function on keys and values, to aid with workload identity configuration (#​7501, @​fcrespofastly)
  • Promote CA NameConstraints feature gate to Beta (enabled by default) (#​7494, @​tanujd11)
Documentation
Bug or Regression
  • BUGFIX: A change in v1.16.0 caused cert-manager's ACME ClusterIssuer to look in the wrong namespace for resources required for the issuance (eg. credential Secrets). This is now fixed in v1.16.1+ and v1.17.0+ (#​7339, @​inteon)
  • BUGFIX: Helm will now accept percentages for the podDisruptionBudget.minAvailable and podDisruptionBudget.maxAvailable values. (#​7343, @​inteon)
  • Fix ACME HTTP-01 solver for IPv6 endpoints (#​7391, @​Peac36)
  • Fix the behavior of renewBeforePercentage to comply with its spec (#​7421, @​adam-sroka)
  • Helm: allow enabled to be set as a value to toggle cert-manager as a dependency. (#​7350, @​inteon)
  • SECURITY (low risk): Limit maximum allowed PEM size to prevent potential DoS in cert-manager controller from attacker-controlled PEM. See GHSA-r4pg-vg54-wxx4 (#​7400, @​SgtCoDFish)
  • The Certificate object will no longer create CertificateRequest or Secret objects while being deleted (#​7361, @​ThatsMrTalbot)
  • The issuer will now more quickly retry when its linked Secret is updated to fix an issue that caused a high back-off timeout. (#​7455, @​inteon)
  • Upgrades Venafi vCert library fixing a bug which caused the RSA 3072 bit key size for TPP certificate enrollment to not work. (#​7498, @​inteon)
Other (Cleanup or Flake)
  • ⚠️ Potentially BREAKING: Log messages that were not structured have now been replaced with structured logs. If you were matching on specific log strings, this could break your setup. (#​7461, @​inteon)
  • DEPRECATION: The ValidateCAA feature gate is now deprecated, with removal scheduled for cert-manager 1.18. In 1.17, enabling this feature gate will print a warning. (#​7491, @​jsoref)
  • Remove Neither --kubeconfig nor --master was specified warning message when the controller and the webhook services boot (#​7457, @​Peac36)
  • Move 'live' DNS tests into a separate package to contain test flakiness and improve developer UX (#​7530, @​SgtCoDFish)

v1.16.5

Compare Source

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

This patch release addresses several vulnerabilities reported by the Trivy security scanner. It is built with the latest version of Go 1.23 and includes various dependency updates.

📖 Read the full cert-manager 1.16 release notes, before installing or upgrading.

Changes since v1.16.4:

Bug or Regression

v1.16.4

Compare Source

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

This release is primarily intended to address a breaking change in Cloudflare's API which impacted ACME DNS-01 challenges using Cloudflare.

Many thanks to the community members who reported this issue!

Changes by Kind

Bug or Regression

v1.16.3

Compare Source

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

v1.16.3 is a patch release mainly focused around bumping dependencies to address reported CVEs: CVE-2024-45337 and CVE-2024-45338.

We don't believe that cert-manager is actually vulnerable; this release is instead intended to satisfy vulnerability scanners.

It also includes a bug fix to the new renewBeforePercentage field. If you were using renewBeforePercentage, see PR #​7421 for more information.

Changes

Bug
Other

v1.16.2

Compare Source

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

This patch release of cert-manager 1.16 makes several changes to how PEM input is validated, adding maximum sizes appropriate to the type of PEM data which is being parsed.

This is to prevent an unacceptable slow-down in parsing specially crafted PEM data. The issue was found by Google's OSS-Fuzz project.

The issue is low severity; to exploit the PEM issue would require privileged access which would likely allow Denial-of-Service through other methods.

Note also that since most PEM data parsed by cert-manager comes from ConfigMap or Secret resources which have a max size limit of approximately 1MB, it's difficult to force cert-manager to parse large amounts of PEM data.

Further information is available in https://github.com/cert-manager/cert-manager/security/advisories/GHSA-r4pg-vg54-wxx4

In addition, the version of Go used to build cert-manager 1.16 was updated along with the base images.

Changes by Kind

Bug or Regression
  • Set a maximum size for PEM inputs which cert-manager will accept to remove possibility of taking a long time to process an input (#​7401, @​SgtCoDFish)
Other (Cleanup or Flake)

v1.16.1

Compare Source

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

The cert-manager 1.16 release includes: new Helm chart features, more Prometheus metrics, memory optimizations, and various improvements and bug fixes for the ACME issuer and Venafi Issuer.

📖 Read the complete 1.16 release notes before upgrading.

📜Changes since v1.16.0

Bug or Regression
  • BUGFIX: Helm schema validation: the new schema validation was too strict for the "global" section. Since the global section is shared across all charts and sub-charts, we must also allow unknown fields. (#​7348, @inteon)
  • BUGFIX: Helm will now accept percentages for the podDisruptionBudget.minAvailable and podDisruptionBudget.maxAvailable values. (#​7345, @inteon)
  • Helm: allow enabled to be set as a value to toggle cert-manager as a dependency. (#​7356, @inteon)
  • BUGFIX: A change in v1.16.0 caused cert-manager's ACME ClusterIssuer to look in the wrong namespace for resources required for the issuance (e.g. credential Secrets). This is now fixed in v1.16.1. (#​7342, @inteon)

v1.16.0

Compare Source

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

The cert-manager 1.16 release includes: new Helm chart features, more Prometheus metrics, memory optimizations, and various improvements and bug fixes for the ACME issuer and Venafi Issuer.

📖 Read the complete 1.16 release notes at cert-manager.io.

⚠️ Known issues

  1. Helm Chart: JSON schema prevents the chart being used as a sub-chart on Rancher RKE.
  2. ACME DNS01 ClusterIssuer fail while loading credentials from Secret resources.

Breaking changes

  1. Helm schema validation may reject your existing Helm values files if they contain typos or unrecognized fields.
  2. Venafi Issuer may fail to renew certificates if the requested duration conflicts with the CA’s minimum or maximum policy settings in Venafi.
  3. Venafi Issuer may fail to renew Certificates if the issuer has been configured for TPP with username-password authentication.

📖 Read the complete 1.16 release notes at cert-manager.io.

📜 Changes since v1.15.0

📖 Read the complete 1.16 release notes at cert-manager.io.

Feature
  • Add SecretRef support for Venafi TPP issuer CA Bundle (#​7036, @sankalp-at-gh)
  • Add renewBeforePercentage alternative to renewBefore (#​6987, @cbroglie)
  • Add a metrics server to the cainjector (#​7194, @wallrj)
  • Add a metrics server to the webhook (#​7182, @wallrj)
  • Add client certificate auth method for Vault issuer (#​4330, @joshmue)
  • Add process and go runtime metrics for controller (#​6966, @mindw)
  • Added app.kubernetes.io/managed-by: cert-manager label to the cert-manager-webhook-ca Secret (#​7154, @jrcichra)
  • Allow the user to specify a Pod template when using GatewayAPI HTTP01 solver, this mirrors the behavior when using the Ingress HTTP01 solver. (#​7211, @ThatsMrTalbot)
  • Create token request RBAC for the cert-manager ServiceAccount by default (#​7213, @Jasper-Ben)
  • Feature: Append cert-manager user-agent string to all AWS API requests, including IMDS and STS requests. (#​7295, @wallrj)
  • Feature: Log AWS SDK warnings and API requests at cert-manager debug level to help debug AWS Route53 problems in the field. (#​7292, @wallrj)
  • Feature: The Route53 DNS solver of the ACME Issuer will now use regional STS endpoints computed from the region that is supplied in the Issuer spec or in the AWS_REGION environment variable.
    Feature: The Route53 DNS solver of the ACME Issuer now uses the "ambient" region (AWS_REGION or AWS_DEFAULT_REGION) if issuer.spec.acme.solvers.dns01.route53.region is empty; regardless of the flags --issuer-ambient-credentials and --cluster-issuer-ambient-credentials. (#​7299, @wallrj)
  • Helm: adds JSON schema validation for the Helm values. (#​7069, @inteon)
  • If the --controllers flag only specifies disabled controllers, the default controllers are now enabled implicitly.
    Added disableAutoApproval and approveSignerNames Helm chart options. (#​7049, @inteon)
  • Make it easier to configure cert-manager using Helm by defaulting config.apiVersion and config.kind within the Helm chart. (#​7126, @ThatsMrTalbot)
  • Now passes down specified duration to Venafi client instead of using the CA default only. (#​7104, @Guitarkalle)
  • Reduce the memory usage of cainjector, by only caching the metadata of Secret resources.
    Reduce the load on the K8S API server when cainjector starts up, by only listing the metadata of Secret resources. (#​7161, @wallrj)
  • The Route53 DNS01 solver of the ACME Issuer can now detect the AWS region from the AWS_REGION and AWS_DEFAULT_REGION environment variables, which is set by the IAM for Service Accounts (IRSA) webhook and by the Pod Identity webhook.
    The issuer.spec.acme.solvers.dns01.route53.region field is now optional.
    The API documentation of the region field has been updated to explain when and how the region value is used. (#​7287, @wallrj)
  • Venafi TPP issuer can now be used with a username & password combination with OAuth. Fixes #​4653.
    Breaking: cert-manager will no longer use the API Key authentication method which was deprecated in 20.2 and since removed in 24.1 of TPP. (#​7084, @hawksight)
  • You can now configure the pod security context of HTTP-01 solver pods. (#​5373, @aidy)
  • Helm: New value webhook.extraEnv, allows you to set custom environment variables in the webhook Pod.
    Helm: New value cainjector.extraEnv, allows you to set custom environment variables in the cainjector Pod.
    Helm: New value startupapicheck.extraEnv, allows you to set custom environment variables in the startupapicheck Pod. (#​7319, @wallrj)
Bug or Regression
  • Adds support (behind a flag) to use a domain qualified finalizer. If the feature is enabled (which is not by default), it should prevent Kubernetes from reporting: metadata.finalizers: "finalizer.acme.cert-manager.io": prefer a domain-qualified finalizer name to avoid accidental conflicts with other finalizer writers (#​7273, @jsoref)
  • BUGFIX Route53: explicitly set the aws-global STS region which is now required by the github.com/aws/aws-sdk-go-v2 library. (#​7108, @inteon)
  • BUGFIX: fix issue that caused Vault issuer to not retry signing when an error was encountered. (#​7105, @inteon)
  • BUGFIX: the dynamic certificate source used by the webhook TLS server failed to detect a root CA approaching expiration, due to a calculation error. This will cause the webhook TLS server to fail renewing its CA certificate. Please upgrade before the expiration of this CA certificate is reached. (#​7230, @inteon)
  • Bugfix: Prevent aggressive Route53 retries caused by IRSA authentication failures by removing the Amazon Request ID from errors wrapped by the default credential cache. (#​7291, @wallrj)
  • Bugfix: Prevent aggressive Route53 retries caused by STS authentication failures by removing the Amazon Request ID from STS errors. (#​7259, @wallrj)
  • Bump grpc-go to fix GHSA-xr7q-jx4m-x55m (#​7164, @SgtCoDFish)
  • Bump the go-retryablehttp dependency to fix CVE-2024-6104 (#​7125, @SgtCoDFish)
  • Fix Azure DNS causing panics whenever authentication error happens (#​7177, @eplightning)
  • Fix incorrect indentation of endpointAdditionalProperties in the PodMonitor template of the Helm chart (#​7190, @wallrj)
  • Fixes ACME HTTP01 challenge behavior when using Gateway API to prevent unbounded creation of HTTPRoute resources (#​7178, @miguelvr)
  • Handle errors arising from challenges missing from the ACME server (#​7202, @bdols)
  • Helm BUGFIX: the cainjector ConfigMap was not mounted in the cainjector deployment. (#​7052, @inteon)
  • Improve the startupapicheck: validate that the validating and mutating webhooks are doing their job. (#​7057, @inteon)
  • The KeyUsages X.509 extension is no longer added when there are no key usages set (in accordance to RFC 5280 Section 4.2.1.3) (#​7250, @inteon)
  • Update github.com/Azure/azure-sdk-for-go/sdk/azidentity to address CVE-2024-35255 (#​7087, @dependabot[bot])
Other (Cleanup or Flake)
  • Old API versions were removed from the codebase.
    Removed:
    (acme.)cert-manager.io/v1alpha2
    (acme.)cert-manager.io/v1alpha3
    (acme.)cert-manager.io/v1beta1 (#​7278, @inteon)
  • Upgrading to client-go v0.31.0 removes a lot of noisy reflector.go: unable to sync list result: internal error: cannot cast object DeletedFinalStateUnknown errors from logs. (#​7237, @inteon)
  • Bump Go to v1.23.2 (#​7324, @cert-manager-bot)

v1.15.5

Compare Source

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

cert-manager v1.15.5 contains simple dependency bumps to address reported CVEs (CVE-2024-45337 and CVE-2024-45338).

We don't believe that cert-manager is actually vulnerable; this release is instead intended to satisfy vulnerability scanners.

Changes

Bug or Regression
  • Bump golang.org/x/net to address CVE-2024-45337 and CVE-2024-45338 (#​7496, @​wallrj)
Other (Cleanup or Flake)

v1.15.4

Compare Source

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

This patch release of cert-manager 1.15 makes several changes to how PEM input is validated, adding maximum sizes appropriate to the type of PEM data which is being parsed.

This is to prevent an unacceptable slow-down in parsing specially crafted PEM data. The issue was found by Google's OSS-Fuzz project.

The issue is low severity; to exploit the PEM issue would require privileged access which would likely allow Denial-of-Service through other methods.

Note also that since most PEM data parsed by cert-manager comes from ConfigMap or Secret resources which have a max size limit of approximately 1MB, it's difficult to force cert-manager to parse large amounts of PEM data.

Further information is available in https://github.com/cert-manager/cert-manager/security/advisories/GHSA-r4pg-vg54-wxx4

In addition, the version of Go used to build cert-manager 1.15 was updated along with the base images, and a Route53 bug fix was backported.

Changes by Kind

Bug or Regression
  • Bugfix: Prevent aggressive Route53 retries caused by STS authentication failures by removing the Amazon Request ID from STS errors. (#​7261, @​cert-manager-bot)
  • Set a maximum size for PEM inputs which cert-manager will accept to remove possibility of taking a long time to process an input (#​7402, @​SgtCoDFish)
Other (Cleanup or Flake)

v1.15.3

Compare Source

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

🔗 See v1.15.0 for more information about cert-manager 1.15 and read-before-upgrade info.

📜 Changes since v1.15.2

Bug or Regression
  • BUGFIX: the dynamic certificate source used by the webhook TLS server failed to detect a root CA approaching expiration, due to a calculation error. This will cause the webhook TLS server to fail renewing its CA certificate. Please upgrade before the expiration of this CA certificate is reached. (#​7232, @​cert-manager-bot)

v1.15.2

Compare Source

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

🔗 See v1.15.0 for more information about cert-manager 1.15 and read-before-upgrade info.

📜 Changes since v1.15.1

Bug or Regression

v1.15.1

Compare Source

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

🔗 See v1.15.0 for more information about cert-manager 1.15 and read-before-upgrade info.

📜 Changes since v1.15.0

Bug or Regression
  • BUGFIX: fix issue that caused Vault issuer to not retry signing when an error was encountered. (#​7111, @​inteon)
Other (Cleanup or Flake)

v1.15.0

Compare Source

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

cert-manager 1.15 promotes several features to beta, including GatewayAPI support (ExperimentalGatewayAPISupport), the ability to provide a subject in the Certificate that will be used literally in the CertificateSigningRequest (LiteralCertificateSubject) and the outputting of additional certificate formats (AdditionalCertificateOutputFormats).

[!NOTE]

The cmctl binary have been moved to https://github.com/cert-manager/cmctl/releases.
For the startupapicheck Job you should update references to point at quay.io/jetstack/cert-manager-startupapicheck

[!NOTE]

From this release, the Helm chart will no longer uninstall the CRDs when the chart is uninstalled. If you want the CRDs to be removed on uninstall use crds.keep=false when installing the Helm chart.

Community

Thanks again to all open-source contributors with commits in this release, including: @​Pionerd, @​SgtCoDFish, @​ThatsMrTalbot, @​andrey-dubnik, @​bwaldrep, @​eplightning, @​erikgb, @​findnature, @​gplessis, @​import-shiburin, @​inteon, @​jkroepke, @​lunarwhite, @​mangeshhambarde, @​pwhitehead-splunk & @​rodrigorfk, @​wallrj.

Thanks also to the following cert-manager maintainers for their contributions during this release: @​SgtCoDFish, @​SpectralHiss, @​ThatsMrTalbot, @​hawksight, @​inteon, @​maelvls & @​wallrj.

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

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 by Kind

Feature
  • GatewayAPI support has graduated to Beta. Add the --enable-gateway-api flag to enable the integration. (#​6961, @​ThatsMrTalbot)
  • Add support to specify a custom key alias in a JKS Keystore (#​6807, @​bwaldrep)
  • Add the ability to communicate with Vault via mTLS when strict client certificates is enabled at Vault server side (#​6614, @​rodrigorfk)
  • Added option to provide additional audiences in the service account auth section for vault (#​6718, @​andrey-dubnik)
  • Venafi Issuer now sends a cert-manager HTTP User-Agent header in all Venafi Rest API requests.
    For example: cert-manager-certificaterequests-issuer-venafi/v1.15.0+(linux/amd64)+cert-manager/ef068a59008f6ed919b98a7177921ddc9e297200. (#​6865, @​wallrj)
  • Add hint to validation error message to help users of external issuers more easily fix the issue if they specify a Kind but forget the Group (#​6913, @​SgtCoDFish)
  • Add support for numeric OID types in LiteralSubject. Eg. "1.2.3.4=String Value" (#​6775, @​inteon)
  • Promote the LiteralCertificateSubject feature to Beta. (#​7030, @​inteon)
  • Promoted the AdditionalCertificateOutputFormats feature gate to Beta (enabled by default). (#​6970, @​erikgb)
  • The Helm chart now allows you to supply extraObjects; a list of yaml manifests which will helm will install and uninstall with the cert-manager manifests. (#​6424, @​gplessis)
  • Update the Route53 provider to support fetching credentials using AssumeRoleWithWebIdentity (#​6878, @​pwhitehead-splunk)
  • Helm can now add optional hostAliases to cert-manager Pod to allow the DNS self-check to pass in custom scenarios. (#​6456, @​Pionerd)
  • Added a new Ingress annotation for copying specific Ingress annotations to Certificate's secretTemplate (#​6839, @​mangeshhambarde)
  • Added option to define additional token audiences for the Vault Kubernetes auth (#​6744, @​andrey-dubnik)
  • Allow cert-manager.io/allow-direct-injection in annotations (#​6801, @​jkroepke)
Design
Bug or Regression
  • BUGFIX: Fixes issue with JSON-logging, where only a subset of the log messages were output as JSON. (#​6779, @​inteon)
  • BUGFIX: JKS and PKCS12 stores now contain the full set of CAs specified by an issuer (#​6806, @​bwaldrep)
  • BUGFIX: cainjector leaderelection flag/config option defaults are missing (#​6816, @​inteon)
  • BUGFIX: cert-manager issuers incorrectly copied the critical flag from the CSR instead of re-calculating that field themselves. (#​6724, @​inteon)
  • Breaking Change: Fixed unintended certificate chain is used if preferredChain is configured. (#​6755, @​import-shiburin)
  • Bugfix: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). (#​6770, @​inteon)
  • DigitalOcean: Ensure that only TXT records are considered for deletion when cleaning up after an ACME challenge (#​6875, @​SgtCoDFish)
  • Fix backwards incompatible removal of default prometheus Service resource. (#​6699, @​inteon)
  • Fix broken cainjector image value in Helm chart (#​6692, @​SgtCoDFish)
  • Helm: Fix a bug in the logic that differentiates between 0 and an empty value. (#​6713, @​inteon)
  • Make sure the Azure SDK error messages are stable. (#​6676, @​inteon)
  • When using the literalSubject on a Certificate, the webhook validation for the common name now also points to the literalSubject. (#​6767, @​lunarwhite)
  • Bump golang.org/x/net to fix CVE-2023-45288 (#​6929, @​SgtCoDFish)
  • Fix ACME issuer being stuck waiting for DNS propagation when using Azure DNS with multiple instances issuing for the same FQDN (#​6351, @​eplightning)
  • Fix cainjector ConfigMap not mounted in the cainjector deployment. (#​7055, @​inteon)
  • Added disableAutoApproval and approveSignerNames Helm chart options. (#​7054, @​inteon)
Other (Cleanup or Flake)
  • ⚠️ Possibly breaking: Helm will now keep the CRDs when you uninstall cert-manager by default to prevent accidental data loss. (#​6760, @​inteon)
  • New crds.keep and crds.enabled Helm options can now be used instead of the installCRDs option. (#​6760, @​inteon)
  • Bump base images (#​6840, @​inteon)
  • Bump github.com/go-jose/go-jose to v3.0.3 to fix CVE-2024-28180 (#​6854, @​wallrj)
  • Removed deprecated util functions that have been replaced by the slices and k8s.io/apimachinery/pkg/util packages.
    Removed deprecated CSR functions which have been replaced with other functions in the pkg/util/pki package. (#​6730, @​inteon)
  • Upgrade go to 1.21.8: fixes CVE-2024-24783 (#​6823, @​inteon)
  • Upgrade go to latest version 1.22.1 (#​6831, @​inteon)
  • Upgrade google.golang.org/protobuf: fixing GO-2024-2611 (#​6827, @​inteon)
  • cmctl and kubectl cert-manger have been moved to the https://github.com/cert-manager/cmctl repo and will be versioned separately starting with cmctl v2.0.0 (#​6663, @​inteon)
  • Graduate the 'DisallowInsecureCSRUsageDefinition' feature gate to GA. (part 2) (#​6963, @​inteon)
  • Remove deprecated pkg/util/pki/ParseSubjectStringToRawDERBytes function. (#​6994, @​inteon)
  • Upgrade Kind to v0.23.0 and update supported node image digests (#​7020, @​github-actions[bot])
  • If the --controllers flag only specifies disabled controllers, the default controllers are now enabled implicitly. (#​7054, @​inteon)
  • Upgrade to Go 1.22.3, fixing GO-2024-2824. (#​6996, @​github-actions[bot])

v1.14.7

Compare Source

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

📜 Changes since v1.14.6

Bugfixes
Other (Cleanup or Flake)

v1.14.6

Compare Source

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

📜 Changes since v1.14.5

Other (Cleanup or Flake)

v1.14.5

Compare Source

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

v1.14.5 fixes a bug in the DigitalOcean DNS-01 provider which could cause incorrect DNS records to be deleted when using a domain with a CNAME. Special thanks to @​BobyMCbobs for reporting this issue and testing the fix!

It also patches CVE-2023-45288.

📜 Changes since v1.14.4

  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see 1.14 release notes for more information.

Changes

Bug or Regression

v1.14.4

Compare Source

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

cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.

⚠️ Known Issues
  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations
ℹ️ Documentation

Release notes
Upgrade notes
Installation instructions

🔧 Breaking changes

See Breaking changes in v1.14.0 release notes

📜 Changes since v1.14.3
Bug or Regression
Other (Cleanup or Flake)

v1.14.3

Compare Source

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

cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.

⚠️ Known Issues
  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations
  • cainjector leaderelection is incorrectly disabled by default because the flag/ config option defaults are missing (#​6819)
ℹ️ Documentation

Release notes
Upgrade notes
Installation instructions

🔧 Breaking changes

See Breaking changes in v1.14.0 release notes

📜 Changes since v1.14.2
Bug or Regression
  • BUGFIX: Fixes issue with JSON-logging, where only a subset of the log messages were output as JSON. (#​6781, @​jetstack-bot)
  • BUGFIX: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). (#​6774, @​jetstack-bot)

v1.14.2

Compare Source

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

cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.

⚠️ Known Issues
  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations
  • Logging-format json sometimes writes plaintext messages (see #​6768). FIXED in v1.14.3
ℹ️ Documentation

Release notes
Upgrade notes
Installation instructions

🔧 Breaking changes

See Breaking changes in v1.14.0 release notes

📜 Changes since v1.14.1
Bug or Regression
  • BUGFIX: cert-manager CA and SelfSigned issuers incorrectly copied the critical flag from the CSR instead of re-calculating that field themselves. (#​6727, @​jetstack-bot)
  • Helm: Fix a bug in the logic that differentiates between 0 and an empty value. (#​6729, @​jetstack-bot)
Other (Cleanup or Flake)

v1.14.1

Compare Source

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

cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.

⚠️ This version has known issues. Please install v1.14.2 instead.

⚠️ Known Issues (please install v1.14.2)
  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations
  • In cert-manager v1.14.0 and v1.14.1, the CA and SelfSigned issuers issue certificates with SANs set to non-critical even when the subject is empty. It incorrectly copies the critical field from the CSR.
🔧 Breaking changes

See Breaking changes in v1.14.0 release notes

ℹ️ Documentation
📜 Changes since v1.14.0
Bug or Regression
  • Fix broken cainjector image value in Helm chart (#​6693, @​SgtCoDFish)
  • Fix bug in cmctl namespace detection which prevented it being used as a startupapicheck image in namespaces other than cert-manager. (#​6706, @​inteon)
  • Fix bug in cmctl which caused cmctl experimental install to panic. (#​6706, @​inteon)

v1.14.0

Compare Source

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

cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.

⚠️ This version has known issues. Please install v1.14.2 instead.

⚠️ Known Issues (please install v1.14.2)
  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations
  • In cert-manager v1.14.0 and v1.14.1, the CA and SelfSigned issuers issue certificates with SANs set to non-critical even when the subject is empty. It incorrectly copies the critical field from the CSR.
  • During the release of v1.14.0, the Helm chart for this version was found to use the wrong OCI image for the cainjector Deployment,
    which caused the Helm installation to fail.
    In order to complete the release, the cert-manager team have manually updated the Helm chart for this version,
    which contains all the Helm chart fixes which are in v1.14.1.
  • A bug in cmctl namespace detection prevents it being used as a startupapicheck image in namespaces other than cert-manager.
  • A bug in cmctl causes cmctl experimental install to panic.
🔧 Breaking Changes

The startupapicheck job uses a new OCI image called "startupapicheck", instead of the ctl image.
If you run in an environment in which images cannot be pulled, be sure to include the new image.

The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob.

🗺️ Major Themes
New X.509 Features

The cert-manager Certificate resource now allows you to configure a subset of "Other Name" SANs,
which are described in the Subject Alternative Name section of RFC 5280 (on page 37).

We specifically support any otherName type with a UTF-8 value, such as the User Principal Name or sAMAccountName.
These are useful when issuing unique certificates for authenticating with LDAP systems such as Microsoft Active Directory.
For example you can create certificates with this block in the spec:

  otherNames:
    - oid: 1.3.6.1.4.1.311.20.2.3 # UPN OID
      utf8Value: upn@domain.local

The feature is still in alpha stage and requires you to enable the OtherName feature flag in the controller and webhook components.

New CA certificate Features

You can now specify the X.509 v3 Authority Information Accessors extension,
with URLs for certificates issued by the CA issuer.

Users can now use name constraints in CA certificates.
To know more details on name constraints check out RFC section https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10

Security

An ongoing security audit of the cert-manager code revealed some weaknesses which we have addressed in this release,
such as using more secure default settings in the HTTP servers that serve metrics, healthz and pprof endpoints.
This will help mitigate denial-of-service attacks against those important services.

All the cert-manager containers are now configured with read only root file system by default,
to prevent unexpected changes to the file system of the OCI image.

And it is now possible to configure the metrics server to use HTTPS rather than HTTP,
so that clients can verify the identity of the metrics server.

Other

The liveness probe of the cert-manager controller Pod is now enabled by default.

There is a new option .spec.keystores.pkcs12.algorithms to specify encryption and MAC algorithms for PKCS.

🤝 Community

Thanks again to all open-source contributors with commits in this release, including:

Thanks also to the following cert-manager maintainers for their contributions during this release:

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

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
Feature
  • ACME challenge solver Pod for HTTP01 will get a default annotation of "cluster-autoscaler.kubernetes.io/safe-to-evict": "true". You can provide an annotation of "cluster-autoscaler.kubernetes.io/safe-to-evict": "false" in your podTemplate if you don't like this. (#​6349, @​jsoref)
  • Added a clock skew detector liveness probe that will force a restart in case we detect a skew between the internal monotonic clock and the system clock of more than 5 minutes.
    Also, the controller's liveness probe is now enabled by default. (#​6328, @​inteon)
  • Added a new flag (--dynamic-serving-leaf-duration) that can adjust the lifetime of the dynamic leaf certificates (#​6552, @​allenmunC1)
  • Added support for otherName SANS in Certificates (#​6404, @​SpectralHiss)
  • Added the option to specify the X.509 v3 Authority Information Accessors extension CA Issuers URLs for certificates issued by the CA issuer. (#​6486, @​jeremycampbell)
  • Adds cert-manager's new core infrastructure initiative badge! See more details on https://www.bestpractices.dev/projects/8079 (#​6497, @​SgtCoDFish)
  • All Pods are now configured with readOnlyRootFilesystem by default. (#​6453, @​wallrj)
  • MAYBE BREAKING: The startupapicheck job is now handled by an entirely new container called "startupapicheck". This replaces the previous ctl container. If you run in an environment in which images cannot be pulled, be sure to include the new container. (#​6549, @​SgtCoDFish)
  • New option .spec.keystores.pkcs12.algorithms to specify encryption and MAC algorithms for PKCS#​12 keystores. Fixes issues #​5957 and #​6523. (#​6548, @​snorwin)
  • The ACME HTTP01 solver Pod is now configured with readOnlyRootFilesystem: true (#​6462, @​wallrj)
  • Updates the AWS SDK for Go to 1.48.7 to support Amazon EKS Pod Identity (#​6519, @​JoeNorth)
  • Users can now use name constraints in CA certificates. To know more details on name constraints check out RFC section https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10 (#​6500, @​tanujd11)
  • ⚠️ potentially breaking ⚠️: The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob. (#​6053, @​inteon)
  • Add TLS support to the metrics endpoint through either a certificate file or through dynamically issued certificates (#​6574, @​ThatsMrTalbot)
  • Helm Chart: allow changing the default Deployment revisionHistoryLimit (#​6248, @​tberreis)
  • Security: Limit the size of the response body read from HTTP requests by cert-manager. (#​6619, @​ThatsMrTalbot)
  • Support custom spec.namespaceSelector for webhooks (#​6638, @​jkroepke)
Bug or Regression
  • BUGFIX[helm]: Fix issue where webhook feature gates were only set if controller feature gates are set. (#​6380, @​asapekia)
  • Controller ConfigMap is now created only if .Values.config is set. (#​6357, @​ABWassim)
  • Fix runaway bug caused by multiple Certificate resources that point to the same Secret resource. (#​6406, @​inteon)
  • Fix(helm): templating of required value in controller and webhook ConfigMap resources (#​6435, @​ABWassim)
  • Fixed a webhook validation error message when the key algorithm was invalid. (#​6571, @​pevidex)
  • Fixed error messaging when setting up vault issuer (#​6433, @​vinny)
  • GHSA-vgf6-pvf4-34rq: The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size >= 3MiB. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory.
    The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body.
    The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request. (#​6498, @​inteon)
  • Increase the default webhook timeout to its maximum value of 30 seconds, so that the underlying timeout error message has more chance of being returned to the end user. (#​6488, @​wallrj)
  • Listeners that do not support TLS on Gateway resources will now not raise BadConfig warnings anymore (#​6347, @​lauraseidler)
  • Mitigate potential Slowloris attacks by setting ReadHeaderTimeout in all http.Server instances (#​6534, @​wallrj)
  • The Venafi issuer now properly resets the certificate and should no longer get stuck with WebSDK CertRequest Module Requested Certificate or This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.. (#​6398, @​maelvls)
  • Update experimental install and uninstall commands to have flag parity with the rest of the CLI (#​6562, @​ThatsMrTalbot)
  • Webhook ConfigMap if now created only if .Values.webhook.config is set. (#​6360, @​ABWassim)
  • BUGFIX: Ensure otherName SAN changes in Certificate resources trigger re-issuance. (#​6620, @​SpectralHiss)
  • Bugfix: Publish the startupapicheck image to quay.io (#​6609, @​wallrj)
Other (Cleanup or Flake)
  • Cert-manager is now built with Go 1.21.5 (#​6545, @​wallrj)
  • Bump Go to 1.21.3 to address CVE-2023-39325. Also bumps base images. (#​6410, @​SgtCoDFish)
  • Bump golang.org/x/net v0.15.0 => v0.17.0 as part of addressing CVE-2023-44487 / CVE-2023-39325 (#​6427, @​SgtCoDFish)
  • Check code for unintended use of crypto/md5, a weak cryptographic primitive; using golangci-lint / gosec (G501). (#​6581, @​wallrj)
  • Check code for unintended use of crypto/sha1, a weak cryptographic primitive; using golangci-lint / gosec (G505). (#​6579, @​wallrj)
  • Check code for unintended use of weak random number generator (math/rand instead of crypto/rand); using golangci-lint / gosec (G404). (#​6582, @​wallrj)
  • Cleanup: Restrict MutatingWebhookConfiguration to only CertificateRequest resources (#​6311, @​hawksight)
  • Deprecated pkg/util.RandStringRunes and pkg/controller/test.RandStringBytes. Use k8s.io/apimachinery/pkg/util/rand.String instead. (#​6585, @​wallrj)
  • Enabled verbose logging in startupapicheck by default, so that if it fails, users can know exactly what caused the failure. (#​6495, @​wallrj)
  • Fix gosec G601: Implicit memory aliasing of items from a range statement (#​6551, @​wallrj)
  • Fix handling of serial numbers in literal certificate subjects. Previously a serial number could be specified in subject.serialNumber while using a literal certificate subject. This was a mistake and has been fixed. (#​6533, @​inteon)
  • The end-to-end tests can now test the cert-manager Vault Issuer on an OpenShift cluster. (#​6391, @​wallrj)
  • Update cert-manager's distroless base images from Debian 11 to Debian 12. This should have no practical effects on users. (#​6583, @​inteon)
  • Updated all code using GatewayAPI to use the now GA v1 APIs (#​6559, @​ThatsMrTalbot)
  • Upgrade Go from 1.20.7 to 1.20.8. (#​6369, @​inteon)
  • Upgrade github.com/emicklei/go-restful/v3 to v3.11.0 because v3.10.2 is labeled as "DO NOT USE". (#​6366, @​inteon)
  • Use the new generic sets.Set type in place of the deprecated sets.String. (#​6586, @​wallrj)
  • cert-manager is now built with Go v1.21.6 (#​6628, @​SgtCoDFish)
  • Update the Azure SDK and remove deprecated autorest dependency (#​5452, @​phillebaba)
  • The cert-manager E2E tests can now be run on Kubernetes 1.29 (#​6641, @​wallrj)

v1.13.6

Compare Source

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

v1.13.6 fixes a bug in the DigitalOcean DNS-01 provider which could cause incorrect DNS records to be deleted when using a domain with a CNAME. Special thanks to @​BobyMCbobs for reporting this issue and testing the fix!

It also patches CVE-2023-45288.

Known Issues

  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see 1.14 release notes for more information.

Changes

Bug or Regression

v1.13.5

Compare Source

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

⚠️ Known Issues
  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations
ℹ️ Documentation

Release notes
Upgrade notes
Installation instructions

🔧 Breaking changes

See Breaking changes in v1.13.0 release notes

📜 Changes since v1.13.4
Bug or Regression
  • Allow cert-manager.io/allow-direct-injection in annotations (#​6810, @​jetstack-bot)
  • BUGFIX: JKS and PKCS12 stores now contain the full set of CAs specified by an issuer (#​6814, @​inteon)
  • BUGFIX: fix race condition due to registering and using global runtime.Scheme variables (#​6832, @​inteon)
Other (Cleanup or Flake)

v1.13.4

Compare Source

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

⚠️ Known Issues
  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations
ℹ️ Documentation

Release notes
Upgrade notes
Installation instructions

🔧 Breaking changes

See Breaking changes in v1.13.0 release notes

📜 Changes since v1.13.3
Bug or Regression
  • BUGFIX: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). (#​6772, @​jetstack-bot)
Other (Cleanup or Flake)

v1.13.3

Compare Source

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

⚠️ Read about the breaking changes in cert-manager 1.13 before you upgrade from a < v1.13 version!

This patch release contains fixes for the following security vulnerabilities in the cert-manager-controller:

  • GO-2023-2334: Decryption of malicious PBES2 JWE objects can consume unbounded system resources.

If you use ArtifactHub Security report or trivy, this patch will also silence the following warning about a vulnerability in code which is imported but not used by the cert-manager-controller:

  • CVE-2023-47108: DoS vulnerability in otelgrpc due to unbound cardinality metrics.

An ongoing security audit of cert-manager suggested some changes to the webhook code to mitigate DoS attacks, and these are included in this patch release.

Changes
Bug or Regression
Dependencies
Added

Nothing has changed.

Changed
  • cloud.google.com/go/firestore: v1.11.0 → v1.12.0
  • cloud.google.com/go: v0.110.6 → v0.110.7
  • github.com/felixge/httpsnoop: v1.0.3 → v1.0.4
  • github.com/go-jose/go-jose/v3: v3.0.0 → v3.0.1
  • github.com/go-logr/logr: v1.2.4 → v1.3.0
  • github.com/golang/glog: v1.1.0 → v1.1.2
  • github.com/google/go-cmp: v0.5.9 → v0.6.0
  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.45.0 → v0.46.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.44.0 → v0.46.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/metric: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/sdk: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/trace: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel: v1.19.0 → v1.20.0
  • go.uber.org/goleak: v1.2.1 → v1.3.0
  • golang.org/x/sys: v0.13.0 → v0.14.0
  • google.golang.org/genproto/googleapis/api: f966b18 → b8732ec
  • google.golang.org/genproto: f966b18 → b8732ec
  • google.golang.org/grpc: v1.58.3 → v1.59.0
Removed

Nothing has changed.

v1.13.2

Compare Source

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

v1.13.2 fixes some CVE alerts and contains fixes for:

  1. a CertificateRequest runaway situation in case two Certificate resources point to the same Secret target resource
  2. a small bug in the Helm chart (feature gate options)
  3. a Venafi issuer bug
⚠️ 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.1

Bug or Regression
  • Bump golang.org/x/net v0.15.0 => v0.17.0 as part of addressing CVE-2023-44487 / CVE-2023-39325 (#​6432, @​SgtCoDFish)
  • BUGFIX[helm]: Fix issue where webhook feature gates were only set if controller feature gates are set. (#​6381, @​asapekia)
  • Fix runaway bug caused by multiple Certificate resources that point to the same Secret resource. (#​6425, @​inteon)
  • The Venafi issuer now properly resets the certificate and should no longer get stuck with WebSDK CertRequest Module Requested Certificate or This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.. (#​6402, @​maelvls)
Other (Cleanup or Flake)

v1.13.1

Compare Source

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)

v1.13.0

Compare Source

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.12.17

Compare Source

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

This patch release addresses several vulnerabilities reported by the Trivy security scanner. It is built with the latest version of Go 1.23 and includes various dependency updates.

📖 Read the full cert-manager 1.12 release notes, before installing or upgrading.

Changes since v1.12.16

Bug or Regression

v1.12.16

Compare Source

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

This release is primarily intended to address a breaking change in Cloudflare's API which impacted ACME DNS-01 challenges using Cloudflare.

Many thanks to the community members who reported this issue!

cert-manager v1.12.16 also bumps the version of Go used to build to 1.23.6 which is the latest at the time of release. This is to address a variety of reported vulnerabilities reported in cert-manager v1.12.15:

  • CVE-2024-34156
  • CVE-2024-34155
  • CVE-2024-34158
  • CVE-2024-45336
  • CVE-2024-45341
  • CVE-2025-22866

We don't expect that bumping Go will produce many noticeable changes, but there are some GODEBUG changes that could be applicable - specifically x509negativeserial may be of interest to users dealing with legacy certificates.

There's more information on go.dev which may help if you suspect any changes in this version bump may have caused issues in your environment.

Changes by Kind

Bug or Regression
  • Bump go to 1.23.6 which also requires bumping controller-gen to address a panic in that tool. That change in turn changes the formatting (but not the content) of CRD YAML for release-1.12 (#​7570, @​SgtCoDFish)
  • Fix issuing of certificates via DNS01 challenges on Cloudflare after a breaking change to the Cloudflare API (#​7568, @​SgtCoDFish + @​LukeCarrier)

v1.12.15

Compare Source

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

cert-manager v1.12.15 contains simple dependency bumps to address reported CVEs (CVE-2024-45337 and CVE-2024-45338).

We don't believe that cert-manager is actually vulnerable; this release is instead intended to satisfy vulnerability scanners.

It's important to note also that cert-manager v1.12 LTS has older base images which are no longer updated. These base images don't contain much, but they do contain time zone data which can get out of date.

To preserve original functionality, we don't intend to change the base images for cert-manager v1.12 LTS unless there's a very serious issue. As such, scanners may report issues with an out-of-date time zone database. If you require a newer base image, you should upgrade to a newer version of cert-manager.

What's Changed

  • Bump golang.org/x/net and golang.org/x/crypto to address CVE-2024-45337 and CVE-2024-45338 by @​wallrj in #​7497

Full Changelog: https://github.com/cert-manager/cert-manager/compare/v1.12.14...v1.12.15

v1.12.14

Compare Source

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

This patch release of cert-manager 1.12 makes several changes to how PEM input is validated, adding maximum sizes appropriate to the type of PEM data which is being parsed.

This is to prevent an unacceptable slow-down in parsing specially crafted PEM data. The issue was found by Google's OSS-Fuzz project.

The issue is low severity; to exploit the PEM issue would require privileged access which would likely allow Denial-of-Service through other methods.

Note also that since most PEM data parsed by cert-manager comes from ConfigMap or Secret resources which have a max size limit of approximately 1MB, it's difficult to force cert-manager to parse large amounts of PEM data.

Further information is available in https://github.com/cert-manager/cert-manager/security/advisories/GHSA-r4pg-vg54-wxx4

This patch release also fix an issue reported by Trivy, although that issue is low severity and is not expected to be relevant to cert-manager.

Bug Fixes

  • Set a maximum size for PEM inputs which cert-manager will accept to remove possibility of taking a long time to process an input (#​7403, @​SgtCoDFish)
  • Fix CVE-2024-5174 in github.com/golang-jwt/jwt/v4 (#​7407, @​SgtCoDFish)

v1.12.13

Compare Source

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

📖 Read the release documentation to learn more more about the features introduced in 1.12.

📜 Changes since v1.12.12

This patch release fixes the following vulnerabilities: CVE-2024-6104, CVE-2024-24791, CVE-2024-25620, CVE-2024-26147, and CVE-2024-41110.

ℹ️ This version contains an unusually large number of Go dependency changes for
a patch release. The cert-manager maintainers are confident that it is stable
because it has passed the same extensive suite of tests as previous 1.12
releases. But if you are importing cert-manager 1.12 as a Go module you will
notice that the minimum Go version is 1.21, and the k8s.io modules are now
updated to 0.29.

This reason for the large number of Go dependency changes is that the Helm SDK
has been updated to fix security vulnerabilities in cmctl. This required the
k8s.io modules to be updated from 0.27 to 0.29 in all components. Those
newer minor versions of the Kubernetes modules pulled in new transitive
dependencies, and incremented the minimum Go version from 1.20 to 1.21.

Bugfixes

v1.12.12

Compare Source

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

📜 Changes since v1.12.11

Bugfixes
Other (Cleanup or Flake)

v1.12.11

Compare Source

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

📜 Changes since v1.12.10

Other (Cleanup or Flake)

v1.12.10

Compare Source

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

v1.12.10 fixes a bug in the DigitalOcean DNS-01 provider which could cause incorrect DNS records to be deleted when using a domain with a CNAME. Special thanks to @​BobyMCbobs for reporting this issue and testing the fix!

It also patches CVE-2023-45288.

⚠️ Known Issues
  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations

  • If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see #​6406).
    This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version.

Changes

Bug or Regression

v1.12.9

Compare Source

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

⚠️ Known Issues
  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations

  • If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see #​6406).
    This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version.

ℹ️ Documentation

Release notes
Upgrade notes
Installation instructions

🔧 Breaking changes

See Breaking changes in v1.12.0 release notes

📜 Changes since v1.12.8
Bug or Regression
  • Allow cert-manager.io/allow-direct-injection in annotations (#​6811, @​jetstack-bot)
  • BUGFIX: JKS and PKCS12 stores now contain the full set of CAs specified by an issuer (#​6813, @​inteon)
  • BUGFIX: fix race condition due to registering and using global runtime.Scheme variables (#​6833, @​inteon)
Other (Cleanup or Flake)

v1.12.8

Compare Source

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

⚠️ Known Issues
  • ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see release docs for more info and mitigations

  • If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see #​6406).
    This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version.

ℹ️ Documentation

Release notes
Upgrade notes
Installation instructions

🔧 Breaking changes

See Breaking changes in v1.12.0 release notes

📜 Changes since v1.12.7
Bug or Regression
  • BUGFIX: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). (#​6773, @​jetstack-bot)
Other (Cleanup or Flake)

v1.12.7

Compare Source

This patch release contains fixes for the following security vulnerabilities in the cert-manager-controller:

  • GO-2023-2382: Denial of service via chunk extensions in net/http

If you use ArtifactHub Security report or trivy, this patch will also silence the following warning about a vulnerability in code which is imported but not used by the cert-manager-controller:

  • CVE-2023-47108: DoS vulnerability in otelgrpc due to unbound cardinality metrics.

An ongoing security audit of cert-manager suggested some changes to the webhook code to mitigate DoS attacks,
and these are included in this patch release.

Known bugs

If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see #​6406).

This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version.

Changes
Feature
Bug or Regression
  • The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size >= 3MiB. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory (#​6506, @​inteon).
  • The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body (#​6506, @​inteon).
  • The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request (#​6506, @​inteon).
  • Mitigate potential Slowloris attacks by setting ReadHeaderTimeout in all http.Server instances (#​6539, @​wallrj).
  • Upgrade otel and docker to fix: CVE-2023-47108 and GHSA-jq35-85cj-fj4p (#​6513, @​inteon).
Dependencies
Added
  • cloud.google.com/go/dataproc/v2: v2.0.1
Changed
  • cloud.google.com/go/aiplatform: v1.45.0 → v1.48.0
  • cloud.google.com/go/analytics: v0.21.2 → v0.21.3
  • cloud.google.com/go/baremetalsolution: v0.5.0 → v1.1.1
  • cloud.google.com/go/batch: v0.7.0 → v1.3.1
  • cloud.google.com/go/beyondcorp: v0.6.1 → v1.0.0
  • cloud.google.com/go/bigquery: v1.52.0 → v1.53.0
  • cloud.google.com/go/cloudbuild: v1.10.1 → v1.13.0
  • cloud.google.com/go/cloudtasks: v1.11.1 → v1.12.1
  • cloud.google.com/go/compute: v1.21.0 → v1.23.0
  • cloud.google.com/go/contactcenterinsights: v1.9.1 → v1.10.0
  • cloud.google.com/go/container: v1.22.1 → v1.24.0
  • cloud.google.com/go/datacatalog: v1.14.1 → v1.16.0
  • cloud.google.com/go/dataplex: v1.8.1 → v1.9.0
  • cloud.google.com/go/datastore: v1.12.1 → v1.13.0
  • cloud.google.com/go/datastream: v1.9.1 → v1.10.0
  • cloud.google.com/go/deploy: v1.11.0 → v1.13.0
  • cloud.google.com/go/dialogflow: v1.38.0 → v1.40.0
  • cloud.google.com/go/documentai: v1.20.0 → v1.22.0
  • cloud.google.com/go/eventarc: v1.12.1 → v1.13.0
  • cloud.google.com/go/firestore: v1.11.0 → v1.12.0
  • cloud.google.com/go/gkebackup: v0.4.0 → v1.3.0
  • cloud.google.com/go/gkemulticloud: v0.6.1 → v1.0.0
  • cloud.google.com/go/kms: v1.12.1 → v1.15.0
  • cloud.google.com/go/maps: v0.7.0 → v1.4.0
  • cloud.google.com/go/metastore: v1.11.1 → v1.12.0
  • cloud.google.com/go/policytroubleshooter: v1.7.1 → v1.8.0
  • cloud.google.com/go/pubsub: v1.32.0 → v1.33.0
  • cloud.google.com/go/run: v0.9.0 → v1.2.0
  • cloud.google.com/go/servicedirectory: v1.10.1 → v1.11.0
  • cloud.google.com/go/speech: v1.17.1 → v1.19.0
  • cloud.google.com/go/translate: v1.8.1 → v1.8.2
  • cloud.google.com/go/video: v1.17.1 → v1.19.0
  • cloud.google.com/go/vmwareengine: v0.4.1 → v1.0.0
  • cloud.google.com/go: v0.110.4 → v0.110.7
  • github.com/felixge/httpsnoop: v1.0.3 → v1.0.4
  • github.com/go-logr/logr: v1.2.4 → v1.3.0
  • github.com/golang/glog: v1.1.0 → v1.1.2
  • github.com/google/go-cmp: v0.5.9 → v0.6.0
  • github.com/google/uuid: v1.3.0 → v1.3.1
  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.45.0 → v0.46.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.44.0 → v0.46.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/metric: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/sdk: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel/trace: v1.19.0 → v1.20.0
  • go.opentelemetry.io/otel: v1.19.0 → v1.20.0
  • go.uber.org/goleak: v1.2.1 → v1.3.0
  • golang.org/x/oauth2: v0.10.0 → v0.11.0
  • golang.org/x/sys: v0.13.0 → v0.14.0
  • google.golang.org/genproto/googleapis/api: 782d3b1 → b8732ec
  • google.golang.org/genproto/googleapis/rpc: 782d3b1 → b8732ec
  • google.golang.org/genproto: 782d3b1 → b8732ec
  • google.golang.org/grpc: v1.58.3 → v1.59.0
Removed
  • cloud.google.com/go/dataproc: v1.12.0

v1.12.6

Compare Source

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

v1.12.6 fixes some CVE alerts and a Venafi issuer bug.

Known bugs

If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see #​6406).

This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version.

Changes since v1.12.5

Bug or Regression
  • Bump golang.org/x/net v0.15.0 => v0.17.0 as part of addressing CVE-2023-44487 / CVE-2023-39325 (#​6431, @​SgtCoDFish)
  • The Venafi issuer now properly resets the certificate and should no longer get stuck with WebSDK CertRequest Module Requested Certificate or This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.. (#​6401, @​maelvls)
Other (Cleanup or Flake)

v1.12.5

Compare Source

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.12.4

Compare Source

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.12.3

Compare Source

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

v1.12.2

Compare Source

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)

v1.12.1

Compare Source

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

v1.12.1 release contains a couple dependency bumps and changes to ACME external webhook library.

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.

  • cmctl API check is broken in v1.12.0 and v1.12.1. We suggest that you do not upgrade cmctl to this version. The fix was released in v1.12.2 (which has an additional issue, see below). See #​6116 for context.
  • 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.0

Other (Cleanup or Flake)
  • Don't run API Priority and Fairness controller in webhook's extension apiserver (#​6085, @​irbekrm)
  • Adds a warning for folks to not use controller feature gates helm value to configure webhook feature gates (#​6100, @​irbekrm)
Uncategorized

v1.12.0

Compare Source

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

cert-manager v1.12 brings support for JSON logging, a lower memory footprint, support for ephemeral service account tokens with Vault, improved dependency management and support for the ingressClassName field.

The full release notes are available at https://cert-manager.io/docs/release-notes/release-notes-1.12.

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.

  • cmctl API check is broken in v1.12.0 and v1.12.1. We suggest that you do not upgrade cmctl to this version. The fix was released in v1.12.2 (which has an additional issue, see below). See #​6116 for context.
  • 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.

Community

Thanks again to all open-source contributors with commits in this release, including:

Thanks also to the following cert-manager maintainers for their contributions during this release:

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

Special thanks to @​erikgb for continuously great input and feedback and to @​lucacome for always ensuring that our kube deps are up to date!

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 Jetstack (by Venafi) for contributing developer time and resources towards the continued maintenance of cert-manager projects.

Changes by Kind

Feature
  • POTENTIALLY BREAKING: the cert-manager binaries and some tests have been split into separate Go modules, allowing them to be easily patched independently. This should have no impact if you simply run cert-manager in your cluster. If you import cert-manager binaries, integration tests or end-to-end tests in Go, you may need to make code changes in response to this. See https://cert-manager.io/docs/contributing/importing/ for more details. (#​5880, @​SgtCoDFish)
  • Added support for JSON logging (using --logging-format=json) (#​5828, @​malovme)
  • Added the --concurrent-workers flag that lets you control the number of concurrent workers for each of our controllers. (#​5936, @​inteon)
  • Adds acme.solvers.http01.ingress.podTemplate.spec.imagePullSecrets field to issuer spec to allow to specify image pull secrets for the ACME HTTP01 solver pod. (#​5801, @​malovme)
  • Cainjector:
    • New flags were added to the cainjector binary. They can be used to modify what injectable kinds are enabled. If cainjector is only used as a cert-manager's internal component it is sufficient to only enable validatingwebhookconfigurations and mutatingwebhookconfigurations injectable resources; disabling the rest can improve memory consumption. By default all are enabled.
    • The --watch-certs flag was renamed to --enable-certificates-data-source. (#​5766, @​irbekrm)
  • Helm: Added PodDisruptionBudgets for cert-manager components to the Helm chart (disabled by default). (#​3931, @​e96wic)
  • Helm: Egress 6443/TCP is now allowed in the webhook. This is required for OpenShift and OKD clusters for which the Kubernetes API server listens on port 6443 instead of 443. (#​5788, @​ExNG)
  • Helm: you can now add volumes and volume mounts via Helm variables for the cainjector, webhook, and startupapicheck. (#​5668, @​waterfoul)
  • Helm: you can now enable the flags --dns01-recursive-nameservers, --enable-certificate-owner-ref, and --dns01-recursive-nameservers-only through Helm values. (#​5614, @​jkroepke)
  • The DigitalOcean issuer now sets a cert-manager user agent string. (#​5869, @​andrewsomething)
  • The HTTP-01 solver can now be configured to create Ingresses with an ingressClassName. The credit goes to @​dsonck92 for implementing the initial PR. (#​5849, @​maelvls)
  • The Vault issuer can now be used with ephemeral Kubernetes tokens. With the new serviceAccountRef field, cert-manager generates a short-lived token associated to the service account to authenticate to Vault. Along with this new feature, we have added validation logic in the webhook in order to check the vault.auth field when creating an Issuer or ClusterIssuer. Previously, it was possible to create an Issuer or ClusterIssuer with an invalid value for vault.auth. (#​5502, @​maelvls)
  • The cert-manager controller container of the controller Pod now has a /livez endpoint and a default liveness probe, which fails if leader election has been lost and for some reason the process has not exited. The liveness probe is disabled by default. (#​5962, @​wallrj)
  • Upgraded Gateway API to v0.6.0. (#​5768, @​yulng)
  • Webhook now logs requests to mutating/validating webhook (with --v=5 flag) (#​5975, @​tobotg)
Design
  • Certificate issuances are always failed (and retried with a backoff) for denied or invalid CertificateRequests.
    This is not necessarily a breaking change as due to a race condition this may already have been the case. (#​5887, @​irbekrm)
  • The cainjector controller can now use server-side apply to patch mutatingwebhookconfigurations, validatingwebhookconfigurations, apiservices, and customresourcedefinitions. This feature is currently in alpha and is not enabled by default. To enable server-side apply for the cainjector, add the flag --feature-gates=ServerSideApply=true to the deployment. (#​5991, @​inteon)
Documentation
Bug or Regression
  • Cmctl renew now prints an error message unless Certificate name(s) or --all are supplied (#​5896, @​maumontesilva)
  • Cmctl: In order work around a hardcoded Kubernetes version in Helm, we now use a fake kube-apiserver version when generating the helm template when running cmctl x install. (#​5720, @​irbekrm)
  • Fix development environment and go vendoring on Linux arm64. (#​5810, @​SgtCoDFish)
  • Fix ordering of remote git tags when preparing integration tests (#​5910, @​SgtCoDFish)
  • Helm: the flag --acme-http01-solver-image given to the variable acmesolver.extraArgs now has precedence over the variable acmesolver.image. (#​5693, @​SgtCoDFish)
  • Ingress and Gateway resources will not be synced if deleted via foreground cascading. (#​5878, @​avi-08)
  • The auto-retry mechanism added in VCert 4.23.0 and part of cert-manager 1.11.0 (#​5674) has been found to be faulty. Until this issue is fixed upstream, we now use a patched version of VCert. This patch will slowdown the issuance of certificates by 9% in case of heavy load on TPP. We aim to release at an ulterior date a patch release of cert-manager to fix this slowdown. (#​5805, @​inteon)
  • Upgrade to go 1.19.6 along with newer helm and containerd versions and updated base images (#​5813, @​SgtCoDFish)
  • When using the jks and pkcs12 fields on a Certificate resource with a CA issuer that doesn't set the ca.crt in the Secret resource, cert-manager no longer loop trying to copy ca.crt into truststore.jks or truststore.p12. (#​5972, @​vinzent)
  • When using the literalSubject field on a Certificate resource, the IPs, URIs, DNS names, and email addresses segments are now properly compared. (#​5747, @​inteon)
Other (Cleanup or Flake)
  • ACME account registration is now re-verified if account key is manually changed. (#​5949, @​TrilokGeer)
  • Add make go-workspace target for generating a go.work file for local development (#​5935, @​SgtCoDFish)
  • Added a Makefile target to build a standalone E2E test binary: make e2e-build (#​5804, @​wallrj)
  • Bump keystore-go to v4.4.1 to work around an upstream rewrite of history (#​5724, @​g-gaston)
  • Bump the distroless base images (#​5929, @​maelvls)
  • Bumps base images (#​5793, @​irbekrm)
  • Cainjector memory improvements: removes second cache of secrets, CRDs, validating/mutatingwebhookconfigurations and APIServices that should reduce memory consumption by about half.
    **BREAKING:*- users who are relying on cainjector to work when certificates.cert-manager.io CRD is not installed in the cluster, now need to pass --watch-certificates=false flag to cainjector else it will not start.
    Users who only use cainjector as cert-manager's internal component and have a large number of Certificate resources in cluster can pass --watch-certificates=false to avoid cainjector from caching Certificate resources and save some memory. (#​5746, @​irbekrm)
  • Cainjector now only reconciles annotated objects of injectable kind. (#​5764, @​irbekrm)
  • Container images are have an OCI source label (#​5722, @​james-callahan)
  • Enable cmctl to be imported by third parties (#​6050, @​jetstack-bot)
  • The acmesolver pods created by cert-manager now have automountServiceAccountToken turned off. (#​5754, @​wallrj)
  • The controller binary now uses much less memory on Kubernetes clusters with large or numerous Secret resources. The controller now ignores the contents of Secrets that aren't relevant to cert-manager. This functionality is currently placed behind SecretsFilteredCaching feature flag. The filtering mechanism might, in some cases, slightly slow down issuance or cause additional requests to kube-apiserver because unlabelled Secret resources that cert-manager controller needs will now be retrieved from kube-apiserver instead of being cached locally. To prevent this from happening, users can label all issuer Secret resources with the controller.cert-manager.io/fao: true label. (#​5824, @​irbekrm)
  • The controller memory usage has been further decreased by ignoring annotations, labels and managed fields when caching Secret resources. (#​5966, @​irbekrm)
  • The controller now makes fewer calls to the ACME server.
    POTENTIALLY BREAKING: this PR slightly changes how the name of the Challenge resources are calculated. To avoid duplicate issuances due to the Challenge resource being recreated, ensure that there is no in-progress ACME certificate issuance when you upgrade to this version of cert-manager. (#​5901, @​irbekrm)
  • The memory usage of the controller has been reduced by only caching the metadata of Pods and Services. (#​5976, @​irbekrm)
  • The number of calls made to the ACME server during the controller startup has been reduced by storing the private key hash in the Issuer's status. (#​6006, @​vidarno)
  • Updates Kubernetes libraries to v0.26.2. (#​5820, @​lucacome)
  • Updates Kubernetes libraries to v0.26.3. (#​5907, @​lucacome)
  • Updates Kubernetes libraries to v0.27.1. (#​5961, @​lucacome)
  • Updates base images (#​5832, @​irbekrm)
  • Upgrade to Go 1.20 (#​5969, @​wallrj)
  • Upgrade to go 1.19.5 (#​5712, @​yanggangtony)
  • Validates that certificate.spec.secretName is a valid Secret name (#​5967, @​avi-08)
  • We are now testing with Kubernetes v1.27.1 by default. (#​5979, @​irbekrm)
  • certificate.spec.secretName Secrets will now be labelled with controller.cert-manager.io/fao label (#​5660, @​irbekrm)
Uncategorized
  • We have replaced our python boilerplate checker with an installed Go version, removing the need to have Python installed when developing or building cert-manager. (#​6000, @​SgtCoDFish)

v1.11.5

Compare Source

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

Changes since v1.11.4

v1.11.4

Compare Source

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.11.3

Compare Source

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

v1.11.3 mostly contains ACME library changes. API Priority and Fairness feature is now disabled in the external webhook's extension apiserver.

Changes by Kind

Other (Cleanup or Flake)
  • API Priority and Fairness controller is now disabled in extension apiserver for DNS webhook implementation. (#​6092, @​irbekrm)
  • Adds a warning for folks to not use controller feature gates helm value to configure webhook feature gates (#​6101, @​irbekrm)

v1.11.2

Compare Source

Changelog since v1.11.1

Changes by Kind

Bug or Regression
Other (Cleanup or Flake)
  • Bump the distroless base images (#​5930, @​maelvls)

  • Bumps Docker libraries to fix vulnerability scan alert for CVE-2023-28840, CVE-2023-28841, CVE-2023-28842 (#​6037, @​irbekrm)
    Cert-manager was not actually affected by these CVEs which are all to do with Docker daemon's overlay network.

  • Bumps Kube libraries v0.26.0 -> v0.26.4 (#​6038, @​irbekrm)
    This might help with running cert-manager v1.11 on Kubernetes v1.27, see #​6038

v1.11.1

Compare Source

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

In v1.11.1, we updated the base images used for cert-manager containers. In addition, the users of the Venafi issuer will see less certificates repeatedly failing.

If you are a user of Venafi TPP and have been having issues with the error message This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry, please use this version.

Changes since v1.11.0

Bug or Regression
  • Bump helm and other dependencies to fix CVEs, along with upgrading go and base images (#​5815, @​SgtCoDFish)
  • Bump the distroless base images (#​5930, @​maelvls)
  • The auto-retry mechanism added in VCert 4.23.0 and part of cert-manager 1.11.0 (#​5674) has been found to be faulty. Until this issue is fixed upstream, we now use a patched version of VCert. This patch will slowdown the issuance of certificates by 9% in case of heavy load on TPP. We aim to release at an ulterior date a patch release of cert-manager to fix this slowdown. (#​5819, @​maelvls)
  • Use a fake-kube apiserver version when generating helm template in cmctl x install, to work around a hardcoded Kubernetes version in Helm. (#​5726, @​SgtCoDFish)
Other (Cleanup or Flake)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [cert-manager](https://cert-manager.io) ([source](https://github.com/cert-manager/cert-manager)) | minor | `1.11.0` → `v1.19.2` | --- ### Release Notes <details> <summary>cert-manager/cert-manager (cert-manager)</summary> ### [`v1.19.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.2) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.19.1...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](https://cert-manager.io/docs/releases/release-notes/release-notes-1.19) on the cert-manager.io website before upgrading. #### Changes since `v1.19.1` ##### Bug or Regression - Address false positive vulnerabilities `CVE-2025-47914` and `CVE-2025-58181` which were reported by Trivy. ([#&#8203;8283](https://github.com/cert-manager/cert-manager/issues/8283), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Update Go to `v1.25.5` to fix `CVE-2025-61727` and `CVE-2025-61729` ([#&#8203;8294](https://github.com/cert-manager/cert-manager/issues/8294), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark)) - Update `global.nodeSelector` to helm chart to perform a `merge` and allow for a single `nodeSelector` to be set across all services. ([#&#8203;8233](https://github.com/cert-manager/cert-manager/issues/8233), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) ##### Other (Cleanup or Flake) - Update cert-manager's ACME client, forked from `golang/x/crypto` ([#&#8203;8270](https://github.com/cert-manager/cert-manager/issues/8270), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Updated Debian 12 distroless base images ([#&#8203;8326](https://github.com/cert-manager/cert-manager/issues/8326), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark)) ### [`v1.19.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.1) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.19.0...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](https://cert-manager.io/docs/releases/release-notes/release-notes-1.19) on the cert-manager.io website before upgrading. Changes since `v1.19.0`: ##### 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 ([#&#8203;8175](https://github.com/cert-manager/cert-manager/issues/8175), [@&#8203;cert-manager-bot](https://github.com/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 ([#&#8203;8177](https://github.com/cert-manager/cert-manager/issues/8177), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark)) - Revert API defaults for issuer reference kind and group introduced in 0.19.0 ([#&#8203;8178](https://github.com/cert-manager/cert-manager/issues/8178), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) ### [`v1.19.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.0) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.18.4...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](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.1): > > - [Unexpected certificate renewal after upgrading to 1.19.0](https://github.com/cert-manager/cert-manager/issues/8158) 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 ([#&#8203;7726](https://github.com/cert-manager/cert-manager/issues/7726), [@&#8203;jcpunk](https://github.com/jcpunk)) - Add `global.nodeSelector` to helm chart to allow for a single `nodeSelector` to be set across all services. ([#&#8203;7818](https://github.com/cert-manager/cert-manager/issues/7818), [@&#8203;StingRayZA](https://github.com/StingRayZA)) - Add a feature gate to default to Ingress `pathType` `Exact` in ACME HTTP01 Ingress challenge solvers. ([#&#8203;7795](https://github.com/cert-manager/cert-manager/issues/7795), [@&#8203;sspreitzer](https://github.com/sspreitzer)) - Add generated `applyconfigurations` allowing clients to make type-safe server-side apply requests for cert-manager resources. ([#&#8203;7866](https://github.com/cert-manager/cert-manager/issues/7866), [@&#8203;erikgb](https://github.com/erikgb)) - Added API defaults to issuer references group (cert-manager.io) and kind (Issuer). ([#&#8203;7414](https://github.com/cert-manager/cert-manager/issues/7414), [@&#8203;erikgb](https://github.com/erikgb)) - Added `certmanager_certificate_challenge_status` Prometheus metric. ([#&#8203;7736](https://github.com/cert-manager/cert-manager/issues/7736), [@&#8203;hjoshi123](https://github.com/hjoshi123)) - Added `protocol` field for `rfc2136` DNS01 provider ([#&#8203;7881](https://github.com/cert-manager/cert-manager/issues/7881), [@&#8203;hjoshi123](https://github.com/hjoshi123)) - Added experimental field `hostUsers` flag to all pods. Not set by default. ([#&#8203;7973](https://github.com/cert-manager/cert-manager/issues/7973), [@&#8203;hjoshi123](https://github.com/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. ([#&#8203;7972](https://github.com/cert-manager/cert-manager/issues/7972), [@&#8203;lunarwhite](https://github.com/lunarwhite)) - The `CAInjectorMerging` feature has been promoted to BETA and is now enabled by default ([#&#8203;8017](https://github.com/cert-manager/cert-manager/issues/8017), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) - The controller, webhook and ca-injector now log their version and git commit on startup for easier debugging and support. ([#&#8203;8072](https://github.com/cert-manager/cert-manager/issues/8072), [@&#8203;prasad89](https://github.com/prasad89)) - Updated `certificate` metrics to the collector approach. ([#&#8203;7856](https://github.com/cert-manager/cert-manager/issues/7856), [@&#8203;hjoshi123](https://github.com/hjoshi123)) #### Bug or Regression - ACME: Increased challenge authorization timeout to 2 minutes to fix `error waiting for authorization` ([#&#8203;7796](https://github.com/cert-manager/cert-manager/issues/7796), [@&#8203;hjoshi123](https://github.com/hjoshi123)) - BUGFIX: permitted URI domains were incorrectly used to set the excluded URI domains in the CSR's name constraints ([#&#8203;7816](https://github.com/cert-manager/cert-manager/issues/7816), [@&#8203;kinolaev](https://github.com/kinolaev)) - Enforced ACME HTTP-01 solver validation to properly reject configurations when multiple ingress options (`class`, `ingressClassName`, `name`) are specified simultaneously ([#&#8203;8021](https://github.com/cert-manager/cert-manager/issues/8021), [@&#8203;lunarwhite](https://github.com/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 ([#&#8203;7961](https://github.com/cert-manager/cert-manager/issues/7961), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Reverted adding the `global.rbac.disableHTTPChallengesRole` Helm option. ([#&#8203;7836](https://github.com/cert-manager/cert-manager/issues/7836), [@&#8203;inteon](https://github.com/inteon)) - This change removes the `path` label of core ACME client metrics and will require users to update their monitoring dashboards and alerting rules if using those metrics. ([#&#8203;8109](https://github.com/cert-manager/cert-manager/issues/8109), [@&#8203;mladen-rusev-cyberark](https://github.com/mladen-rusev-cyberark)) - Use the latest version of `ingress-nginx` in E2E tests to ensure compatibility ([#&#8203;7792](https://github.com/cert-manager/cert-manager/issues/7792), [@&#8203;wallrj](https://github.com/wallrj)) #### Other (Cleanup or Flake) - Helm: Fix naming template of `tokenrequest` RoleBinding resource to improve consistency ([#&#8203;7761](https://github.com/cert-manager/cert-manager/issues/7761), [@&#8203;lunarwhite](https://github.com/lunarwhite)) - Improve error messages when certificates, CRLs or private keys fail admission due to malformed or missing PEM data ([#&#8203;7928](https://github.com/cert-manager/cert-manager/issues/7928), [@&#8203;SgtCoDFish](https://github.com/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. ([#&#8203;8003](https://github.com/cert-manager/cert-manager/issues/8003), [@&#8203;hjoshi123](https://github.com/hjoshi123)) - Update kind images to include the Kubernetes 1.33 node image ([#&#8203;7786](https://github.com/cert-manager/cert-manager/issues/7786), [@&#8203;wallrj](https://github.com/wallrj)) - Use `maps.Copy` for cleaner map handling ([#&#8203;8092](https://github.com/cert-manager/cert-manager/issues/8092), [@&#8203;quantpoet](https://github.com/quantpoet)) - Vault: Migrate Vault E2E add-on tests from deprecated `vault-client-go` to the new `vault/api` client. ([#&#8203;8059](https://github.com/cert-manager/cert-manager/issues/8059), [@&#8203;armagankaratosun](https://github.com/armagankaratosun)) ### [`v1.18.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.4) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.18.3...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](https://cert-manager.io/docs/releases/release-notes/release-notes-1.18) on the cert-manager.io website before upgrading. #### Changes since `v1.18.3` ##### Bug or Regression - Address false positive vulnerabilities `CVE-2025-47914` and `CVE-2025-58181` which were reported by Trivy. ([#&#8203;8282](https://github.com/cert-manager/cert-manager/issues/8282), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Update Go to `v1.24.11` to fix `CVE-2025-61727` and `CVE-2025-61729` ([#&#8203;8295](https://github.com/cert-manager/cert-manager/issues/8295), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark)) ##### Other (Cleanup or Flake) - Update cert-manager's ACME client, forked from `golang/x/crypto` ([#&#8203;8271](https://github.com/cert-manager/cert-manager/issues/8271), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Updated Debian 12 distroless base images ([#&#8203;8328](https://github.com/cert-manager/cert-manager/issues/8328), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark)) ### [`v1.18.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.3) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.18.2...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](https://cert-manager.io/docs/releases/release-notes/release-notes-1.18) 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 ([#&#8203;8174](https://github.com/cert-manager/cert-manager/issues/8174), [@&#8203;cert-manager-bot](https://github.com/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 ([#&#8203;8176](https://github.com/cert-manager/cert-manager/issues/8176), [@&#8203;wallrj-cyberark](https://github.com/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 ([#&#8203;7966](https://github.com/cert-manager/cert-manager/issues/7966), [@&#8203;cert-manager-bot](https://github.com/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 ([#&#8203;7964](https://github.com/cert-manager/cert-manager/issues/7964), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) - Upgrades Go to v1.24.6 ([#&#8203;7974](https://github.com/cert-manager/cert-manager/issues/7974), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.18.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.2) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.18.1...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 ([#&#8203;7833](https://github.com/cert-manager/cert-manager/issues/7833), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) - Reverted adding the `global.rbac.disableHTTPChallengesRole` Helm option. ([#&#8203;7837](https://github.com/cert-manager/cert-manager/issues/7837), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) ### [`v1.18.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.1) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.18.0...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: [#&#8203;7791](https://github.com/cert-manager/cert-manager/issues/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: [#&#8203;7337](https://github.com/cert-manager/cert-manager/issues/7337), [#&#8203;7444](https://github.com/cert-manager/cert-manager/issues/7444), and [#&#8203;7685](https://github.com/cert-manager/cert-manager/issues/7685). > ℹ️ Be sure to review all new features and changes below, and read the [full release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.18) carefully before upgrading. Changes since `v1.18.0`: ##### Feature - 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. ([`#7810`](https://github.com/cert-manager/cert-manager/pull/7810), [@&#8203;sspreitzer](https://github.com/sspreitzer)) ##### Bug or Regression - ACME: Increased challenge authorization timeout to 2 minutes to fix `error waiting for authorization`. ([`#7801`](https://github.com/cert-manager/cert-manager/pull/7801), [@&#8203;hjoshi123](https://github.com/hjoshi123)) ##### Other (Cleanup or Flake) - Use the latest version of ingress-nginx in E2E tests to ensure compatibility ([`#7807`](https://github.com/cert-manager/cert-manager/pull/7807), [@&#8203;wallrj](https://github.com/wallrj)) ### [`v1.18.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.0) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.17.4...v1.18.0) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager 1.18 introduces several new features and breaking changes. Highlights include support for ACME certificate profiles, a new default for `Certificate.Spec.PrivateKey.RotationPolicy` now set to `Always` (breaking change), and the default `Certificate.Spec.RevisionHistoryLimit` now set to `1` (potentially breaking). > ℹ️ Be sure to review all new features and changes below, and read the [full release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.18) carefully before upgrading. ##### Known Issues - ACME HTTP01 challenge paths are rejected by the ingress-nginx validating webhook ([#&#8203;7791](https://github.com/cert-manager/cert-manager/issues/7791)) Changes since `v1.17.2`: ##### Feature - Add config to the Vault issuer to allow the server-name to be specified when validating the certificates the Vault server presents. ([#&#8203;7663](https://github.com/cert-manager/cert-manager/issues/7663), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) - Added `app.kubernetes.io/managed-by: cert-manager` label to the created Let's Encrypt account keys ([#&#8203;7577](https://github.com/cert-manager/cert-manager/issues/7577), [@&#8203;terinjokes](https://github.com/terinjokes)) - Added certificate issuance and expiration time metrics (`certmanager_certificate_not_before_timestamp_seconds`, `certmanager_certificate_not_after_timestamp_seconds`). ([#&#8203;7612](https://github.com/cert-manager/cert-manager/issues/7612), [@&#8203;solidDoWant](https://github.com/solidDoWant)) - Added ingress-shim option: `--extra-certificate-annotations`, which sets a list of annotation keys to be copied from Ingress-like to resulting Certificate object ([#&#8203;7083](https://github.com/cert-manager/cert-manager/issues/7083), [@&#8203;k0da](https://github.com/k0da)) - Added the `iss` short name for the cert-manager `Issuer` resource. ([#&#8203;7373](https://github.com/cert-manager/cert-manager/issues/7373), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Added the `ciss` short name for the cert-manager `ClusterIssuer` resource ([#&#8203;7373](https://github.com/cert-manager/cert-manager/issues/7373), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Adds the `global.rbac.disableHTTPChallengesRole` helm value to disable HTTP-01 ACME challenges. This allows cert-manager to drop its permission to create pods, improving security when HTTP-01 challenges are not required. ([#&#8203;7666](https://github.com/cert-manager/cert-manager/issues/7666), [@&#8203;ali-hamza-noor](https://github.com/ali-hamza-noor)) - Allow customizing signature algorithm ([#&#8203;7591](https://github.com/cert-manager/cert-manager/issues/7591), [@&#8203;tareksha](https://github.com/tareksha)) - Cache the full DNS response and handle TTL expiration in `FindZoneByFqdn` ([#&#8203;7596](https://github.com/cert-manager/cert-manager/issues/7596), [@&#8203;ThatsIvan](https://github.com/ThatsIvan)) - Cert-manager now uses a local fork of the golang.org/x/crypto/acme package ([#&#8203;7752](https://github.com/cert-manager/cert-manager/issues/7752), [@&#8203;wallrj](https://github.com/wallrj)) - Add support for [ACME profiles extension](https://datatracker.ietf.org/doc/draft-aaron-acme-profiles/). ([#&#8203;7777](https://github.com/cert-manager/cert-manager/issues/7777), [@&#8203;wallrj](https://github.com/wallrj)) - Promote the `UseDomainQualifiedFinalizer` feature to GA. ([#&#8203;7735](https://github.com/cert-manager/cert-manager/issues/7735), [@&#8203;jsoref](https://github.com/jsoref)) - Switched service/servicemon definitions to use port names instead of numbers. ([#&#8203;7727](https://github.com/cert-manager/cert-manager/issues/7727), [@&#8203;jcpunk](https://github.com/jcpunk)) - The default value of `Certificate.Spec.PrivateKey.RotationPolicy` changed from `Never` to `Always`. ([#&#8203;7723](https://github.com/cert-manager/cert-manager/issues/7723), [@&#8203;wallrj](https://github.com/wallrj)) - Potentially breaking: Set the default revisionHistoryLimit to 1 for the CertificateRequest revisions ([#&#8203;7758](https://github.com/cert-manager/cert-manager/issues/7758), [@&#8203;ali-hamza-noor](https://github.com/ali-hamza-noor)) ##### Documentation - Fix some comments ([#&#8203;7620](https://github.com/cert-manager/cert-manager/issues/7620), [@&#8203;teslaedison](https://github.com/teslaedison)) ##### Bug or Regression - Bump `go-jose` dependency to address `CVE-2025-27144`. ([#&#8203;7606](https://github.com/cert-manager/cert-manager/issues/7606), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Bump `golang.org/x/oauth2` to patch `CVE-2025-22868`. ([#&#8203;7638](https://github.com/cert-manager/cert-manager/issues/7638), [@&#8203;NicholasBlaskey](https://github.com/NicholasBlaskey)) - Bump `golang.org/x/crypto` to patch `GHSA-hcg3-q754-cr77`. ([#&#8203;7638](https://github.com/cert-manager/cert-manager/issues/7638), [@&#8203;NicholasBlaskey](https://github.com/NicholasBlaskey)) - Bump `github.com/golang-jwt/jwt` to patch `GHSA-mh63-6h87-95cp`. ([#&#8203;7638](https://github.com/cert-manager/cert-manager/issues/7638), [@&#8203;NicholasBlaskey](https://github.com/NicholasBlaskey)) - Change of the Kubernetes Ingress pathType from `ImplementationSpecific` to `Exact` for a reliable handling of ingress controllers and enhanced security. ([#&#8203;7767](https://github.com/cert-manager/cert-manager/issues/7767), [@&#8203;sspreitzer](https://github.com/sspreitzer)) - Fix AWS Route53 error detection for not-found errors during deletion of DNS records. ([#&#8203;7690](https://github.com/cert-manager/cert-manager/issues/7690), [@&#8203;wallrj](https://github.com/wallrj)) - Fix behavior when running with `--namespace=<namespace>`: limit the scope of cert-manager to a single namespace and disable cluster-scoped controllers. ([#&#8203;7678](https://github.com/cert-manager/cert-manager/issues/7678), [@&#8203;tsaarni](https://github.com/tsaarni)) - Fix handling of certificates with IP addresses in the `commonName` field; IP addresses are no longer added to the DNS `subjectAlternativeName` list and are instead added to the `ipAddresses` field as expected. ([#&#8203;7081](https://github.com/cert-manager/cert-manager/issues/7081), [@&#8203;johnjcool](https://github.com/johnjcool)) - Fix issuing of certificates via DNS01 challenges on Cloudflare after a breaking change to the Cloudflare API ([#&#8203;7549](https://github.com/cert-manager/cert-manager/issues/7549), [@&#8203;LukeCarrier](https://github.com/LukeCarrier)) - Fixed the `certmanager_certificate_renewal_timestamp_seconds` metric help text indicating that the metric is relative to expiration time, rather than Unix epoch time. ([#&#8203;7609](https://github.com/cert-manager/cert-manager/issues/7609), [@&#8203;solidDoWant](https://github.com/solidDoWant)) - Fixing the service account template to incorporate boolean values for the annotations. ([#&#8203;7698](https://github.com/cert-manager/cert-manager/issues/7698), [@&#8203;ali-hamza-noor](https://github.com/ali-hamza-noor)) - Quote nodeSelector values in Helm Chart ([#&#8203;7579](https://github.com/cert-manager/cert-manager/issues/7579), [@&#8203;tobiasbp](https://github.com/tobiasbp)) - Skip Gateway TLS listeners in `Passthrough` mode. ([#&#8203;6986](https://github.com/cert-manager/cert-manager/issues/6986), [@&#8203;vehagn](https://github.com/vehagn)) - Upgrade `golang.org/x/net` fixing `CVE-2025-22870`. ([#&#8203;7619](https://github.com/cert-manager/cert-manager/issues/7619), [@&#8203;dependabot](https://github.com/dependabot)\[bot]) ##### Other (Cleanup or Flake) - ACME E2E Tests: Upgraded Pebble to v2.7.0 and modified the ACME tests to match latest Pebble behaviour. ([#&#8203;7771](https://github.com/cert-manager/cert-manager/issues/7771), [@&#8203;wallrj](https://github.com/wallrj)) - Patch the `third_party/forked/acme` package with support for the ACME profiles extension. ([#&#8203;7776](https://github.com/cert-manager/cert-manager/issues/7776), [@&#8203;wallrj](https://github.com/wallrj)) - Promote the `AdditionalCertificateOutputFormats` feature to GA, making additional formats always enabled. ([#&#8203;7744](https://github.com/cert-manager/cert-manager/issues/7744), [@&#8203;erikgb](https://github.com/erikgb)) - Remove deprecated feature gate `ValidateCAA`. Setting this feature gate is now a no-op which does nothing but print a warning log line ([#&#8203;7553](https://github.com/cert-manager/cert-manager/issues/7553), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Update kind images to include the Kubernetes 1.33 node image ([#&#8203;7787](https://github.com/cert-manager/cert-manager/issues/7787), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) - Upgrade Go to `v1.24.4` ([#&#8203;7785](https://github.com/cert-manager/cert-manager/issues/7785), [@&#8203;wallrj](https://github.com/wallrj)) - Use slices.Contains to simplify code ([#&#8203;7753](https://github.com/cert-manager/cert-manager/issues/7753), [@&#8203;cuinix](https://github.com/cuinix)) ### [`v1.17.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.17.4) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.17.3...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 ([#&#8203;7832](https://github.com/cert-manager/cert-manager/issues/7832), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) ### [`v1.17.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.17.3) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.17.2...v1.17.3) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. This patch release addresses several vulnerabilities reported by the Trivy security scanner. It is built with the latest version of Go 1.23. 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, in: [#&#8203;7337](https://github.com/cert-manager/cert-manager/issues/7337), [#&#8203;7444](https://github.com/cert-manager/cert-manager/issues/7444), and [#&#8203;7685](https://github.com/cert-manager/cert-manager/issues/7685). > ℹ️ Be sure to review all new features and changes below, and read the [full release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.17) carefully before upgrading. Changes since `v1.17.2`: ##### Bug or Regression - Bump Go to 1.23.10 to fix GO-2025-3749, GO-2025-3750, and GO-2025-3751 ([#&#8203;7799](https://github.com/cert-manager/cert-manager/issues/7799), [@&#8203;wallrj](https://github.com/wallrj)) - ACME: Increased challenge authorization timeout to 2 minutes to fix error `waiting for authorization` ([#&#8203;7798](https://github.com/cert-manager/cert-manager/issues/7798), [@&#8203;hjoshi123](https://github.com/hjoshi123)) ##### Other (Cleanup or Flake) - Use the latest version of ingress-nginx in E2E tests to ensure compatibility ([#&#8203;7808](https://github.com/cert-manager/cert-manager/issues/7808), [@&#8203;wallrj](https://github.com/wallrj)) ### [`v1.17.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.17.2) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.17.1...v1.17.2) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. This patch release addresses several vulnerabilities reported by the Trivy security scanner. It is built with the latest version of Go 1.23 and includes various dependency updates. > 📖 Read the full [cert-manager 1.17 release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.17), before installing or upgrading. #### Changes since `v1.17.1` ##### Bug or Regression - Bump Go to `v1.23.8` to fix `CVE-2025-22871` ([#&#8203;7701](https://github.com/cert-manager/cert-manager/pull/7701), [`@wallrj`](https://github.com/wallrj)) - Bump `go-jose` dependency to address `CVE-2025-27144` ([#&#8203;7603](https://github.com/cert-manager/cert-manager/pull/7603), [`@SgtCoDFish`](https://github.com/SgtCoDFish)) - Bump `golang.org/x/net` to address `CVE-2025-22870` reported by Trivy ([#&#8203;7622](https://github.com/cert-manager/cert-manager/pull/7622), [`@SgtCoDFish`](https://github.com/SgtCoDFish)) - Bump `golang.org/x/net` to fix `CVE-2025-22872` ([#&#8203;7703](https://github.com/cert-manager/cert-manager/pull/7703), [`@wallrj`](https://github.com/wallrj)) - Bump `golang.org/x/oauth2` to patch `CVE-2025-22868` ([#&#8203;7692](https://github.com/cert-manager/cert-manager/pull/7692), [`@lentzi90`](https://github.com/lentzi90)) - Bump `golang.org/x/crypto` to patch `GHSA-hcg3-q754-cr77` ([#&#8203;7692](https://github.com/cert-manager/cert-manager/pull/7692), [`@lentzi90`](https://github.com/lentzi90)) - Bump `github.com/golang-jwt/jwt` to patch `GHSA-mh63-6h87-95cp` ([#&#8203;7692](https://github.com/cert-manager/cert-manager/pull/7692), [`@lentzi90`](https://github.com/lentzi90)) ### [`v1.17.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.17.1) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.17.0...v1.17.1) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. This release is primarily intended to address [a breaking change in Cloudflare's API](https://github.com/cert-manager/cert-manager/issues/7540) which impacted ACME DNS-01 challenges using Cloudflare. Many thanks to the community members who reported this issue! #### Changes by Kind ##### Bug or Regression - ❗ Fix issuing of certificates via DNS01 challenges on Cloudflare after a breaking change to the Cloudflare API ([#&#8203;7565](https://github.com/cert-manager/cert-manager/issues/7565), [@&#8203;LukeCarrier](https://github.com/LukeCarrier)) - Bump go to 1.23.6 to address CVE-2025-22866 reported by Trivy ([#&#8203;7563](https://github.com/cert-manager/cert-manager/issues/7563), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish) ### [`v1.17.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.17.0) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.16.5...v1.17.0) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. v1.17.0 is a feature release with several improvements, including: - A helpful compliance change to RSA signatures on certificates - An easier way to specify passwords for [PKCS#12](https://github.com/PKCS/cert-manager/issues/12) and JKS keystores - A few feature flag promotions (and a deprecation) - Dependency bumps and other smaller improvements #### Major Themes ##### RSA Certificate Compliance The United States Department of Defense published [a memo](https://dl.dod.cyber.mil/wp-content/uploads/pki-pke/pdf/unclass-memo_dodcryptoalgorithms.pdf) in 2022 which introduced some requirements on the kinds of cryptography they require to be supported in software they use. In effect, the memo requires that software be able to support larger RSA keys (3072-bit and 4096-bit) and hashing algorithms (SHA-384 at a minimum). cert-manager supported large RSA keys long before the memo was published, but a quirk in implementation meant that cert-manager always used SHA-256 when signing with RSA. In v1.17.0, cert-manager will choose a hash algorithm based on the RSA key length: 3072-bit keys will use SHA-384, and 4096-bit keys will use SHA-512. This matches similar behavior already present for ECDSA signatures. Our expectation is that this change will have minimal impact beyond a slight increase to security and better compliance; we're not aware of Kubernetes based environments which support RSA 2048 with SHA-256 but fail with RSA 4096 and SHA-512. However, if you're using larger RSA keys, you should be aware of the change. ##### Easier Keystore Passwords for [PKCS#12](https://github.com/PKCS/cert-manager/issues/12) and JKS Specifying passwords on [PKCS#12](https://github.com/PKCS/cert-manager/issues/12) and JKS keystores is supported in cert-manager for compatibility reasons with software which expects or requires passwords to be set; however, these passwords are [not relevant to security](https://cert-manager.io/docs/faq/#why-are-passwords-on-jks-or-pkcs12-files-not-helpful) and never have been in cert-manager. The initial implementation of the `keystores` feature required these "passwords" to be stored in a Kubernetes secret, which would then be read by cert-manager when creating the keystore after a certificate was issued. This is cumbersome, especially when many passwords are set to default values such as `changeit` or `password`. In cert-manager v1.17, it's now possible to set a keystore password using a literal string value inside the `Certificate` resource itself, making this process much easier with no change to security. For example: ```yaml apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: my-cert-password spec: secretName: my-cert-password issuerRef: name: my-issuer kind: ClusterIssuer keystores: jks: create: true password: "abc123" pkcs12: create: true password: "password" dnsNames: - example.com ``` The new `password` field is mutually exclusive with the `passwordSecretRef` field, so be sure to only set one. ##### Feature Flag Promotions / Deprecations cert-manager's feature flags allow for easier testing and adoption of new features with a reduced risk of breaking changes. In cert-manager v1.17, two feature gates have been promoted to "beta", and as such are now enabled by default in all installations: - `NameConstraints`, allowing users to specify the name constraints extension which can be helpful when creating CA certificates for private PKI - `UseDomainQualifiedFinalizer`, which stops a Kubernetes warning from being printed in logs In addition, we added a new feature gate: `CAInjectorMerging`, which intelligently combines certificates used by the [`CAInjector`](../../concepts/ca-injector.md) component, making it safer to use when issuing certificates are rotated. If you're making heavy use of the CA injector, you should consider enabling this feature gate. Finally, we deprecated the `ValidateCAA` feature gate which will be removed entirely in cert-manager v1.18.0. This feature gate aimed to validate the `CAA` DNS record during ACME issuance, but has seen low adoption and limited testing since its introduction back in 2019. ##### Other Changes There are many other PRs which were merged in this release cycle and we'd encourage you to read the release notes below. One PR that's worth highlighting is a change to add more structured logging information to certain log lines. If you were previously filtering logs using `grep` or similar tools (which is highly discouraged!) be aware that some log lines have changed format. #### Community As always, we'd like to thank all of the community members who helped in this release cycle, including all below who merged a PR and anyone that helped by commenting on issues, testing, or getting involved in cert-manager meetings. We're lucky to have you involved. A special thanks to: - [@&#8203;hawksight](https://github.com/hawksight) - [@&#8203;aidy](https://github.com/aidy) - [@&#8203;bashlion](https://github.com/bashlion) - [@&#8203;7ing](https://github.com/7ing) - [@&#8203;fadecore](https://github.com/fadecore) - [@&#8203;schedin](https://github.com/schedin) - [@&#8203;jkroepke](https://github.com/jkroepke) - [@&#8203;sdarwin](https://github.com/sdarwin) for their contributions, comments and support! Also, thanks to the cert-manager maintainer team for their help in this release: - [@&#8203;inteon](https://github.com/inteon) - [@&#8203;erikgb](https://github.com/erikgb) - [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish) - [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot) - [@&#8203;munnerz](https://github.com/munnerz) - [@&#8203;maelvls](https://github.com/maelvls) And finally, thanks to the cert-manager steering committee for their feedback in this release cycle: - [@&#8203;FlorianLiebhart](https://github.com/FlorianLiebhart) - [@&#8203;ssyno](https://github.com/ssyno) - [@&#8203;ianarsenault](https://github.com/ianarsenault) - [@&#8203;TrilokGeer](https://github.com/TrilokGeer) #### Changes by Kind ##### Feature - Potentially BREAKING: The CA and SelfSigned issuers now use SHA-512 when signing with RSA keys 4096 bits and above, and SHA-384 when signing with RSA keys 3072 bits and above. If you were previously using a larger RSA key as a CA, be sure to check that your systems support the new hash algorithms. ([#&#8203;7368](https://github.com/cert-manager/cert-manager/issues/7368), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Add CAInjectorMerging feature gate to the ca-injector, enabling this will change the behaviour of the ca-injector to merge in new CA certificates instead of outright replacing the existing one. ([#&#8203;7469](https://github.com/cert-manager/cert-manager/issues/7469), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) - Added image pull secrets to deployments when service accounts aren't created ([#&#8203;7411](https://github.com/cert-manager/cert-manager/issues/7411), [@&#8203;TheHenrick](https://github.com/TheHenrick)) - Added the ability to customize client ID when using username/password authentication for Venafi client ([#&#8203;7484](https://github.com/cert-manager/cert-manager/issues/7484), [@&#8203;ilyesAj](https://github.com/ilyesAj)) - Helm: New value `webhook.extraEnv` allows you to set custom environment variables in the webhook Pod. Helm: New value `cainjector.extraEnv` allows you to set custom environment variables in the cainjector Pod. Helm: New value `startupapicheck.extraEnv` allows you to set custom environment variables in the startupapicheck Pod. ([#&#8203;7317](https://github.com/cert-manager/cert-manager/issues/7317), [@&#8203;wallrj](https://github.com/wallrj)) - Increase the amount of PEM data `pki.DecodeX509CertificateSetBytes` is able to parse, to enable reading larger TLS trust bundles ([#&#8203;7464](https://github.com/cert-manager/cert-manager/issues/7464), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - New configuration option tenantID for the AzureDNS provider when using managed identities with service principals. This enhancement allows users to specify the tenant ID when using managed identities, offering better flexibility in multi-tenant environments. ([#&#8203;7376](https://github.com/cert-manager/cert-manager/issues/7376), [@&#8203;jochenrichter](https://github.com/jochenrichter)) - Promote the `UseDomainQualifiedFinalizer` feature to Beta. ([#&#8203;7488](https://github.com/cert-manager/cert-manager/issues/7488), [@&#8203;jsoref](https://github.com/jsoref)) - Allow JKS/PKCS12 keystore passwords to be set as literal values in Certificate resources, mutually exclusive with the existing passwordSecretRef field ([#&#8203;6657](https://github.com/cert-manager/cert-manager/issues/6657), [@&#8203;rquinio1A](https://github.com/rquinio1A)) - Allow templating ServiceAccount annotations by running the built-in Helm `tpl` function on keys and values, to aid with workload identity configuration ([#&#8203;7501](https://github.com/cert-manager/cert-manager/issues/7501), [@&#8203;fcrespofastly](https://github.com/fcrespofastly)) - Promote CA NameConstraints feature gate to Beta (enabled by default) ([#&#8203;7494](https://github.com/cert-manager/cert-manager/issues/7494), [@&#8203;tanujd11](https://github.com/tanujd11)) ##### Documentation - Add example for IPv6 in `--dns01-recursive-nameservers` ([#&#8203;7367](https://github.com/cert-manager/cert-manager/issues/7367), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Updated the chart documentation to show `enableGatewayAPI` in the config example. ([#&#8203;7354](https://github.com/cert-manager/cert-manager/issues/7354), [@&#8203;puerco](https://github.com/puerco)) ##### Bug or Regression - BUGFIX: A change in v1.16.0 caused cert-manager's ACME ClusterIssuer to look in the wrong namespace for resources required for the issuance (eg. credential Secrets). This is now fixed in v1.16.1+ and v1.17.0+ ([#&#8203;7339](https://github.com/cert-manager/cert-manager/issues/7339), [@&#8203;inteon](https://github.com/inteon)) - BUGFIX: Helm will now accept percentages for the `podDisruptionBudget.minAvailable` and `podDisruptionBudget.maxAvailable` values. ([#&#8203;7343](https://github.com/cert-manager/cert-manager/issues/7343), [@&#8203;inteon](https://github.com/inteon)) - Fix ACME HTTP-01 solver for IPv6 endpoints ([#&#8203;7391](https://github.com/cert-manager/cert-manager/issues/7391), [@&#8203;Peac36](https://github.com/Peac36)) - Fix the behavior of `renewBeforePercentage` to comply with its spec ([#&#8203;7421](https://github.com/cert-manager/cert-manager/issues/7421), [@&#8203;adam-sroka](https://github.com/adam-sroka)) - Helm: allow `enabled` to be set as a value to toggle cert-manager as a dependency. ([#&#8203;7350](https://github.com/cert-manager/cert-manager/issues/7350), [@&#8203;inteon](https://github.com/inteon)) - SECURITY (low risk): Limit maximum allowed PEM size to prevent potential DoS in cert-manager controller from attacker-controlled PEM. See [GHSA-r4pg-vg54-wxx4](https://github.com/cert-manager/cert-manager/security/advisories/GHSA-r4pg-vg54-wxx4) ([#&#8203;7400](https://github.com/cert-manager/cert-manager/issues/7400), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - The Certificate object will no longer create CertificateRequest or Secret objects while being deleted ([#&#8203;7361](https://github.com/cert-manager/cert-manager/issues/7361), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) - The issuer will now more quickly retry when its linked Secret is updated to fix an issue that caused a high back-off timeout. ([#&#8203;7455](https://github.com/cert-manager/cert-manager/issues/7455), [@&#8203;inteon](https://github.com/inteon)) - Upgrades Venafi vCert library fixing a bug which caused the RSA 3072 bit key size for TPP certificate enrollment to not work. ([#&#8203;7498](https://github.com/cert-manager/cert-manager/issues/7498), [@&#8203;inteon](https://github.com/inteon)) ##### Other (Cleanup or Flake) - ⚠️ Potentially BREAKING: Log messages that were not structured have now been replaced with structured logs. If you were matching on specific log strings, this could break your setup. ([#&#8203;7461](https://github.com/cert-manager/cert-manager/issues/7461), [@&#8203;inteon](https://github.com/inteon)) - DEPRECATION: The `ValidateCAA` feature gate is now deprecated, with removal scheduled for cert-manager 1.18. In 1.17, enabling this feature gate will print a warning. ([#&#8203;7491](https://github.com/cert-manager/cert-manager/issues/7491), [@&#8203;jsoref](https://github.com/jsoref)) - Remove `Neither --kubeconfig nor --master was specified` warning message when the controller and the webhook services boot ([#&#8203;7457](https://github.com/cert-manager/cert-manager/issues/7457), [@&#8203;Peac36](https://github.com/Peac36)) - Move 'live' DNS tests into a separate package to contain test flakiness and improve developer UX ([#&#8203;7530](https://github.com/cert-manager/cert-manager/issues/7530), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.16.5`](https://github.com/cert-manager/cert-manager/releases/tag/v1.16.5) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.16.4...v1.16.5) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. This patch release addresses several vulnerabilities reported by the Trivy security scanner. It is built with the latest version of Go 1.23 and includes various dependency updates. > 📖 Read the full [cert-manager 1.16 release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.16), before installing or upgrading. #### Changes since `v1.16.4`: ##### Bug or Regression - Bump Go to `v1.23.8` to fix `CVE-2025-22871` ([#&#8203;7706](https://github.com/cert-manager/cert-manager/pull/7706), [`@wallrj`](https://github.com/wallrj)) - Bump `github.com/golang-jwt/jwt/v5` to `v5.2.2` to fix `CVE-2025-30204` ([#&#8203;7708](https://github.com/cert-manager/cert-manager/pull/7708), [`@wallrj`](https://github.com/wallrj)) - Bump `golang.org/x/net` to fix `CVE-2025-22872` ([#&#8203;7707](https://github.com/cert-manager/cert-manager/pull/7707), [`@wallrj`](https://github.com/wallrj)) - Bump `go-jose` dependency to address `CVE-2025-27144` ([#&#8203;7602](https://github.com/cert-manager/cert-manager/pull/7602), [`@SgtCoDFish`](https://github.com/SgtCoDFish)) - Bump `golang.org/x/net` to address `CVE-2025-22870` reported by Trivy ([#&#8203;7623](https://github.com/cert-manager/cert-manager/pull/7623), [`@SgtCoDFish`](https://github.com/SgtCoDFish)) ### [`v1.16.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.16.4) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.16.3...v1.16.4) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. This release is primarily intended to address [a breaking change in Cloudflare's API](https://github.com/cert-manager/cert-manager/issues/7540) which impacted ACME DNS-01 challenges using Cloudflare. Many thanks to the community members who reported this issue! #### Changes by Kind ##### Bug or Regression - ❗ Fix issuing of certificates via DNS01 challenges on Cloudflare after a breaking change to the Cloudflare API ([#&#8203;7566](https://github.com/cert-manager/cert-manager/issues/7566), [@&#8203;LukeCarrier](https://github.com/LukeCarrier)) - Bump go to 1.23.6 to address CVE-2025-22866 reported by Trivy ([#&#8203;7562](https://github.com/cert-manager/cert-manager/issues/7562), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Update go to 1.23.5 ([#&#8203;7533](https://github.com/cert-manager/cert-manager/issues/7533), [@&#8203;tareksha](https://github.com/tareksha)) ### [`v1.16.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.16.3) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.16.2...v1.16.3) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. v1.16.3 is a patch release mainly focused around bumping dependencies to address reported CVEs: CVE-2024-45337 and CVE-2024-45338. We don't believe that cert-manager is actually vulnerable; this release is instead intended to satisfy vulnerability scanners. It also includes a bug fix to the new `renewBeforePercentage` field. If you were using `renewBeforePercentage`, see PR [#&#8203;7421](https://github.com/cert-manager/cert-manager/issues/7421) for more information. #### Changes ##### Bug - Bump `golang.org/x/net` and `golang.org/x/crypto` to address CVE-2024-45337 and CVE-2024-45338 ([#&#8203;7485](https://github.com/cert-manager/cert-manager/issues/7485), [@&#8203;erikgb](https://github.com/erikgb)) - Fix the behaviour of `renewBeforePercentage` to comply with its spec ([#&#8203;7441](https://github.com/cert-manager/cert-manager/issues/7441), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) ##### Other - Bump go to 1.23.4 ([#&#8203;7489](https://github.com/cert-manager/cert-manager/issues/7489), [@&#8203;erikgb](https://github.com/erikgb)) - Bump base images to latest available ([#&#8203;7508](https://github.com/cert-manager/cert-manager/issues/7508), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.16.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.16.2) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.16.1...v1.16.2) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. This patch release of cert-manager 1.16 makes [several changes](https://github.com/cert-manager/cert-manager/pull/7401) to how PEM input is validated, adding maximum sizes appropriate to the type of PEM data which is being parsed. This is to prevent an unacceptable slow-down in parsing specially crafted PEM data. The issue was found by Google's OSS-Fuzz project. The issue is low severity; to exploit the PEM issue would require privileged access which would likely allow Denial-of-Service through other methods. Note also that since most PEM data parsed by cert-manager comes from `ConfigMap` or `Secret` resources which have a max size limit of approximately 1MB, it's difficult to force cert-manager to parse large amounts of PEM data. Further information is available in <https://github.com/cert-manager/cert-manager/security/advisories/GHSA-r4pg-vg54-wxx4> In addition, the version of Go used to build cert-manager 1.16 was updated along with the base images. #### Changes by Kind ##### Bug or Regression - Set a maximum size for PEM inputs which cert-manager will accept to remove possibility of taking a long time to process an input ([#&#8203;7401](https://github.com/cert-manager/cert-manager/issues/7401), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ##### Other (Cleanup or Flake) - Bump go to 1.23.3 and bump base images to latest available ([#&#8203;7431](https://github.com/cert-manager/cert-manager/issues/7431), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.16.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.16.1) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.16.0...v1.16.1) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. The cert-manager 1.16 release includes: new Helm chart features, more Prometheus metrics, memory optimizations, and various improvements and bug fixes for the ACME issuer and Venafi Issuer. 📖 Read the [complete 1.16 release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.16) before upgrading. #### 📜Changes since `v1.16.0` ##### Bug or Regression - BUGFIX: Helm schema validation: the new schema validation was too strict for the "global" section. Since the global section is shared across all charts and sub-charts, we must also allow unknown fields. ([#&#8203;7348](https://github.com/cert-manager/cert-manager/pull/7348), [`@inteon`](https://github.com/inteon)) - BUGFIX: Helm will now accept percentages for the `podDisruptionBudget.minAvailable` and `podDisruptionBudget.maxAvailable` values. ([#&#8203;7345](https://github.com/cert-manager/cert-manager/pull/7345), [`@inteon`](https://github.com/inteon)) - Helm: allow `enabled` to be set as a value to toggle cert-manager as a dependency. ([#&#8203;7356](https://github.com/cert-manager/cert-manager/pull/7356), [`@inteon`](https://github.com/inteon)) - BUGFIX: A change in `v1.16.0` caused cert-manager's ACME ClusterIssuer to look in the wrong namespace for resources required for the issuance (e.g. credential Secrets). This is now fixed in `v1.16.1`. ([#&#8203;7342](https://github.com/cert-manager/cert-manager/pull/7342), [`@inteon`](https://github.com/inteon)) ### [`v1.16.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.16.0) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.15.5...v1.16.0) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. The cert-manager 1.16 release includes: new Helm chart features, more Prometheus metrics, memory optimizations, and various improvements and bug fixes for the ACME issuer and Venafi Issuer. 📖 Read the [complete 1.16 release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.16) at cert-manager.io. #### ⚠️ Known issues 1. [Helm Chart: JSON schema prevents the chart being used as a sub-chart on Rancher RKE](https://github.com/cert-manager/cert-manager/issues/7329). 2. [ACME DNS01 **ClusterIssuer** fail while loading credentials from Secret resources](https://github.com/cert-manager/cert-manager/issues/7331). #### ❗ Breaking changes 1. Helm schema validation may reject your existing Helm values files if they contain typos or unrecognized fields. 2. Venafi Issuer may fail to renew certificates if the requested duration conflicts with the CA’s minimum or maximum policy settings in Venafi. 3. Venafi Issuer may fail to renew Certificates if the issuer has been configured for TPP with username-password authentication. 📖 Read the [complete 1.16 release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.16) at cert-manager.io. #### 📜 Changes since v1.15.0 📖 Read the [complete 1.16 release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.16) at cert-manager.io. ##### Feature - Add `SecretRef` support for Venafi TPP issuer CA Bundle ([#&#8203;7036](https://github.com/cert-manager/cert-manager/pull/7036), [`@sankalp-at-gh`](https://github.com/sankalp-at-gh)) - Add `renewBeforePercentage` alternative to `renewBefore` ([#&#8203;6987](https://github.com/cert-manager/cert-manager/pull/6987), [`@cbroglie`](https://github.com/cbroglie)) - Add a metrics server to the cainjector ([#&#8203;7194](https://github.com/cert-manager/cert-manager/pull/7194), [`@wallrj`](https://github.com/wallrj)) - Add a metrics server to the webhook ([#&#8203;7182](https://github.com/cert-manager/cert-manager/pull/7182), [`@wallrj`](https://github.com/wallrj)) - Add client certificate auth method for Vault issuer ([#&#8203;4330](https://github.com/cert-manager/cert-manager/pull/4330), [`@joshmue`](https://github.com/joshmue)) - Add process and go runtime metrics for controller ([#&#8203;6966](https://github.com/cert-manager/cert-manager/pull/6966), [`@mindw`](https://github.com/mindw)) - Added `app.kubernetes.io/managed-by: cert-manager` label to the cert-manager-webhook-ca Secret ([#&#8203;7154](https://github.com/cert-manager/cert-manager/pull/7154), [`@jrcichra`](https://github.com/jrcichra)) - Allow the user to specify a Pod template when using GatewayAPI HTTP01 solver, this mirrors the behavior when using the Ingress HTTP01 solver. ([#&#8203;7211](https://github.com/cert-manager/cert-manager/pull/7211), [`@ThatsMrTalbot`](https://github.com/ThatsMrTalbot)) - Create token request RBAC for the cert-manager ServiceAccount by default ([#&#8203;7213](https://github.com/cert-manager/cert-manager/pull/7213), [`@Jasper-Ben`](https://github.com/Jasper-Ben)) - Feature: Append cert-manager user-agent string to all AWS API requests, including IMDS and STS requests. ([#&#8203;7295](https://github.com/cert-manager/cert-manager/pull/7295), [`@wallrj`](https://github.com/wallrj)) - Feature: Log AWS SDK warnings and API requests at cert-manager debug level to help debug AWS Route53 problems in the field. ([#&#8203;7292](https://github.com/cert-manager/cert-manager/pull/7292), [`@wallrj`](https://github.com/wallrj)) - Feature: The Route53 DNS solver of the ACME Issuer will now use regional STS endpoints computed from the region that is supplied in the Issuer spec or in the `AWS_REGION` environment variable. Feature: The Route53 DNS solver of the ACME Issuer now uses the "ambient" region (`AWS_REGION` or `AWS_DEFAULT_REGION`) if `issuer.spec.acme.solvers.dns01.route53.region` is empty; regardless of the flags `--issuer-ambient-credentials` and `--cluster-issuer-ambient-credentials`. ([#&#8203;7299](https://github.com/cert-manager/cert-manager/pull/7299), [`@wallrj`](https://github.com/wallrj)) - Helm: adds JSON schema validation for the Helm values. ([#&#8203;7069](https://github.com/cert-manager/cert-manager/pull/7069), [`@inteon`](https://github.com/inteon)) - If the `--controllers` flag only specifies disabled controllers, the default controllers are now enabled implicitly. Added `disableAutoApproval` and `approveSignerNames` Helm chart options. ([#&#8203;7049](https://github.com/cert-manager/cert-manager/pull/7049), [`@inteon`](https://github.com/inteon)) - Make it easier to configure cert-manager using Helm by defaulting `config.apiVersion` and `config.kind` within the Helm chart. ([#&#8203;7126](https://github.com/cert-manager/cert-manager/pull/7126), [`@ThatsMrTalbot`](https://github.com/ThatsMrTalbot)) - Now passes down specified duration to Venafi client instead of using the CA default only. ([#&#8203;7104](https://github.com/cert-manager/cert-manager/pull/7104), [`@Guitarkalle`](https://github.com/Guitarkalle)) - Reduce the memory usage of `cainjector`, by only caching the metadata of Secret resources. Reduce the load on the K8S API server when `cainjector` starts up, by only listing the metadata of Secret resources. ([#&#8203;7161](https://github.com/cert-manager/cert-manager/pull/7161), [`@wallrj`](https://github.com/wallrj)) - The Route53 DNS01 solver of the ACME Issuer can now detect the AWS region from the `AWS_REGION` and `AWS_DEFAULT_REGION` environment variables, which is set by the IAM for Service Accounts (IRSA) webhook and by the Pod Identity webhook. The `issuer.spec.acme.solvers.dns01.route53.region` field is now optional. The API documentation of the `region` field has been updated to explain when and how the region value is used. ([#&#8203;7287](https://github.com/cert-manager/cert-manager/pull/7287), [`@wallrj`](https://github.com/wallrj)) - Venafi TPP issuer can now be used with a username & password combination with OAuth. Fixes [#&#8203;4653](https://github.com/cert-manager/cert-manager/issues/4653). Breaking: cert-manager will no longer use the API Key authentication method which was deprecated in 20.2 and since removed in 24.1 of TPP. ([#&#8203;7084](https://github.com/cert-manager/cert-manager/pull/7084), [`@hawksight`](https://github.com/hawksight)) - You can now configure the pod security context of HTTP-01 solver pods. ([#&#8203;5373](https://github.com/cert-manager/cert-manager/pull/5373), [`@aidy`](https://github.com/aidy)) - Helm: New value `webhook.extraEnv`, allows you to set custom environment variables in the webhook Pod. Helm: New value `cainjector.extraEnv`, allows you to set custom environment variables in the cainjector Pod. Helm: New value `startupapicheck.extraEnv`, allows you to set custom environment variables in the startupapicheck Pod. ([#&#8203;7319](https://github.com/cert-manager/cert-manager/pull/7319), [`@wallrj`](https://github.com/wallrj)) ##### Bug or Regression - Adds support (behind a flag) to use a domain qualified finalizer. If the feature is enabled (which is not by default), it should prevent Kubernetes from reporting: `metadata.finalizers: "finalizer.acme.cert-manager.io": prefer a domain-qualified finalizer name to avoid accidental conflicts with other finalizer writers` ([#&#8203;7273](https://github.com/cert-manager/cert-manager/pull/7273), [`@jsoref`](https://github.com/jsoref)) - BUGFIX Route53: explicitly set the `aws-global` STS region which is now required by the `github.com/aws/aws-sdk-go-v2` library. ([#&#8203;7108](https://github.com/cert-manager/cert-manager/pull/7108), [`@inteon`](https://github.com/inteon)) - BUGFIX: fix issue that caused Vault issuer to not retry signing when an error was encountered. ([#&#8203;7105](https://github.com/cert-manager/cert-manager/pull/7105), [`@inteon`](https://github.com/inteon)) - BUGFIX: the dynamic certificate source used by the webhook TLS server failed to detect a root CA approaching expiration, due to a calculation error. This will cause the webhook TLS server to fail renewing its CA certificate. Please upgrade before the expiration of this CA certificate is reached. ([#&#8203;7230](https://github.com/cert-manager/cert-manager/pull/7230), [`@inteon`](https://github.com/inteon)) - Bugfix: Prevent aggressive Route53 retries caused by IRSA authentication failures by removing the Amazon Request ID from errors wrapped by the default credential cache. ([#&#8203;7291](https://github.com/cert-manager/cert-manager/pull/7291), [`@wallrj`](https://github.com/wallrj)) - Bugfix: Prevent aggressive Route53 retries caused by STS authentication failures by removing the Amazon Request ID from STS errors. ([#&#8203;7259](https://github.com/cert-manager/cert-manager/pull/7259), [`@wallrj`](https://github.com/wallrj)) - Bump `grpc-go` to fix `GHSA-xr7q-jx4m-x55m` ([#&#8203;7164](https://github.com/cert-manager/cert-manager/pull/7164), [`@SgtCoDFish`](https://github.com/SgtCoDFish)) - Bump the `go-retryablehttp` dependency to fix `CVE-2024-6104` ([#&#8203;7125](https://github.com/cert-manager/cert-manager/pull/7125), [`@SgtCoDFish`](https://github.com/SgtCoDFish)) - Fix Azure DNS causing panics whenever authentication error happens ([#&#8203;7177](https://github.com/cert-manager/cert-manager/pull/7177), [`@eplightning`](https://github.com/eplightning)) - Fix incorrect indentation of `endpointAdditionalProperties` in the `PodMonitor` template of the Helm chart ([#&#8203;7190](https://github.com/cert-manager/cert-manager/pull/7190), [`@wallrj`](https://github.com/wallrj)) - Fixes ACME HTTP01 challenge behavior when using Gateway API to prevent unbounded creation of HTTPRoute resources ([#&#8203;7178](https://github.com/cert-manager/cert-manager/pull/7178), [`@miguelvr`](https://github.com/miguelvr)) - Handle errors arising from challenges missing from the ACME server ([#&#8203;7202](https://github.com/cert-manager/cert-manager/pull/7202), [`@bdols`](https://github.com/bdols)) - Helm BUGFIX: the cainjector ConfigMap was not mounted in the cainjector deployment. ([#&#8203;7052](https://github.com/cert-manager/cert-manager/pull/7052), [`@inteon`](https://github.com/inteon)) - Improve the startupapicheck: validate that the validating and mutating webhooks are doing their job. ([#&#8203;7057](https://github.com/cert-manager/cert-manager/pull/7057), [`@inteon`](https://github.com/inteon)) - The `KeyUsages` X.509 extension is no longer added when there are no key usages set (in accordance to RFC 5280 Section 4.2.1.3) ([#&#8203;7250](https://github.com/cert-manager/cert-manager/pull/7250), [`@inteon`](https://github.com/inteon)) - Update `github.com/Azure/azure-sdk-for-go/sdk/azidentity` to address `CVE-2024-35255` ([#&#8203;7087](https://github.com/cert-manager/cert-manager/pull/7087), [`@dependabot[bot]`](https://github.com/apps/dependabot)) ##### Other (Cleanup or Flake) - Old API versions were removed from the codebase. Removed: (acme.)cert-manager.io/v1alpha2 (acme.)cert-manager.io/v1alpha3 (acme.)cert-manager.io/v1beta1 ([#&#8203;7278](https://github.com/cert-manager/cert-manager/pull/7278), [`@inteon`](https://github.com/inteon)) - Upgrading to client-go `v0.31.0` removes a lot of noisy `reflector.go: unable to sync list result: internal error: cannot cast object DeletedFinalStateUnknown` errors from logs. ([#&#8203;7237](https://github.com/cert-manager/cert-manager/pull/7237), [`@inteon`](https://github.com/inteon)) - Bump Go to `v1.23.2` ([#&#8203;7324](https://github.com/cert-manager/cert-manager/pull/7324), [`@cert-manager-bot`](https://github.com/cert-manager-bot)) ### [`v1.15.5`](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.5) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.15.4...v1.15.5) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager v1.15.5 contains simple dependency bumps to address reported CVEs (CVE-2024-45337 and CVE-2024-45338). We don't believe that cert-manager is actually vulnerable; this release is instead intended to satisfy vulnerability scanners. #### Changes ##### Bug or Regression - Bump golang.org/x/net to address CVE-2024-45337 and CVE-2024-45338 ([#&#8203;7496](https://github.com/cert-manager/cert-manager/issues/7496), [@&#8203;wallrj](https://github.com/wallrj)) ##### Other (Cleanup or Flake) - Bump to go 1.22.10 ([#&#8203;7507](https://github.com/cert-manager/cert-manager/issues/7507), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.15.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.4) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.15.3...v1.15.4) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. This patch release of cert-manager 1.15 makes [several changes](https://github.com/cert-manager/cert-manager/pull/7403) to how PEM input is validated, adding maximum sizes appropriate to the type of PEM data which is being parsed. This is to prevent an unacceptable slow-down in parsing specially crafted PEM data. The issue was found by Google's OSS-Fuzz project. The issue is low severity; to exploit the PEM issue would require privileged access which would likely allow Denial-of-Service through other methods. Note also that since most PEM data parsed by cert-manager comes from `ConfigMap` or `Secret` resources which have a max size limit of approximately 1MB, it's difficult to force cert-manager to parse large amounts of PEM data. Further information is available in <https://github.com/cert-manager/cert-manager/security/advisories/GHSA-r4pg-vg54-wxx4> In addition, the version of Go used to build cert-manager 1.15 was updated along with the base images, and a Route53 bug fix was backported. #### Changes by Kind ##### Bug or Regression - Bugfix: Prevent aggressive Route53 retries caused by STS authentication failures by removing the Amazon Request ID from STS errors. ([#&#8203;7261](https://github.com/cert-manager/cert-manager/pull/7261), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) - Set a maximum size for PEM inputs which cert-manager will accept to remove possibility of taking a long time to process an input ([#&#8203;7402](https://github.com/cert-manager/cert-manager/pull/7402), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ##### Other (Cleanup or Flake) - Bump go to 1.22.9 ([#&#8203;7424](https://github.com/cert-manager/cert-manager/pull/7424), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Upgrade Go to 1.22.8, the latest available patch release ([#&#8203;7406](https://github.com/cert-manager/cert-manager/pull/7406), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.15.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.3) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.15.2...v1.15.3) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. **🔗 [See v1.15.0](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.0) for more information about cert-manager 1.15 and read-before-upgrade info.** #### 📜 Changes since [`v1.15.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.2) ##### Bug or Regression - BUGFIX: the dynamic certificate source used by the webhook TLS server failed to detect a root CA approaching expiration, due to a calculation error. This will cause the webhook TLS server to fail renewing its CA certificate. Please upgrade before the expiration of this CA certificate is reached. ([#&#8203;7232](https://github.com/cert-manager/cert-manager/issues/7232), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) ### [`v1.15.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.2) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.15.1...v1.15.2) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. **🔗 [See v1.15.0](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.0) for more information about cert-manager 1.15 and read-before-upgrade info.** #### 📜 Changes since [`v1.15.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.1) ##### Bug or Regression - BUGFIX `route53`: explicitly set the `aws-global` STS region which is now required by the `github.com/aws/aws-sdk-go-v2` library. ([#&#8203;7189](https://github.com/cert-manager/cert-manager/pull/7189), [`@cert-manager-bot`](https://github.com/cert-manager-bot)) - Bump `grpc-go` to fix `GHSA-xr7q-jx4m-x55m` ([#&#8203;7167](https://github.com/cert-manager/cert-manager/pull/7167), [`@SgtCoDFish`](https://github.com/SgtCoDFish)) - Fix Azure DNS causing panics whenever authentication error happens ([#&#8203;7188](https://github.com/cert-manager/cert-manager/pull/7188), [`@cert-manager-bot`](https://github.com/cert-manager-bot)) - Fix incorrect value and indentation of `endpointAdditionalProperties` in the `PodMonitor` template of the Helm chart ([#&#8203;7191](https://github.com/cert-manager/cert-manager/pull/7191), [`@inteon`](https://github.com/inteon)) - Fixes ACME HTTP01 challenge behavior when using Gateway API to prevent unbounded creation of `HTTPRoute` resources ([#&#8203;7186](https://github.com/cert-manager/cert-manager/pull/7186), [`@cert-manager-bot`](https://github.com/cert-manager-bot)) - Upgrade `golang` from `1.22.3` to `1.22.5` ([#&#8203;7165](https://github.com/cert-manager/cert-manager/pull/7165), [`@github-actions`](https://github.com/github-actions)) ### [`v1.15.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.1) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.15.0...v1.15.1) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. **🔗 [See v1.15.0](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.0) for more information about cert-manager 1.15 and read-before-upgrade info.** #### 📜 Changes since [v1.15.0](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.0) ##### Bug or Regression - BUGFIX: fix issue that caused Vault issuer to not retry signing when an error was encountered. ([#&#8203;7111](https://github.com/cert-manager/cert-manager/issues/7111), [@&#8203;inteon](https://github.com/inteon)) ##### Other (Cleanup or Flake) - Update github.com/Azure/azure-sdk-for-go/sdk/azidentity to address CVE-2024-35255 ([#&#8203;7092](https://github.com/cert-manager/cert-manager/issues/7092), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) - Bump the go-retryablehttp dependency to fix CVE-2024-6104 ([#&#8203;7130](https://github.com/cert-manager/cert-manager/issues/7130), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.15.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.15.0) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.14.7...v1.15.0) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager 1.15 promotes several features to beta, including GatewayAPI support (`ExperimentalGatewayAPISupport`), the ability to provide a subject in the Certificate that will be used literally in the CertificateSigningRequest (`LiteralCertificateSubject`) and the outputting of additional certificate formats (`AdditionalCertificateOutputFormats`). > \[!NOTE] > > The `cmctl` binary have been moved to <https://github.com/cert-manager/cmctl/releases>. > For the startupapicheck Job you should update references to point at `quay.io/jetstack/cert-manager-startupapicheck` > \[!NOTE] > > From this release, the Helm chart will no longer uninstall the CRDs when the chart is uninstalled. If you want the CRDs to be removed on uninstall use `crds.keep=false` when installing the Helm chart. #### Community Thanks again to all open-source contributors with commits in this release, including: [@&#8203;Pionerd](https://github.com/Pionerd), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot), [@&#8203;andrey-dubnik](https://github.com/andrey-dubnik), [@&#8203;bwaldrep](https://github.com/bwaldrep), [@&#8203;eplightning](https://github.com/eplightning), [@&#8203;erikgb](https://github.com/erikgb), [@&#8203;findnature](https://github.com/findnature), [@&#8203;gplessis](https://github.com/gplessis), [@&#8203;import-shiburin](https://github.com/import-shiburin), [@&#8203;inteon](https://github.com/inteon), [@&#8203;jkroepke](https://github.com/jkroepke), [@&#8203;lunarwhite](https://github.com/lunarwhite), [@&#8203;mangeshhambarde](https://github.com/mangeshhambarde), [@&#8203;pwhitehead-splunk](https://github.com/pwhitehead-splunk) & [@&#8203;rodrigorfk](https://github.com/rodrigorfk), [@&#8203;wallrj](https://github.com/wallrj). Thanks also to the following cert-manager maintainers for their contributions during this release: [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish), [@&#8203;SpectralHiss](https://github.com/SpectralHiss), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot), [@&#8203;hawksight](https://github.com/hawksight), [@&#8203;inteon](https://github.com/inteon), [@&#8203;maelvls](https://github.com/maelvls) & [@&#8203;wallrj](https://github.com/wallrj). Equally thanks to everyone who provided feedback, helped users and raised issues on GitHub and Slack and joined our meetings! 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 by Kind ##### Feature - GatewayAPI support has graduated to Beta. Add the `--enable-gateway-api` flag to enable the integration. ([#&#8203;6961](https://github.com/cert-manager/cert-manager/issues/6961), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) - Add support to specify a custom key alias in a JKS Keystore ([#&#8203;6807](https://github.com/cert-manager/cert-manager/issues/6807), [@&#8203;bwaldrep](https://github.com/bwaldrep)) - Add the ability to communicate with Vault via mTLS when strict client certificates is enabled at Vault server side ([#&#8203;6614](https://github.com/cert-manager/cert-manager/issues/6614), [@&#8203;rodrigorfk](https://github.com/rodrigorfk)) - Added option to provide additional audiences in the service account auth section for vault ([#&#8203;6718](https://github.com/cert-manager/cert-manager/issues/6718), [@&#8203;andrey-dubnik](https://github.com/andrey-dubnik)) - Venafi Issuer now sends a cert-manager HTTP User-Agent header in all Venafi Rest API requests. For example: `cert-manager-certificaterequests-issuer-venafi/v1.15.0+(linux/amd64)+cert-manager/ef068a59008f6ed919b98a7177921ddc9e297200`. ([#&#8203;6865](https://github.com/cert-manager/cert-manager/issues/6865), [@&#8203;wallrj](https://github.com/wallrj)) - Add hint to validation error message to help users of external issuers more easily fix the issue if they specify a Kind but forget the Group ([#&#8203;6913](https://github.com/cert-manager/cert-manager/issues/6913), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Add support for numeric OID types in LiteralSubject. Eg. "1.2.3.4=String Value" ([#&#8203;6775](https://github.com/cert-manager/cert-manager/issues/6775), [@&#8203;inteon](https://github.com/inteon)) - Promote the `LiteralCertificateSubject` feature to Beta. ([#&#8203;7030](https://github.com/cert-manager/cert-manager/issues/7030), [@&#8203;inteon](https://github.com/inteon)) - Promoted the AdditionalCertificateOutputFormats feature gate to Beta (enabled by default). ([#&#8203;6970](https://github.com/cert-manager/cert-manager/issues/6970), [@&#8203;erikgb](https://github.com/erikgb)) - The Helm chart now allows you to supply `extraObjects`; a list of yaml manifests which will helm will install and uninstall with the cert-manager manifests. ([#&#8203;6424](https://github.com/cert-manager/cert-manager/issues/6424), [@&#8203;gplessis](https://github.com/gplessis)) - Update the Route53 provider to support fetching credentials using AssumeRoleWithWebIdentity ([#&#8203;6878](https://github.com/cert-manager/cert-manager/issues/6878), [@&#8203;pwhitehead-splunk](https://github.com/pwhitehead-splunk)) - Helm can now add optional hostAliases to cert-manager Pod to allow the DNS self-check to pass in custom scenarios. ([#&#8203;6456](https://github.com/cert-manager/cert-manager/issues/6456), [@&#8203;Pionerd](https://github.com/Pionerd)) - Added a new Ingress annotation for copying specific Ingress annotations to Certificate's secretTemplate ([#&#8203;6839](https://github.com/cert-manager/cert-manager/issues/6839), [@&#8203;mangeshhambarde](https://github.com/mangeshhambarde)) - Added option to define additional token audiences for the Vault Kubernetes auth ([#&#8203;6744](https://github.com/cert-manager/cert-manager/issues/6744), [@&#8203;andrey-dubnik](https://github.com/andrey-dubnik)) - Allow `cert-manager.io/allow-direct-injection` in annotations ([#&#8203;6801](https://github.com/cert-manager/cert-manager/issues/6801), [@&#8203;jkroepke](https://github.com/jkroepke)) ##### Design - Remove repetitive words ([#&#8203;6949](https://github.com/cert-manager/cert-manager/issues/6949), [@&#8203;findnature](https://github.com/findnature)) ##### Bug or Regression - BUGFIX: Fixes issue with JSON-logging, where only a subset of the log messages were output as JSON. ([#&#8203;6779](https://github.com/cert-manager/cert-manager/issues/6779), [@&#8203;inteon](https://github.com/inteon)) - BUGFIX: JKS and PKCS12 stores now contain the full set of CAs specified by an issuer ([#&#8203;6806](https://github.com/cert-manager/cert-manager/issues/6806), [@&#8203;bwaldrep](https://github.com/bwaldrep)) - BUGFIX: cainjector leaderelection flag/config option defaults are missing ([#&#8203;6816](https://github.com/cert-manager/cert-manager/issues/6816), [@&#8203;inteon](https://github.com/inteon)) - BUGFIX: cert-manager issuers incorrectly copied the critical flag from the CSR instead of re-calculating that field themselves. ([#&#8203;6724](https://github.com/cert-manager/cert-manager/issues/6724), [@&#8203;inteon](https://github.com/inteon)) - Breaking Change: Fixed unintended certificate chain is used if `preferredChain` is configured. ([#&#8203;6755](https://github.com/cert-manager/cert-manager/issues/6755), [@&#8203;import-shiburin](https://github.com/import-shiburin)) - Bugfix: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). ([#&#8203;6770](https://github.com/cert-manager/cert-manager/issues/6770), [@&#8203;inteon](https://github.com/inteon)) - DigitalOcean: Ensure that only TXT records are considered for deletion when cleaning up after an ACME challenge ([#&#8203;6875](https://github.com/cert-manager/cert-manager/issues/6875), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Fix backwards incompatible removal of default prometheus Service resource. ([#&#8203;6699](https://github.com/cert-manager/cert-manager/issues/6699), [@&#8203;inteon](https://github.com/inteon)) - Fix broken cainjector image value in Helm chart ([#&#8203;6692](https://github.com/cert-manager/cert-manager/issues/6692), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Helm: Fix a bug in the logic that differentiates between 0 and an empty value. ([#&#8203;6713](https://github.com/cert-manager/cert-manager/issues/6713), [@&#8203;inteon](https://github.com/inteon)) - Make sure the Azure SDK error messages are stable. ([#&#8203;6676](https://github.com/cert-manager/cert-manager/issues/6676), [@&#8203;inteon](https://github.com/inteon)) - When using the literalSubject on a Certificate, the webhook validation for the common name now also points to the literalSubject. ([#&#8203;6767](https://github.com/cert-manager/cert-manager/issues/6767), [@&#8203;lunarwhite](https://github.com/lunarwhite)) - Bump golang.org/x/net to fix CVE-2023-45288 ([#&#8203;6929](https://github.com/cert-manager/cert-manager/issues/6929), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Fix ACME issuer being stuck waiting for DNS propagation when using Azure DNS with multiple instances issuing for the same FQDN ([#&#8203;6351](https://github.com/cert-manager/cert-manager/issues/6351), [@&#8203;eplightning](https://github.com/eplightning)) - Fix cainjector ConfigMap not mounted in the cainjector deployment. ([#&#8203;7055](https://github.com/cert-manager/cert-manager/issues/7055), [@&#8203;inteon](https://github.com/inteon)) - Added `disableAutoApproval` and `approveSignerNames` Helm chart options. ([#&#8203;7054](https://github.com/cert-manager/cert-manager/issues/7054), [@&#8203;inteon](https://github.com/inteon)) ##### Other (Cleanup or Flake) - ⚠️ Possibly breaking: Helm will now keep the CRDs when you uninstall cert-manager by default to prevent accidental data loss. ([#&#8203;6760](https://github.com/cert-manager/cert-manager/issues/6760), [@&#8203;inteon](https://github.com/inteon)) - New `crds.keep` and `crds.enabled` Helm options can now be used instead of the `installCRDs` option. ([#&#8203;6760](https://github.com/cert-manager/cert-manager/issues/6760), [@&#8203;inteon](https://github.com/inteon)) - Bump base images ([#&#8203;6840](https://github.com/cert-manager/cert-manager/issues/6840), [@&#8203;inteon](https://github.com/inteon)) - Bump github.com/go-jose/go-jose to v3.0.3 to fix CVE-2024-28180 ([#&#8203;6854](https://github.com/cert-manager/cert-manager/issues/6854), [@&#8203;wallrj](https://github.com/wallrj)) - Removed deprecated util functions that have been replaced by the `slices` and `k8s.io/apimachinery/pkg/util` packages. Removed deprecated CSR functions which have been replaced with other functions in the `pkg/util/pki` package. ([#&#8203;6730](https://github.com/cert-manager/cert-manager/issues/6730), [@&#8203;inteon](https://github.com/inteon)) - Upgrade go to 1.21.8: fixes CVE-2024-24783 ([#&#8203;6823](https://github.com/cert-manager/cert-manager/issues/6823), [@&#8203;inteon](https://github.com/inteon)) - Upgrade go to latest version 1.22.1 ([#&#8203;6831](https://github.com/cert-manager/cert-manager/issues/6831), [@&#8203;inteon](https://github.com/inteon)) - Upgrade google.golang.org/protobuf: fixing GO-2024-2611 ([#&#8203;6827](https://github.com/cert-manager/cert-manager/issues/6827), [@&#8203;inteon](https://github.com/inteon)) - `cmctl` and `kubectl cert-manger` have been moved to the <https://github.com/cert-manager/cmctl> repo and will be versioned separately starting with cmctl v2.0.0 ([#&#8203;6663](https://github.com/cert-manager/cert-manager/issues/6663), [@&#8203;inteon](https://github.com/inteon)) - Graduate the 'DisallowInsecureCSRUsageDefinition' feature gate to GA. (part 2) ([#&#8203;6963](https://github.com/cert-manager/cert-manager/issues/6963), [@&#8203;inteon](https://github.com/inteon)) - Remove deprecated `pkg/util/pki/ParseSubjectStringToRawDERBytes` function. ([#&#8203;6994](https://github.com/cert-manager/cert-manager/issues/6994), [@&#8203;inteon](https://github.com/inteon)) - Upgrade Kind to v0.23.0 and update supported node image digests ([#&#8203;7020](https://github.com/cert-manager/cert-manager/issues/7020), [@&#8203;github-actions](https://github.com/github-actions)\[bot]) - If the `--controllers` flag only specifies disabled controllers, the default controllers are now enabled implicitly. ([#&#8203;7054](https://github.com/cert-manager/cert-manager/issues/7054), [@&#8203;inteon](https://github.com/inteon)) - Upgrade to Go 1.22.3, fixing `GO-2024-2824`. ([#&#8203;6996](https://github.com/cert-manager/cert-manager/issues/6996), [@&#8203;github-actions](https://github.com/github-actions)\[bot]) ### [`v1.14.7`](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.7) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.14.6...v1.14.7) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. #### 📜 Changes since [v1.14.6](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.6) ##### Bugfixes - BUGFIX: fix issue that caused Vault issuer to not retry signing when an error was encountered. ([#&#8203;7113](https://github.com/cert-manager/cert-manager/issues/7113), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) ##### Other (Cleanup or Flake) - Update github.com/Azure/azure-sdk-for-go/sdk/azidentity to address CVE-2024-35255 ([#&#8203;7093](https://github.com/cert-manager/cert-manager/issues/7093), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) ### [`v1.14.6`](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.6) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.14.5...v1.14.6) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. #### 📜 Changes since [v1.14.5](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.5) ##### Other (Cleanup or Flake) - Upgrade Go to 1.21.10, fixing GO-2024-2824 (<https://github.com/advisories/GHSA-2jwv-jmq4-4j3r>). ([#&#8203;7008](https://github.com/cert-manager/cert-manager/issues/7008), [@&#8203;inteon](https://github.com/inteon)) - Helm: the cainjector ConfigMap was not mounted in the cainjector deployment. ([#&#8203;7053](https://github.com/cert-manager/cert-manager/issues/7053), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) - Updated Go to 1.21.11 bringing in security fixes for archive/zip and net/netip. ([#&#8203;7076](https://github.com/cert-manager/cert-manager/issues/7076), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) ### [`v1.14.5`](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.5) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.14.4...v1.14.5) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. `v1.14.5` fixes a bug in the DigitalOcean DNS-01 provider which could cause incorrect DNS records to be deleted when using a domain with a CNAME. Special thanks to [@&#8203;BobyMCbobs](https://github.com/BobyMCbobs) for reporting this issue and testing the fix! It also patches CVE-2023-45288. #### 📜 Changes since [v1.14.4](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.4) - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if `preferredChain` is configured: see [1.14 release notes](./release-notes-1.14.md#known-issues) for more information. #### Changes ##### Bug or Regression - DigitalOcean: Ensure that only TXT records are considered for deletion when cleaning up after an ACME challenge ([#&#8203;6893](https://github.com/cert-manager/cert-manager/issues/6893) , [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Bump golang.org/x/net to address [CVE-2023-45288](https://nvd.nist.gov/vuln/detail/CVE-2023-45288) ([#&#8203;6931](https://github.com/cert-manager/cert-manager/issues/6931) , [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.14.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.4) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.14.3...v1.14.4) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions. ##### ⚠️ Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations ##### ℹ️ Documentation [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14) [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.13-1.14) [Installation instructions](https://cert-manager.io/docs/installation/) ##### 🔧 Breaking changes See Breaking changes in [v1.14.0 release notes](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.0) ##### 📜 Changes since v1.14.3 ##### Bug or Regression - Allow `cert-manager.io/allow-direct-injection` in annotations ([#&#8203;6809](https://github.com/cert-manager/cert-manager/issues/6809), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) - BUGFIX: JKS and PKCS12 stores now contain the full set of CAs specified by an issuer ([#&#8203;6812](https://github.com/cert-manager/cert-manager/issues/6812), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) - BUGFIX: cainjector leaderelection flag/ config option defaults are missing ([#&#8203;6819](https://github.com/cert-manager/cert-manager/issues/6819), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) ##### Other (Cleanup or Flake) - Bump base images. ([#&#8203;6842](https://github.com/cert-manager/cert-manager/issues/6842), [@&#8203;inteon](https://github.com/inteon)) - Upgrade Helm: fix CVE-2024-26147 alert ([#&#8203;6834](https://github.com/cert-manager/cert-manager/issues/6834), [@&#8203;inteon](https://github.com/inteon)) - Upgrade go to 1.21.8: fixes CVE-2024-24783 ([#&#8203;6825](https://github.com/cert-manager/cert-manager/issues/6825), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) - Upgrade google.golang.org/protobuf: fixing GO-2024-2611 ([#&#8203;6829](https://github.com/cert-manager/cert-manager/issues/6829), [@&#8203;inteon](https://github.com/inteon)) ### [`v1.14.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.3) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.14.2...v1.14.3) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions. ##### ⚠️ Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations - cainjector leaderelection is incorrectly disabled by default because the flag/ config option defaults are missing ([#&#8203;6819](https://github.com/cert-manager/cert-manager/pull/6819)) ##### ℹ️ Documentation [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14) [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.13-1.14) [Installation instructions](https://cert-manager.io/docs/installation/) ##### 🔧 Breaking changes See Breaking changes in [v1.14.0 release notes](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.0) ##### 📜 Changes since v1.14.2 ##### Bug or Regression - BUGFIX: Fixes issue with JSON-logging, where only a subset of the log messages were output as JSON. ([#&#8203;6781](https://github.com/cert-manager/cert-manager/issues/6781), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) - BUGFIX: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). ([#&#8203;6774](https://github.com/cert-manager/cert-manager/issues/6774), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) ### [`v1.14.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.2) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.14.1...v1.14.2) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions. ##### ⚠️ Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if `preferredChain` is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations - Logging-format json sometimes writes plaintext messages (see [#&#8203;6768](https://github.com/cert-manager/cert-manager/issues/6768)). FIXED in v1.14.3 ##### ℹ️ Documentation [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14) [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.13-1.14) [Installation instructions](https://cert-manager.io/docs/installation/) ##### 🔧 Breaking changes See `Breaking changes` in [v1.14.0 release notes](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.0) ##### 📜 Changes since `v1.14.1` ##### Bug or Regression - BUGFIX: cert-manager CA and SelfSigned issuers incorrectly copied the critical flag from the CSR instead of re-calculating that field themselves. ([#&#8203;6727](https://github.com/cert-manager/cert-manager/issues/6727), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) - Helm: Fix a bug in the logic that differentiates between 0 and an empty value. ([#&#8203;6729](https://github.com/cert-manager/cert-manager/issues/6729), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) ##### Other (Cleanup or Flake) - Bump golang to 1.21.7 ([#&#8203;6735](https://github.com/cert-manager/cert-manager/issues/6735), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) ### [`v1.14.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.1) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.14.0...v1.14.1) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions. > ⚠️ This version has known issues. Please install `v1.14.2` instead. ##### ⚠️ Known Issues (please install `v1.14.2`) - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if `preferredChain` is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations - In cert-manager v1.14.0 and v1.14.1, the `CA` and `SelfSigned` issuers issue certificates with SANs set to non-critical even when the subject is empty. It incorrectly copies the critical field from the CSR. ##### 🔧 Breaking changes See `Breaking changes` in [v1.14.0 release notes](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.0) ##### ℹ️ Documentation - [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14) - [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.13-1.14) - [Installation instructions](https://cert-manager.io/docs/installation/) ##### 📜 Changes since `v1.14.0` ##### Bug or Regression - Fix broken cainjector image value in Helm chart ([#&#8203;6693](https://github.com/cert-manager/cert-manager/pull/6693), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Fix bug in cmctl namespace detection which prevented it being used as a startupapicheck image in namespaces other than cert-manager. ([#&#8203;6706](https://github.com/cert-manager/cert-manager/pull/6706), [@&#8203;inteon](https://github.com/inteon)) - Fix bug in cmctl which caused `cmctl experimental install` to panic. ([#&#8203;6706](https://github.com/cert-manager/cert-manager/pull/6706), [@&#8203;inteon](https://github.com/inteon)) ### [`v1.14.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.14.0) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.13.6...v1.14.0) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions. > ⚠️ This version has known issues. Please install `v1.14.2` instead. ##### ⚠️ Known Issues (please install `v1.14.2`) - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if `preferredChain` is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations - In cert-manager v1.14.0 and v1.14.1, the `CA` and `SelfSigned` issuers issue certificates with SANs set to non-critical even when the subject is empty. It incorrectly copies the critical field from the CSR. - During the release of `v1.14.0`, the Helm chart for this version was found to use the wrong OCI image for the `cainjector` Deployment, which caused the Helm installation to fail. In order to complete the release, the cert-manager team have manually updated the Helm chart for this version, which contains all the Helm chart fixes which are in `v1.14.1`. - A bug in cmctl namespace detection prevents it being used as a `startupapicheck` image in namespaces other than cert-manager. - A bug in cmctl causes `cmctl experimental install` to panic. ##### 🔧 Breaking Changes The startupapicheck job uses a new OCI image called "startupapicheck", instead of the ctl image. If you run in an environment in which images cannot be pulled, be sure to include the new image. The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob. ##### 🗺️ Major Themes ##### New X.509 Features The cert-manager Certificate resource now allows you to configure a subset of "Other Name" SANs, which are described in the [Subject Alternative Name section of RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6) (on page 37). We specifically support any `otherName` type with a `UTF-8` value, such as the [User Principal Name](https://docs.venafi.com/Docs/current/TopNav/Content/Certificates/r-UEP-support-SANs.php) or [`sAMAccountName`](https://learn.microsoft.com/en-us/windows/win32/ad/naming-properties). These are useful when issuing unique certificates for authenticating with LDAP systems such as Microsoft Active Directory. For example you can create certificates with this block in the spec: ``` otherNames: - oid: 1.3.6.1.4.1.311.20.2.3 # UPN OID utf8Value: upn@domain.local ``` The feature is still in alpha stage and requires you to [enable the `OtherName` feature flag in the controller and webhook components](../../installation/configuring-components.md#feature-gates). ##### New CA certificate Features You can now specify the X.509 v3 Authority Information Accessors extension, with URLs for certificates issued by the CA issuer. Users can now use name constraints in CA certificates. To know more details on name constraints check out RFC section <https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10> ##### Security An ongoing security audit of the cert-manager code revealed some weaknesses which we have addressed in this release, such as using more secure default settings in the HTTP servers that serve metrics, healthz and pprof endpoints. This will help mitigate denial-of-service attacks against those important services. All the cert-manager containers are now configured with read only root file system by default, to prevent unexpected changes to the file system of the OCI image. And it is now possible to configure the metrics server to use HTTPS rather than HTTP, so that clients can verify the identity of the metrics server. ##### Other The liveness probe of the cert-manager controller Pod is now enabled by default. There is a new option `.spec.keystores.pkcs12.algorithms` to specify encryption and MAC algorithms for PKCS. ##### 🤝 Community Thanks again to all open-source contributors with commits in this release, including: - [@&#8203;ABWassim](https://github.com/ABWassim) - [@&#8203;JoeNorth](https://github.com/JoeNorth) - [@&#8203;allenmunC1](https://github.com/allenmunC1) - [@&#8203;asapekia](https://github.com/asapekia) - [@&#8203;jeremycampbell](https://github.com/jeremycampbell) - [@&#8203;jkroepke](https://github.com/jkroepke) - [@&#8203;jsoref](https://github.com/jsoref) - [@&#8203;lauraseidler](https://github.com/lauraseidler) - [@&#8203;pevidex](https://github.com/pevidex) - [@&#8203;phillebaba](https://github.com/phillebaba) - [@&#8203;snorwin](https://github.com/snorwin) - [@&#8203;tanujd11](https://github.com/tanujd11) - [@&#8203;tberreis](https://github.com/tberreis) - [@&#8203;vinny](https://github.com/vinny) Thanks also to the following cert-manager maintainers for their contributions during this release: - [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish) - [@&#8203;SpectralHiss](https://github.com/SpectralHiss) - [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot) - [@&#8203;hawksight](https://github.com/hawksight) - [@&#8203;inteon](https://github.com/inteon) - [@&#8203;maelvls](https://github.com/maelvls) - [@&#8203;wallrj](https://github.com/wallrj) Equally thanks to everyone who provided feedback, helped users and raised issues on GitHub and Slack and joined our meetings! Thanks also to the [CNCF](https://www.cncf.io/), 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](https://github.com/cert-manager/aws-privateca-issuer). In addition, massive thanks to [Venafi](https://www.venafi.com/) for contributing developer time and resources towards the continued maintenance of cert-manager projects. ##### 📜 Changes ##### Feature - ACME challenge solver Pod for HTTP01 will get a default annotation of `"cluster-autoscaler.kubernetes.io/safe-to-evict": "true"`. You can provide an annotation of `"cluster-autoscaler.kubernetes.io/safe-to-evict": "false"` in your `podTemplate` if you don't like this. ([#&#8203;6349](https://github.com/cert-manager/cert-manager/pull/6349), [@&#8203;jsoref](https://github.com/jsoref)) - Added a clock skew detector liveness probe that will force a restart in case we detect a skew between the internal monotonic clock and the system clock of more than 5 minutes. Also, the controller's liveness probe is now enabled by default. ([#&#8203;6328](https://github.com/cert-manager/cert-manager/pull/6328), [@&#8203;inteon](https://github.com/inteon)) - Added a new flag (--dynamic-serving-leaf-duration) that can adjust the lifetime of the dynamic leaf certificates ([#&#8203;6552](https://github.com/cert-manager/cert-manager/pull/6552), [@&#8203;allenmunC1](https://github.com/allenmunC1)) - Added support for `otherName` SANS in Certificates ([#&#8203;6404](https://github.com/cert-manager/cert-manager/pull/6404), [@&#8203;SpectralHiss](https://github.com/SpectralHiss)) - Added the option to specify the X.509 v3 Authority Information Accessors extension CA Issuers URLs for certificates issued by the CA issuer. ([#&#8203;6486](https://github.com/cert-manager/cert-manager/pull/6486), [@&#8203;jeremycampbell](https://github.com/jeremycampbell-okta)) - Adds cert-manager's new core infrastructure initiative badge! See more details on <https://www.bestpractices.dev/projects/8079> ([#&#8203;6497](https://github.com/cert-manager/cert-manager/pull/6497), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - All Pods are now configured with `readOnlyRootFilesystem` by default. ([#&#8203;6453](https://github.com/cert-manager/cert-manager/pull/6453), [@&#8203;wallrj](https://github.com/wallrj)) - MAYBE BREAKING: The startupapicheck job is now handled by an entirely new container called "startupapicheck". This replaces the previous ctl container. If you run in an environment in which images cannot be pulled, be sure to include the new container. ([#&#8203;6549](https://github.com/cert-manager/cert-manager/pull/6549), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - New option `.spec.keystores.pkcs12.algorithms` to specify encryption and MAC algorithms for PKCS[#&#8203;12](https://github.com/cert-manager/cert-manager/pull/12) keystores. Fixes issues [#&#8203;5957](https://github.com/cert-manager/cert-manager/pull/5957) and [#&#8203;6523](https://github.com/cert-manager/cert-manager/pull/6523). ([#&#8203;6548](https://github.com/cert-manager/cert-manager/pull/6548), [@&#8203;snorwin](https://github.com/snorwin)) - The ACME HTTP01 solver Pod is now configured with `readOnlyRootFilesystem: true` ([#&#8203;6462](https://github.com/cert-manager/cert-manager/pull/6462), [@&#8203;wallrj](https://github.com/wallrj)) - Updates the AWS SDK for Go to 1.48.7 to support Amazon EKS Pod Identity ([#&#8203;6519](https://github.com/cert-manager/cert-manager/pull/6519), [@&#8203;JoeNorth](https://github.com/JoeNorth)) - Users can now use name constraints in CA certificates. To know more details on name constraints check out RFC section <https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10> ([#&#8203;6500](https://github.com/cert-manager/cert-manager/pull/6500), [@&#8203;tanujd11](https://github.com/tanujd11)) - ⚠️ potentially breaking ⚠️: The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob. ([#&#8203;6053](https://github.com/cert-manager/cert-manager/pull/6053), [@&#8203;inteon](https://github.com/inteon)) - Add TLS support to the metrics endpoint through either a certificate file or through dynamically issued certificates ([#&#8203;6574](https://github.com/cert-manager/cert-manager/pull/6574), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) - Helm Chart: allow changing the default Deployment `revisionHistoryLimit` ([#&#8203;6248](https://github.com/cert-manager/cert-manager/pull/6248), [@&#8203;tberreis](https://github.com/tberreis)) - Security: Limit the size of the response body read from HTTP requests by cert-manager. ([#&#8203;6619](https://github.com/cert-manager/cert-manager/pull/6619), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) - Support custom `spec.namespaceSelector` for webhooks ([#&#8203;6638](https://github.com/cert-manager/cert-manager/pull/6638), [@&#8203;jkroepke](https://github.com/jkroepke)) ##### Bug or Regression - BUGFIX\[helm]: Fix issue where webhook feature gates were only set if controller feature gates are set. ([#&#8203;6380](https://github.com/cert-manager/cert-manager/pull/6380), [@&#8203;asapekia](https://github.com/asapekia)) - Controller ConfigMap is now created only if `.Values.config` is set. ([#&#8203;6357](https://github.com/cert-manager/cert-manager/pull/6357), [@&#8203;ABWassim](https://github.com/ABWassim)) - Fix runaway bug caused by multiple Certificate resources that point to the same Secret resource. ([#&#8203;6406](https://github.com/cert-manager/cert-manager/pull/6406), [@&#8203;inteon](https://github.com/inteon)) - Fix(helm): templating of required value in controller and webhook ConfigMap resources ([#&#8203;6435](https://github.com/cert-manager/cert-manager/pull/6435), [@&#8203;ABWassim](https://github.com/ABWassim)) - Fixed a webhook validation error message when the key algorithm was invalid. ([#&#8203;6571](https://github.com/cert-manager/cert-manager/pull/6571), [@&#8203;pevidex](https://github.com/pevidex)) - Fixed error messaging when setting up vault issuer ([#&#8203;6433](https://github.com/cert-manager/cert-manager/pull/6433), [@&#8203;vinny](https://github.com/vinny-sabatini)) - `GHSA-vgf6-pvf4-34rq`: The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size `>= 3MiB`. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory. The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body. The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request. ([#&#8203;6498](https://github.com/cert-manager/cert-manager/pull/6498), [@&#8203;inteon](https://github.com/inteon)) - Increase the default webhook timeout to its maximum value of 30 seconds, so that the underlying timeout error message has more chance of being returned to the end user. ([#&#8203;6488](https://github.com/cert-manager/cert-manager/pull/6488), [@&#8203;wallrj](https://github.com/wallrj)) - Listeners that do not support TLS on Gateway resources will now not raise `BadConfig` warnings anymore ([#&#8203;6347](https://github.com/cert-manager/cert-manager/pull/6347), [@&#8203;lauraseidler](https://github.com/lauraseidler)) - Mitigate potential Slowloris attacks by setting `ReadHeaderTimeout` in all `http.Server` instances ([#&#8203;6534](https://github.com/cert-manager/cert-manager/pull/6534), [@&#8203;wallrj](https://github.com/wallrj)) - The Venafi issuer now properly resets the certificate and should no longer get stuck with `WebSDK CertRequest Module Requested Certificate` or `This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.`. ([#&#8203;6398](https://github.com/cert-manager/cert-manager/pull/6398), [@&#8203;maelvls](https://github.com/maelvls)) - Update experimental install and uninstall commands to have flag parity with the rest of the CLI ([#&#8203;6562](https://github.com/cert-manager/cert-manager/pull/6562), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) - Webhook ConfigMap if now created only if `.Values.webhook.config` is set. ([#&#8203;6360](https://github.com/cert-manager/cert-manager/pull/6360), [@&#8203;ABWassim](https://github.com/ABWassim)) - BUGFIX: Ensure `otherName` SAN changes in Certificate resources trigger re-issuance. ([#&#8203;6620](https://github.com/cert-manager/cert-manager/pull/6620), [@&#8203;SpectralHiss](https://github.com/SpectralHiss)) - Bugfix: Publish the `startupapicheck` image to `quay.io` ([#&#8203;6609](https://github.com/cert-manager/cert-manager/pull/6609), [@&#8203;wallrj](https://github.com/wallrj)) ##### Other (Cleanup or Flake) - Cert-manager is now built with Go 1.21.5 ([#&#8203;6545](https://github.com/cert-manager/cert-manager/pull/6545), [@&#8203;wallrj](https://github.com/wallrj)) - Bump Go to `1.21.3` to address `CVE-2023-39325`. Also bumps base images. ([#&#8203;6410](https://github.com/cert-manager/cert-manager/pull/6410), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Bump `golang.org/x/net v0.15.0 => v0.17.0` as part of addressing `CVE-2023-44487` / `CVE-2023-39325` ([#&#8203;6427](https://github.com/cert-manager/cert-manager/pull/6427), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Check code for unintended use of `crypto/md5`, a weak cryptographic primitive; using `golangci-lint` / `gosec` (G501). ([#&#8203;6581](https://github.com/cert-manager/cert-manager/pull/6581), [@&#8203;wallrj](https://github.com/wallrj)) - Check code for unintended use of `crypto/sha1`, a weak cryptographic primitive; using `golangci-lint` / `gosec` (G505). ([#&#8203;6579](https://github.com/cert-manager/cert-manager/pull/6579), [@&#8203;wallrj](https://github.com/wallrj)) - Check code for unintended use of weak random number generator (`math/rand` instead of `crypto/rand`); using `golangci-lint` / `gosec` (G404). ([#&#8203;6582](https://github.com/cert-manager/cert-manager/pull/6582), [@&#8203;wallrj](https://github.com/wallrj)) - Cleanup: Restrict MutatingWebhookConfiguration to only CertificateRequest resources ([#&#8203;6311](https://github.com/cert-manager/cert-manager/pull/6311), [@&#8203;hawksight](https://github.com/hawksight)) - Deprecated `pkg/util.RandStringRunes` and `pkg/controller/test.RandStringBytes`. Use `k8s.io/apimachinery/pkg/util/rand.String` instead. ([#&#8203;6585](https://github.com/cert-manager/cert-manager/pull/6585), [@&#8203;wallrj](https://github.com/wallrj)) - Enabled verbose logging in startupapicheck by default, so that if it fails, users can know exactly what caused the failure. ([#&#8203;6495](https://github.com/cert-manager/cert-manager/pull/6495), [@&#8203;wallrj](https://github.com/wallrj)) - Fix gosec G601: Implicit memory aliasing of items from a range statement ([#&#8203;6551](https://github.com/cert-manager/cert-manager/pull/6551), [@&#8203;wallrj](https://github.com/wallrj)) - Fix handling of serial numbers in literal certificate subjects. Previously a serial number could be specified in `subject.serialNumber` while using a literal certificate subject. This was a mistake and has been fixed. ([#&#8203;6533](https://github.com/cert-manager/cert-manager/pull/6533), [@&#8203;inteon](https://github.com/inteon)) - The end-to-end tests can now test the cert-manager Vault Issuer on an OpenShift cluster. ([#&#8203;6391](https://github.com/cert-manager/cert-manager/pull/6391), [@&#8203;wallrj](https://github.com/wallrj)) - Update cert-manager's distroless base images from Debian 11 to Debian 12. This should have no practical effects on users. ([#&#8203;6583](https://github.com/cert-manager/cert-manager/pull/6583), [@&#8203;inteon](https://github.com/inteon)) - Updated all code using GatewayAPI to use the now GA v1 APIs ([#&#8203;6559](https://github.com/cert-manager/cert-manager/pull/6559), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) - Upgrade Go from 1.20.7 to 1.20.8. ([#&#8203;6369](https://github.com/cert-manager/cert-manager/pull/6369), [@&#8203;inteon](https://github.com/inteon)) - Upgrade `github.com/emicklei/go-restful/v3` to `v3.11.0` because `v3.10.2` is labeled as "DO NOT USE". ([#&#8203;6366](https://github.com/cert-manager/cert-manager/pull/6366), [@&#8203;inteon](https://github.com/inteon)) - Use the new generic `sets.Set` type in place of the deprecated `sets.String`. ([#&#8203;6586](https://github.com/cert-manager/cert-manager/pull/6586), [@&#8203;wallrj](https://github.com/wallrj)) - cert-manager is now built with Go `v1.21.6` ([#&#8203;6628](https://github.com/cert-manager/cert-manager/pull/6628), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Update the Azure SDK and remove deprecated `autorest` dependency ([#&#8203;5452](https://github.com/cert-manager/cert-manager/pull/5452), [@&#8203;phillebaba](https://github.com/phillebaba)) - The cert-manager E2E tests can now be run on Kubernetes 1.29 ([#&#8203;6641](https://github.com/cert-manager/cert-manager/pull/6641), [@&#8203;wallrj](https://github.com/wallrj)) ### [`v1.13.6`](https://github.com/cert-manager/cert-manager/releases/tag/v1.13.6) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.13.5...v1.13.6) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. `v1.13.6` fixes a bug in the DigitalOcean DNS-01 provider which could cause incorrect DNS records to be deleted when using a domain with a CNAME. Special thanks to [@&#8203;BobyMCbobs](https://github.com/BobyMCbobs) for reporting this issue and testing the fix! It also patches CVE-2023-45288. #### Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if `preferredChain` is configured: see [1.14 release notes](./release-notes-1.14.md#known-issues) for more information. #### Changes ##### Bug or Regression - DigitalOcean: Ensure that only TXT records are considered for deletion when cleaning up after an ACME challenge ([#&#8203;6892](https://github.com/cert-manager/cert-manager/issues/6892), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Bump golang.org/x/net to address [CVE-2023-45288](https://nvd.nist.gov/vuln/detail/CVE-2023-45288) ([#&#8203;6932](https://github.com/cert-manager/cert-manager/issues/6932), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.13.5`](https://github.com/cert-manager/cert-manager/releases/tag/v1.13.5) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.13.4...v1.13.5) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. ##### ⚠️ Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations ##### ℹ️ Documentation [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.13) [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.12-1.13) [Installation instructions](https://cert-manager.io/docs/installation/) ##### 🔧 Breaking changes See Breaking changes in [v1.13.0 release notes](https://github.com/cert-manager/cert-manager/releases/tag/v1.13.0) ##### 📜 Changes since v1.13.4 ##### Bug or Regression - Allow `cert-manager.io/allow-direct-injection` in annotations ([#&#8203;6810](https://github.com/cert-manager/cert-manager/issues/6810), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) - BUGFIX: JKS and PKCS12 stores now contain the full set of CAs specified by an issuer ([#&#8203;6814](https://github.com/cert-manager/cert-manager/issues/6814), [@&#8203;inteon](https://github.com/inteon)) - BUGFIX: fix race condition due to registering and using global runtime.Scheme variables ([#&#8203;6832](https://github.com/cert-manager/cert-manager/issues/6832), [@&#8203;inteon](https://github.com/inteon)) ##### Other (Cleanup or Flake) - Bump base images to the latest version. ([#&#8203;6841](https://github.com/cert-manager/cert-manager/issues/6841), [@&#8203;inteon](https://github.com/inteon)) - Upgrade go to 1.21.8: fixes CVE-2024-24783 ([#&#8203;6824](https://github.com/cert-manager/cert-manager/issues/6824), [@&#8203;inteon](https://github.com/inteon)) - Upgrade google.golang.org/protobuf: fixing GO-2024-2611 ([#&#8203;6828](https://github.com/cert-manager/cert-manager/issues/6828), [@&#8203;inteon](https://github.com/inteon)) ### [`v1.13.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.13.4) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.13.3...v1.13.4) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. ##### ⚠️ Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations ##### ℹ️ Documentation [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.13) [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.12-1.13) [Installation instructions](https://cert-manager.io/docs/installation/) ##### 🔧 Breaking changes See Breaking changes in [v1.13.0 release notes](https://github.com/cert-manager/cert-manager/releases/tag/v1.13.0) ##### 📜 Changes since v1.13.3 ##### Bug or Regression - BUGFIX: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). ([#&#8203;6772](https://github.com/cert-manager/cert-manager/issues/6772), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) ##### Other (Cleanup or Flake) - Bump go to 1.20.14 ([#&#8203;6736](https://github.com/cert-manager/cert-manager/issues/6736), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) - Cert-manager is now built with Go 1.20.12 ([#&#8203;6544](https://github.com/cert-manager/cert-manager/issues/6544), [@&#8203;wallrj](https://github.com/wallrj)) - Cert-manager is now built with Go 1.20.13 ([#&#8203;6630](https://github.com/cert-manager/cert-manager/issues/6630), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Fix CVE 2023 48795 by upgrading to golang.org/x/crypto\@&#8203;v0.17.0 ([#&#8203;6675](https://github.com/cert-manager/cert-manager/issues/6675), [@&#8203;wallrj](https://github.com/wallrj)) - Fix GHSA-7ww5-4wqc-m92c by upgrading to `github.com/containerd/containerd@v1.7.12` ([#&#8203;6684](https://github.com/cert-manager/cert-manager/issues/6684), [@&#8203;wallrj](https://github.com/wallrj)) ### [`v1.13.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.13.3) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.13.2...v1.13.3) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. > ⚠️ Read about the [**breaking changes in cert-manager 1.13**](https://github.com/cert-manager/cert-manager/releases/tag/v1.13.0) before you upgrade from a < v1.13 version! This patch release contains fixes for the following security vulnerabilities in the cert-manager-controller: - [`GO-2023-2334`](https://pkg.go.dev/vuln/GO-2023-2334): Decryption of malicious PBES2 JWE objects can consume unbounded system resources. If you use [ArtifactHub Security report](https://artifacthub.io/packages/helm/cert-manager/cert-manager/1.13.2?modal=security-report) or [trivy](https://trivy.dev/), this patch will also silence the following warning about a vulnerability in code which is imported but **not used** by the cert-manager-controller: - [`CVE-2023-47108`](https://access.redhat.com/security/cve/CVE-2023-47108): DoS vulnerability in `otelgrpc` due to unbound cardinality metrics. An ongoing security audit of cert-manager suggested some changes to the webhook code to mitigate DoS attacks, and these are included in this patch release. ##### Changes ##### Bug or Regression - The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size `>= 3MiB`. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory. ([#&#8203;6507](https://github.com/cert-manager/cert-manager/pull/6507), [@&#8203;inteon](https://github.com/inteon)) - The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body. ([#&#8203;6507](https://github.com/cert-manager/cert-manager/pull/6507), [@&#8203;inteon](https://github.com/inteon)) - The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request. ([#&#8203;6507](https://github.com/cert-manager/cert-manager/pull/6507), [@&#8203;inteon](https://github.com/inteon)) - Mitigate potential "Slowloris" attacks by setting `ReadHeaderTimeout` in all `http.Server` instances. ([#&#8203;6538](https://github.com/cert-manager/cert-manager/pull/6538), [@&#8203;wallrj](https://github.com/wallrj)) - Upgrade Go modules: `otel`, `docker`, and `jose` to fix CVE alerts. See <https://github.com/advisories/GHSA-8pgv-569h-w5rw>, <https://github.com/advisories/GHSA-jq35-85cj-fj4p>, and <https://github.com/advisories/GHSA-2c7c-3mj9-8fqh>. ([#&#8203;6514](https://github.com/cert-manager/cert-manager/pull/6514), [@&#8203;inteon](https://github.com/inteon)) ##### Dependencies ##### Added *Nothing has changed.* ##### Changed - `cloud.google.com/go/firestore`: `v1.11.0 → v1.12.0` - `cloud.google.com/go`: `v0.110.6 → v0.110.7` - `github.com/felixge/httpsnoop`: [`v1.0.3 → v1.0.4`](https://github.com/felixge/httpsnoop/compare/v1.0.3...v1.0.4) - `github.com/go-jose/go-jose/v3`: [`v3.0.0 → v3.0.1`](https://github.com/go-jose/go-jose/v3/compare/v3.0.0...v3.0.1) - `github.com/go-logr/logr`: [`v1.2.4 → v1.3.0`](https://github.com/go-logr/logr/compare/v1.2.4...v1.3.0) - `github.com/golang/glog`: [`v1.1.0 → v1.1.2`](https://github.com/golang/glog/compare/v1.1.0...v1.1.2) - `github.com/google/go-cmp`: [`v0.5.9 → v0.6.0`](https://github.com/google/go-cmp/compare/v0.5.9...v0.6.0) - `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc`: `v0.45.0 → v0.46.0` - `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp`: `v0.44.0 → v0.46.0` - `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/exporters/otlp/otlptrace`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/metric`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/sdk`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/trace`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel`: `v1.19.0 → v1.20.0` - `go.uber.org/goleak`: `v1.2.1 → v1.3.0` - `golang.org/x/sys`: `v0.13.0 → v0.14.0` - `google.golang.org/genproto/googleapis/api`: `f966b18 → b8732ec` - `google.golang.org/genproto`: `f966b18 → b8732ec` - `google.golang.org/grpc`: `v1.58.3 → v1.59.0` ##### Removed *Nothing has changed.* ### [`v1.13.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.13.2) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.13.1...v1.13.2) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. v1.13.2 fixes some CVE alerts and contains fixes for: 1. a CertificateRequest runaway situation in case two Certificate resources point to the same Secret target resource 2. a small bug in the Helm chart (feature gate options) 3. a Venafi issuer bug ##### ⚠️ 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.1 ##### Bug or Regression - Bump golang.org/x/net v0.15.0 => v0.17.0 as part of addressing CVE-2023-44487 / CVE-2023-39325 ([#&#8203;6432](https://github.com/cert-manager/cert-manager/issues/6432), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - BUGFIX\[helm]: Fix issue where webhook feature gates were only set if controller feature gates are set. ([#&#8203;6381](https://github.com/cert-manager/cert-manager/issues/6381), [@&#8203;asapekia](https://github.com/asapekia)) - Fix runaway bug caused by multiple Certificate resources that point to the same Secret resource. ([#&#8203;6425](https://github.com/cert-manager/cert-manager/issues/6425), [@&#8203;inteon](https://github.com/inteon)) - The Venafi issuer now properly resets the certificate and should no longer get stuck with `WebSDK CertRequest Module Requested Certificate` or `This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.`. ([#&#8203;6402](https://github.com/cert-manager/cert-manager/issues/6402), [@&#8203;maelvls](https://github.com/maelvls)) ##### Other (Cleanup or Flake) - Bump go to 1.20.10 to address CVE-2023-39325. Also bumps base images. ([#&#8203;6411](https://github.com/cert-manager/cert-manager/issues/6411), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.13.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.13.1) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.13.0...v1.13.1) 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. ([#&#8203;6358](https://github.com/cert-manager/cert-manager/issues/6358), [@&#8203;jetstack-bot](https://github.com/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". ([#&#8203;6368](https://github.com/cert-manager/cert-manager/issues/6368), [@&#8203;inteon](https://github.com/inteon)) - Upgrade Go from 1.20.7 to 1.20.8. ([#&#8203;6370](https://github.com/cert-manager/cert-manager/issues/6370), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) ### [`v1.13.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.13.0) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.17...v1.13.0) 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: [#&#8203;6342](https://github.com/cert-manager/cert-manager/issues/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 [#&#8203;6494 (comment)](https://github.com/cert-manager/cert-manager/issues/6494#issuecomment-1816112309)) 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. ([#&#8203;6093](https://github.com/cert-manager/cert-manager/issues/6093), [@&#8203;irbekrm](https://github.com/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). ([#&#8203;6093](https://github.com/cert-manager/cert-manager/issues/6093), [@&#8203;irbekrm](https://github.com/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. ([#&#8203;6182](https://github.com/cert-manager/cert-manager/issues/6182), [@&#8203;inteon](https://github.com/inteon)) #### Community Welcome to these new cert-manager members (more info - [#&#8203;6260](https://github.com/cert-manager/cert-manager/pull/6260)): [@&#8203;jsoref](https://github.com/jsoref) [@&#8203;FlorianLiebhart](https://github.com/FlorianLiebhart) [@&#8203;hawksight](https://github.com/hawksight) [@&#8203;erikgb](https://github.com/erikgb) Thanks again to all open-source contributors with commits in this release, including: [@&#8203;AcidLeroy](https://github.com/AcidLeroy) [@&#8203;FlorianLiebhart](https://github.com/FlorianLiebhart) [@&#8203;lucacome](https://github.com/lucacome) [@&#8203;cypres](https://github.com/cypres) [@&#8203;erikgb](https://github.com/erikgb) [@&#8203;ubergesundheit](https://github.com/ubergesundheit) [@&#8203;jkroepke](https://github.com/jkroepke) [@&#8203;jsoref](https://github.com/jsoref) [@&#8203;gdvalle](https://github.com/gdvalle) [@&#8203;rouke-broersma](https://github.com/rouke-broersma) [@&#8203;schrodit](https://github.com/schrodit) [@&#8203;zhangzhiqiangcs](https://github.com/zhangzhiqiangcs) [@&#8203;arukiidou](https://github.com/arukiidou) [@&#8203;hawksight](https://github.com/hawksight) [@&#8203;Richardds](https://github.com/Richardds) [@&#8203;kahirokunn](https://github.com/kahirokunn) Thanks also to the following cert-manager maintainers for their contributions during this release: [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish) [@&#8203;maelvls](https://github.com/maelvls) [@&#8203;irbekrm](https://github.com/irbekrm) [@&#8203;inteon](https://github.com/inteon) Equally thanks to everyone who provided feedback, helped users and raised issues on Github and Slack and joined our meetings! Special thanks to [@&#8203;AcidLeroy](https://github.com/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 [#&#8203;5337](https://github.com/cert-manager/cert-manager/pull/5337)) Also, thanks a lot to [@&#8203;FlorianLiebhart](https://github.com/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 [#&#8203;5003](https://github.com/cert-manager/cert-manager/pull/5003)) Thanks also to the [CNCF](https://www.cncf.io/), 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](https://github.com/cert-manager/aws-privateca-issuer). In addition, massive thanks to [Venafi](https://www.venafi.com/) 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. ([#&#8203;6243](https://github.com/cert-manager/cert-manager/issues/6243), [@&#8203;inteon](https://github.com/inteon)) - Add view permissions to the well-known (Openshift) user-facing `cluster-reader` aggregated cluster role ([#&#8203;6241](https://github.com/cert-manager/cert-manager/issues/6241), [@&#8203;erikgb](https://github.com/erikgb)) - Certificate Shim: distinguish dns names and ip address in certificate ([#&#8203;6267](https://github.com/cert-manager/cert-manager/issues/6267), [@&#8203;zhangzhiqiangcs](https://github.com/zhangzhiqiangcs)) - Cmctl can now be imported by third parties. ([#&#8203;6049](https://github.com/cert-manager/cert-manager/issues/6049), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Make `enableServiceLinks` configurable for all Deployments and `startupapicheck` Job in Helm chart. ([#&#8203;6292](https://github.com/cert-manager/cert-manager/issues/6292), [@&#8203;ubergesundheit](https://github.com/ubergesundheit)) - Promoted the StableCertificateRequestName and SecretsFilteredCaching feature gates to Beta (enabled by default). ([#&#8203;6298](https://github.com/cert-manager/cert-manager/issues/6298), [@&#8203;inteon](https://github.com/inteon)) - The cert-manager controller options are now configurable using a configuration file. ([#&#8203;5337](https://github.com/cert-manager/cert-manager/issues/5337), [@&#8203;AcidLeroy](https://github.com/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. ([#&#8203;6199](https://github.com/cert-manager/cert-manager/issues/6199), [@&#8203;inteon](https://github.com/inteon)) - \[helm] Add prometheus.servicemonitor.endpointAdditionalProperties to define additional properties on a ServiceMonitor endpoint, e.g. relabelings ([#&#8203;6110](https://github.com/cert-manager/cert-manager/issues/6110), [@&#8203;jkroepke](https://github.com/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. ([#&#8203;5003](https://github.com/cert-manager/cert-manager/issues/5003), [@&#8203;FlorianLiebhart](https://github.com/FlorianLiebhart)) ##### Bug or Regression - Allow overriding default pdb .minAvailable with .maxUnavailable without setting .minAvailable to null ([#&#8203;6087](https://github.com/cert-manager/cert-manager/issues/6087), [@&#8203;rouke-broersma](https://github.com/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 ([#&#8203;6109](https://github.com/cert-manager/cert-manager/issues/6109), [@&#8203;inteon](https://github.com/inteon)) - BUGFIX: the issuer and certificate-name annotations on a Secret were incorrectly updated when other fields are changed. ([#&#8203;6147](https://github.com/cert-manager/cert-manager/issues/6147), [@&#8203;inteon](https://github.com/inteon)) - BUGFIX\[cainjector]: 1-character bug was causing invalid log messages and a memory leak ([#&#8203;6232](https://github.com/cert-manager/cert-manager/issues/6232), [@&#8203;inteon](https://github.com/inteon)) - Fix CloudDNS issuers stuck in propagation check, when multiple instances are issuing for the same FQDN ([#&#8203;6088](https://github.com/cert-manager/cert-manager/issues/6088), [@&#8203;cypres](https://github.com/cypres)) - Fix indentation of Webhook NetworkPolicy matchLabels in helm chart. ([#&#8203;6220](https://github.com/cert-manager/cert-manager/issues/6220), [@&#8203;ubergesundheit](https://github.com/ubergesundheit)) - Fixed Cloudflare DNS01 challenge provider race condition when validating multiple domains ([#&#8203;6191](https://github.com/cert-manager/cert-manager/issues/6191), [@&#8203;Richardds](https://github.com/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). ([#&#8203;6093](https://github.com/cert-manager/cert-manager/issues/6093), [@&#8203;irbekrm](https://github.com/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. ([#&#8203;6293](https://github.com/cert-manager/cert-manager/issues/6293), [@&#8203;SgtCoDFish](https://github.com/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. ([#&#8203;6143](https://github.com/cert-manager/cert-manager/issues/6143), [@&#8203;schrodit](https://github.com/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. ([#&#8203;6182](https://github.com/cert-manager/cert-manager/issues/6182), [@&#8203;inteon](https://github.com/inteon)) ##### Other (Cleanup or Flake) - A subset of the klogs flags have been deprecated and will be removed in the future. ([#&#8203;5879](https://github.com/cert-manager/cert-manager/issues/5879), [@&#8203;maelvls](https://github.com/maelvls)) - All service links in helm chart deployments have been disabled. ([#&#8203;6144](https://github.com/cert-manager/cert-manager/issues/6144), [@&#8203;schrodit](https://github.com/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 ([#&#8203;6168](https://github.com/cert-manager/cert-manager/issues/6168), [@&#8203;inteon](https://github.com/inteon)) - Chore: When hostNetwork is enabled, dnsPolicy is now set to ClusterFirstWithHostNet. ([#&#8203;6156](https://github.com/cert-manager/cert-manager/issues/6156), [@&#8203;kahirokunn](https://github.com/kahirokunn)) - Cleanup the controller configfile structure by introducing sub-structs. ([#&#8203;6242](https://github.com/cert-manager/cert-manager/issues/6242), [@&#8203;inteon](https://github.com/inteon)) - Don't run API Priority and Fairness controller in webhook's extension apiserver ([#&#8203;6085](https://github.com/cert-manager/cert-manager/issues/6085), [@&#8203;irbekrm](https://github.com/irbekrm)) - Helm: Add apache 2.0 license annotation ([#&#8203;6225](https://github.com/cert-manager/cert-manager/issues/6225), [@&#8203;arukiidou](https://github.com/arukiidou)) - Make apis/acme/v1/ACMEIssuer.PreferredChain optional in JSON serialization. ([#&#8203;6034](https://github.com/cert-manager/cert-manager/issues/6034), [@&#8203;gdvalle](https://github.com/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. ([#&#8203;6176](https://github.com/cert-manager/cert-manager/issues/6176), [@&#8203;inteon](https://github.com/inteon)) - The cmctl logging has been improved and support for json logging has been added. ([#&#8203;6247](https://github.com/cert-manager/cert-manager/issues/6247), [@&#8203;inteon](https://github.com/inteon)) - Updates Kubernetes libraries to `v0.27.2`. ([#&#8203;6077](https://github.com/cert-manager/cert-manager/issues/6077), [@&#8203;lucacome](https://github.com/lucacome)) - Updates Kubernetes libraries to `v0.27.4`. ([#&#8203;6227](https://github.com/cert-manager/cert-manager/issues/6227), [@&#8203;lucacome](https://github.com/lucacome)) - We now only check that the issuer name, kind and group annotations on a Secret match in case those annotations are set. ([#&#8203;6152](https://github.com/cert-manager/cert-manager/issues/6152), [@&#8203;inteon](https://github.com/inteon)) ### [`v1.12.17`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.17) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.16...v1.12.17) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. This patch release addresses several vulnerabilities reported by the Trivy security scanner. It is built with the latest version of Go 1.23 and includes various dependency updates. > 📖 Read the full [cert-manager 1.12 release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.12), before installing or upgrading. #### Changes since `v1.12.16` ##### Bug or Regression - Bump Go to `v1.23.8` to fix `CVE-2025-22871` ([#&#8203;7709](https://github.com/cert-manager/cert-manager/pull/7709), [`@wallrj`](https://github.com/wallrj)) - Bump `golang.org/x/net` to `v0.38.0` to fix `CVE-2025-22872` ([#&#8203;7709](https://github.com/cert-manager/cert-manager/pull/7709), [`@wallrj`](https://github.com/wallrj)) - Bump `github.com/golang-jwt/jwt/v4` to `v4.5.2` to fix `CVE-2025-30204` ([#&#8203;7709](https://github.com/cert-manager/cert-manager/pull/7709), [`@wallrj`](https://github.com/wallrj)) - Bump `go-jose` to address `CVE-2025-27144` ([#&#8203;7597](https://github.com/cert-manager/cert-manager/pull/7597), [`@SgtCoDFish`](https://github.com/SgtCoDFish)) - Bump `golang.org/x/net` to address `CVE-2025-22870` reported by Trivy ([#&#8203;7624](https://github.com/cert-manager/cert-manager/pull/7624), [`@SgtCoDFish`](https://github.com/SgtCoDFish)) - Bump `golang.org/x/net` to address `CVE-2025-22870` reported by Trivy ([#&#8203;7623](https://github.com/cert-manager/cert-manager/pull/7623), [`@SgtCoDFish`](https://github.com/SgtCoDFish)) ### [`v1.12.16`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.16) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.15...v1.12.16) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. This release is primarily intended to address [a breaking change in Cloudflare's API](https://github.com/cert-manager/cert-manager/issues/7540) which impacted ACME DNS-01 challenges using Cloudflare. Many thanks to the community members who reported this issue! cert-manager v1.12.16 also bumps the version of Go used to build to 1.23.6 which is the latest at the time of release. This is to address a variety of reported vulnerabilities reported in cert-manager v1.12.15: - CVE-2024-34156 - CVE-2024-34155 - CVE-2024-34158 - CVE-2024-45336 - CVE-2024-45341 - CVE-2025-22866 We don't expect that bumping Go will produce many noticeable changes, but there are some `GODEBUG` changes that could be applicable - specifically `x509negativeserial` may be of interest to users dealing with legacy certificates. There's more information [on go.dev](https://go.dev/doc/godebug#go-123) which may help if you suspect any changes in this version bump may have caused issues in your environment. #### Changes by Kind ##### Bug or Regression - Bump go to 1.23.6 which also requires bumping controller-gen to address a panic in that tool. That change in turn changes the formatting (but not the content) of CRD YAML for release-1.12 ([#&#8203;7570](https://github.com/cert-manager/cert-manager/issues/7570), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Fix issuing of certificates via DNS01 challenges on Cloudflare after a breaking change to the Cloudflare API ([#&#8203;7568](https://github.com/cert-manager/cert-manager/issues/7568), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish) + [@&#8203;LukeCarrier](https://github.com/LukeCarrier)) ### [`v1.12.15`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.15) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.14...v1.12.15) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager `v1.12.15` contains simple dependency bumps to address reported CVEs (`CVE-2024-45337` and `CVE-2024-45338`). We don't believe that cert-manager is actually vulnerable; this release is instead intended to satisfy vulnerability scanners. It's important to note also that cert-manager v1.12 LTS has older base images which are no longer updated. These base images don't contain much, but they do contain time zone data which can get out of date. To preserve original functionality, we don't intend to change the base images for cert-manager v1.12 LTS unless there's a very serious issue. As such, scanners may report issues with an out-of-date time zone database. If you require a newer base image, you should upgrade to a newer version of cert-manager. #### What's Changed - Bump golang.org/x/net and golang.org/x/crypto to address CVE-2024-45337 and CVE-2024-45338 by [@&#8203;wallrj](https://github.com/wallrj) in [#&#8203;7497](https://github.com/cert-manager/cert-manager/pull/7497) **Full Changelog**: <https://github.com/cert-manager/cert-manager/compare/v1.12.14...v1.12.15> ### [`v1.12.14`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.14) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.13...v1.12.14) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. This patch release of cert-manager 1.12 makes [several changes](https://github.com/cert-manager/cert-manager/pull/7403) to how PEM input is validated, adding maximum sizes appropriate to the type of PEM data which is being parsed. This is to prevent an unacceptable slow-down in parsing specially crafted PEM data. The issue was found by Google's OSS-Fuzz project. The issue is low severity; to exploit the PEM issue would require privileged access which would likely allow Denial-of-Service through other methods. Note also that since most PEM data parsed by cert-manager comes from `ConfigMap` or `Secret` resources which have a max size limit of approximately 1MB, it's difficult to force cert-manager to parse large amounts of PEM data. Further information is available in <https://github.com/cert-manager/cert-manager/security/advisories/GHSA-r4pg-vg54-wxx4> This patch release also fix [an issue](https://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r) reported by Trivy, although that issue is low severity and is not expected to be relevant to cert-manager. #### Bug Fixes - Set a maximum size for PEM inputs which cert-manager will accept to remove possibility of taking a long time to process an input ([#&#8203;7403](https://github.com/cert-manager/cert-manager/issues/7403), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Fix CVE-2024-5174 in `github.com/golang-jwt/jwt/v4` ([#&#8203;7407](https://github.com/cert-manager/cert-manager/issues/7407), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.12.13`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.13) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.12...v1.12.13) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. > 📖 Read the [release documentation](https://cert-manager.io/docs/releases/release-notes/release-notes-1.12) to learn more more about the features introduced in 1.12. #### 📜 Changes since [v1.12.12](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.12) This patch release fixes the following vulnerabilities: `CVE-2024-6104`, `CVE-2024-24791`, `CVE-2024-25620`, `CVE-2024-26147`, and `CVE-2024-41110`. > ℹ️ This version contains an unusually large number of Go dependency changes for > a patch release. The cert-manager maintainers are confident that it is stable > because it has passed the same extensive suite of tests as previous `1.12` > releases. But if you are importing cert-manager `1.12` as a Go module you will > notice that the minimum Go version is `1.21`, and the `k8s.io` modules are now > updated to `0.29`. > > This reason for the large number of Go dependency changes is that the Helm SDK > has been updated to fix security vulnerabilities in `cmctl`. This required the > `k8s.io` modules to be updated from `0.27` to `0.29` in all components. Those > newer minor versions of the Kubernetes modules pulled in new transitive > dependencies, and incremented the minimum Go version from `1.20` to `1.21`. ##### Bugfixes - Bump the `go-retryablehttp` dependency to fix `CVE-2024-6104` ([#&#8203;7128](https://github.com/cert-manager/cert-manager/pull/7128), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Updated Helm dependency to resolve `CVE-2024-25620` and `CVE-2024-26147` and Docker dependency to resolve `CVE-2024-41110` ([#&#8203;7214](https://github.com/cert-manager/cert-manager/pull/7214), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) - Updates Go to `1.21.13` to resolve `CVE-2024-24791` ([#&#8203;7216](https://github.com/cert-manager/cert-manager/pull/7216), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) ### [`v1.12.12`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.12) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.11...v1.12.12) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. #### 📜 Changes since [v1.12.11](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.11) ##### Bugfixes - BUGFIX: fix issue that caused Vault issuer to not retry signing when an error was encountered. ([#&#8203;7114](https://github.com/cert-manager/cert-manager/issues/7114), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot)) ##### Other (Cleanup or Flake) - Upgrade go-jose library to fix CVE-2024-28180 trivy alert. ([#&#8203;7109](https://github.com/cert-manager/cert-manager/issues/7109), [@&#8203;inteon](https://github.com/inteon)) - Update github.com/Azure/azure-sdk-for-go/sdk/azidentity to address CVE-2024-35255 ([#&#8203;7099](https://github.com/cert-manager/cert-manager/issues/7099), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot)) ### [`v1.12.11`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.11) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.10...v1.12.11) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. #### 📜 Changes since [v1.12.10](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.10) ##### Other (Cleanup or Flake) - Updated Go to 1.21.11 bringing in security fixes for archive/zip and net/netip. ([#&#8203;7077](https://github.com/cert-manager/cert-manager/issues/7077), [@&#8203;ThatsMrTalbot](https://github.com/ThatsMrTalbot) ) - Upgrade Go to 1.21.10, fixing GO-2024-2824 (<https://github.com/advisories/GHSA-2jwv-jmq4-4j3r>). ([#&#8203;7010](https://github.com/cert-manager/cert-manager/issues/7010), [@&#8203;inteon](https://github.com/inteon)) ### [`v1.12.10`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.10) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.9...v1.12.10) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. `v1.12.10` fixes a bug in the DigitalOcean DNS-01 provider which could cause incorrect DNS records to be deleted when using a domain with a CNAME. Special thanks to [@&#8203;BobyMCbobs](https://github.com/BobyMCbobs) for reporting this issue and testing the fix! It also patches CVE-2023-45288. ##### ⚠️ Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations - If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see [#&#8203;6406](https://github.com/cert-manager/cert-manager/pull/6406)). This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version. #### Changes ##### Bug or Regression - DigitalOcean: Ensure that only TXT records are considered for deletion when cleaning up after an ACME challenge ([#&#8203;6894](https://github.com/cert-manager/cert-manager/issues/6894), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Bump golang.org/x/net to address [CVE-2023-45288](https://nvd.nist.gov/vuln/detail/CVE-2023-45288) ([#&#8203;6933](https://github.com/cert-manager/cert-manager/issues/6933), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.12.9`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.9) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.8...v1.12.9) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. ##### ⚠️ Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations - If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see [#&#8203;6406](https://github.com/cert-manager/cert-manager/pull/6406)). This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version. ##### ℹ️ Documentation [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.12) [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.11-1.12) [Installation instructions](https://cert-manager.io/docs/installation/) ##### 🔧 Breaking changes See Breaking changes in [v1.12.0 release notes](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.0) ##### 📜 Changes since v1.12.8 ##### Bug or Regression - Allow `cert-manager.io/allow-direct-injection` in annotations ([#&#8203;6811](https://github.com/cert-manager/cert-manager/issues/6811), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) - BUGFIX: JKS and PKCS12 stores now contain the full set of CAs specified by an issuer ([#&#8203;6813](https://github.com/cert-manager/cert-manager/issues/6813), [@&#8203;inteon](https://github.com/inteon)) - BUGFIX: fix race condition due to registering and using global runtime.Scheme variables ([#&#8203;6833](https://github.com/cert-manager/cert-manager/issues/6833), [@&#8203;inteon](https://github.com/inteon)) ##### Other (Cleanup or Flake) - Bump base images to the latest version. ([#&#8203;6843](https://github.com/cert-manager/cert-manager/issues/6843), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) - Upgrade go to 1.21.8: fixes CVE-2024-24783 ([#&#8203;6826](https://github.com/cert-manager/cert-manager/issues/6826), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) - Upgrade google.golang.org/protobuf: fixing GO-2024-2611 ([#&#8203;6830](https://github.com/cert-manager/cert-manager/issues/6830), [@&#8203;inteon](https://github.com/inteon)) ### [`v1.12.8`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.8) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.7...v1.12.8) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. ##### ⚠️ Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations - If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see [#&#8203;6406](https://github.com/cert-manager/cert-manager/pull/6406)). This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version. ##### ℹ️ Documentation [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.12) [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.11-1.12) [Installation instructions](https://cert-manager.io/docs/installation/) ##### 🔧 Breaking changes See Breaking changes in [v1.12.0 release notes](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.0) ##### 📜 Changes since v1.12.7 ##### Bug or Regression - BUGFIX: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). ([#&#8203;6773](https://github.com/cert-manager/cert-manager/issues/6773), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) ##### Other (Cleanup or Flake) - Bump go to 1.20.14 ([#&#8203;6733](https://github.com/cert-manager/cert-manager/issues/6733), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Cert-manager is now built with Go 1.20.13 ([#&#8203;6629](https://github.com/cert-manager/cert-manager/issues/6629), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Fix CVE 2023 48795 by upgrading to golang.org/x/crypto\@&#8203;v0.17.0 ([#&#8203;6678](https://github.com/cert-manager/cert-manager/issues/6678), [@&#8203;wallrj](https://github.com/wallrj)) - Fix GHSA-7ww5-4wqc-m92c by upgrading to `github.com/containerd/containerd@v1.7.12` ([#&#8203;6689](https://github.com/cert-manager/cert-manager/issues/6689), [@&#8203;wallrj](https://github.com/wallrj)) ### [`v1.12.7`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.7) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.6...v1.12.7) This patch release contains fixes for the following security vulnerabilities in the cert-manager-controller: - [`GO-2023-2382`](https://pkg.go.dev/vuln/GO-2023-2382): Denial of service via chunk extensions in `net/http` If you use [ArtifactHub Security report](https://artifacthub.io/packages/helm/cert-manager/cert-manager/1.12.6?modal=security-report) or [trivy](https://trivy.dev/), this patch will also silence the following warning about a vulnerability in code which is imported but **not used** by the cert-manager-controller: - [`CVE-2023-47108`](https://access.redhat.com/security/cve/CVE-2023-47108): DoS vulnerability in `otelgrpc` due to unbound cardinality metrics. An ongoing security audit of cert-manager suggested some changes to the webhook code to mitigate DoS attacks, and these are included in this patch release. #### Known bugs If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see [#&#8203;6406](https://github.com/cert-manager/cert-manager/pull/6406)). This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version. ##### Changes ##### Feature - cert-manager is now built with Go `1.20.12` ([#&#8203;6543](https://github.com/cert-manager/cert-manager/pull/6543), [@&#8203;wallrj](https://github.com/wallrj)). ##### Bug or Regression - The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size `>= 3MiB`. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory ([#&#8203;6506](https://github.com/cert-manager/cert-manager/pull/6506), [@&#8203;inteon](https://github.com/inteon)). - The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body ([#&#8203;6506](https://github.com/cert-manager/cert-manager/pull/6506), [@&#8203;inteon](https://github.com/inteon)). - The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request ([#&#8203;6506](https://github.com/cert-manager/cert-manager/pull/6506), [@&#8203;inteon](https://github.com/inteon)). - Mitigate potential Slowloris attacks by setting `ReadHeaderTimeout` in all `http.Server` instances ([#&#8203;6539](https://github.com/cert-manager/cert-manager/pull/6539), [@&#8203;wallrj](https://github.com/wallrj)). - Upgrade `otel` and `docker` to fix: `CVE-2023-47108` and `GHSA-jq35-85cj-fj4p` ([#&#8203;6513](https://github.com/cert-manager/cert-manager/pull/6513), [@&#8203;inteon](https://github.com/inteon)). ##### Dependencies ##### Added - `cloud.google.com/go/dataproc/v2`: `v2.0.1` ##### Changed - `cloud.google.com/go/aiplatform`: `v1.45.0 → v1.48.0` - `cloud.google.com/go/analytics`: `v0.21.2 → v0.21.3` - `cloud.google.com/go/baremetalsolution`: `v0.5.0 → v1.1.1` - `cloud.google.com/go/batch`: `v0.7.0 → v1.3.1` - `cloud.google.com/go/beyondcorp`: `v0.6.1 → v1.0.0` - `cloud.google.com/go/bigquery`: `v1.52.0 → v1.53.0` - `cloud.google.com/go/cloudbuild`: `v1.10.1 → v1.13.0` - `cloud.google.com/go/cloudtasks`: `v1.11.1 → v1.12.1` - `cloud.google.com/go/compute`: `v1.21.0 → v1.23.0` - `cloud.google.com/go/contactcenterinsights`: `v1.9.1 → v1.10.0` - `cloud.google.com/go/container`: `v1.22.1 → v1.24.0` - `cloud.google.com/go/datacatalog`: `v1.14.1 → v1.16.0` - `cloud.google.com/go/dataplex`: `v1.8.1 → v1.9.0` - `cloud.google.com/go/datastore`: `v1.12.1 → v1.13.0` - `cloud.google.com/go/datastream`: `v1.9.1 → v1.10.0` - `cloud.google.com/go/deploy`: `v1.11.0 → v1.13.0` - `cloud.google.com/go/dialogflow`: `v1.38.0 → v1.40.0` - `cloud.google.com/go/documentai`: `v1.20.0 → v1.22.0` - `cloud.google.com/go/eventarc`: `v1.12.1 → v1.13.0` - `cloud.google.com/go/firestore`: `v1.11.0 → v1.12.0` - `cloud.google.com/go/gkebackup`: `v0.4.0 → v1.3.0` - `cloud.google.com/go/gkemulticloud`: `v0.6.1 → v1.0.0` - `cloud.google.com/go/kms`: `v1.12.1 → v1.15.0` - `cloud.google.com/go/maps`: `v0.7.0 → v1.4.0` - `cloud.google.com/go/metastore`: `v1.11.1 → v1.12.0` - `cloud.google.com/go/policytroubleshooter`: `v1.7.1 → v1.8.0` - `cloud.google.com/go/pubsub`: `v1.32.0 → v1.33.0` - `cloud.google.com/go/run`: `v0.9.0 → v1.2.0` - `cloud.google.com/go/servicedirectory`: `v1.10.1 → v1.11.0` - `cloud.google.com/go/speech`: `v1.17.1 → v1.19.0` - `cloud.google.com/go/translate`: `v1.8.1 → v1.8.2` - `cloud.google.com/go/video`: `v1.17.1 → v1.19.0` - `cloud.google.com/go/vmwareengine`: `v0.4.1 → v1.0.0` - `cloud.google.com/go`: `v0.110.4 → v0.110.7` - `github.com/felixge/httpsnoop`: [`v1.0.3 → v1.0.4`](https://github.com/felixge/httpsnoop/compare/v1.0.3...v1.0.4) - `github.com/go-logr/logr`: [`v1.2.4 → v1.3.0`](https://github.com/go-logr/logr/compare/v1.2.4...v1.3.0) - `github.com/golang/glog`: [`v1.1.0 → v1.1.2`](https://github.com/golang/glog/compare/v1.1.0...v1.1.2) - `github.com/google/go-cmp`: [`v0.5.9 → v0.6.0`](https://github.com/google/go-cmp/compare/v0.5.9...v0.6.0) - `github.com/google/uuid`: [`v1.3.0 → v1.3.1`](https://github.com/google/uuid/compare/v1.3.0...v1.3.1) - `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc`: `v0.45.0 → v0.46.0` - `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp`: `v0.44.0 → v0.46.0` - `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/exporters/otlp/otlptrace`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/metric`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/sdk`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/trace`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel`: `v1.19.0 → v1.20.0` - `go.uber.org/goleak`: `v1.2.1 → v1.3.0` - `golang.org/x/oauth2`: `v0.10.0 → v0.11.0` - `golang.org/x/sys`: `v0.13.0 → v0.14.0` - `google.golang.org/genproto/googleapis/api`: `782d3b1 → b8732ec` - `google.golang.org/genproto/googleapis/rpc`: `782d3b1 → b8732ec` - `google.golang.org/genproto`: `782d3b1 → b8732ec` - `google.golang.org/grpc`: `v1.58.3 → v1.59.0` ##### Removed - `cloud.google.com/go/dataproc`: `v1.12.0` ### [`v1.12.6`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.6) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.5...v1.12.6) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. v1.12.6 fixes some CVE alerts and a Venafi issuer bug. #### Known bugs If you misconfigure two Certificate resources to have the same target Secret resource, cert-manager will generate a MANY CertificateRequests, possibly causing high CPU usage and/ or high costs due to the large number of certificates issued (see [#&#8203;6406](https://github.com/cert-manager/cert-manager/pull/6406)). This problem was resolved in v1.13.2 and other later versions, but the fix cannot be easily backported to v1.12.x. We recommend using v1.12.x with caution (avoid misconfigured Certificate resources) or upgrading to a newer version. #### Changes since v1.12.5 ##### Bug or Regression - Bump golang.org/x/net v0.15.0 => v0.17.0 as part of addressing CVE-2023-44487 / CVE-2023-39325 ([#&#8203;6431](https://github.com/cert-manager/cert-manager/issues/6431), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - The Venafi issuer now properly resets the certificate and should no longer get stuck with `WebSDK CertRequest Module Requested Certificate` or `This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.`. ([#&#8203;6401](https://github.com/cert-manager/cert-manager/issues/6401), [@&#8203;maelvls](https://github.com/maelvls)) ##### Other (Cleanup or Flake) - Bump go to 1.20.10 to address CVE-2023-39325. Also bumps base images. ([#&#8203;6412](https://github.com/cert-manager/cert-manager/issues/6412), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.12.5`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.5) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.4...v1.12.5) 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. ([#&#8203;6359](https://github.com/cert-manager/cert-manager/issues/6359), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) ##### Other (Cleanup or Flake) - Updated base images to the latest version. ([#&#8203;6372](https://github.com/cert-manager/cert-manager/issues/6372), [@&#8203;inteon](https://github.com/inteon)) - Upgrade Go from 1.20.7 to 1.20.8. ([#&#8203;6371](https://github.com/cert-manager/cert-manager/issues/6371), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) ### [`v1.12.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.4) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.3...v1.12.4) v1.12.4 contains an important security fix that addresses [CVE-2023-29409](https://cve.report/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. ([#&#8203;6297](https://github.com/cert-manager/cert-manager/issues/6297), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Use Go 1.20.7 to fix a security issue in Go's `crypto/tls` library. ([#&#8203;6318](https://github.com/cert-manager/cert-manager/issues/6318), [@&#8203;maelvls](https://github.com/maelvls)) ### [`v1.12.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.3) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.2...v1.12.3) 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 ([#&#8203;6235](https://github.com/cert-manager/cert-manager/issues/6235), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) ### [`v1.12.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.2) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.1...v1.12.2) 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 [#&#8203;6217](https://github.com/cert-manager/cert-manager/issues/6217)). The fix was released in v1.12.3. See [#&#8203;6232](https://github.com/cert-manager/cert-manager/pull/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 ([#&#8203;6116](https://github.com/cert-manager/cert-manager/issues/6116), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) ### [`v1.12.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.1) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.12.0...v1.12.1) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. v1.12.1 release contains a couple dependency bumps and changes to ACME external webhook library. #### 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. - [`cmctl` API check](https://cert-manager.io/docs/installation/verify/) is broken in v1.12.0 and v1.12.1. We suggest that you do not upgrade `cmctl` to this version. The fix was released in v1.12.2 (which has an additional issue, see below). See [#&#8203;6116](https://github.com/cert-manager/cert-manager/issues/6116) for context. - 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 [#&#8203;6217](https://github.com/cert-manager/cert-manager/issues/6217)). The fix was released in v1.12.3. See [#&#8203;6232](https://github.com/cert-manager/cert-manager/pull/6232) for further context. #### Changes since v1.12.0 ##### Other (Cleanup or Flake) - Don't run API Priority and Fairness controller in webhook's extension apiserver ([#&#8203;6085](https://github.com/cert-manager/cert-manager/pull/6085), [@&#8203;irbekrm](https://github.com/irbekrm)) - Adds a warning for folks to not use controller feature gates helm value to configure webhook feature gates ([#&#8203;6100](https://github.com/cert-manager/cert-manager/pull/6100), [@&#8203;irbekrm](https://github.com/irbekrm)) ##### Uncategorized - Updates Kubernetes libraries to `v0.27.2`. ([#&#8203;6077](https://github.com/cert-manager/cert-manager/pull/6077), [@&#8203;lucacome](https://github.com/lucacome)) - Updates controller-runtime to `v0.15.0` ([#&#8203;6098](https://github.com/cert-manager/cert-manager/pull/6098), [@&#8203;lucacome](https://github.com/lucacome)) ### [`v1.12.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.12.0) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.11.5...v1.12.0) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager v1.12 brings support for JSON logging, a lower memory footprint, support for ephemeral service account tokens with Vault, improved dependency management and support for the ingressClassName field. The full release notes are available at <https://cert-manager.io/docs/release-notes/release-notes-1.12>. #### 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. - [`cmctl` API check](https://cert-manager.io/docs/installation/verify/) is broken in v1.12.0 and v1.12.1. We suggest that you do not upgrade `cmctl` to this version. The fix was released in v1.12.2 (which has an additional issue, see below). See [#&#8203;6116](https://github.com/cert-manager/cert-manager/issues/6116) for context. - 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 [#&#8203;6217](https://github.com/cert-manager/cert-manager/issues/6217)). The fix was released in v1.12.3. See [#&#8203;6232](https://github.com/cert-manager/cert-manager/pull/6232) for further context. ### Community Thanks again to all open-source contributors with commits in this release, including: - [@&#8203;malovme](https://github.com/malovme) - [@&#8203;e96wic](https://github.com/e96wic) - [@&#8203;ExNG](https://github.com/ExNG) - [@&#8203;waterfoul](https://github.com/waterfoul) - [@&#8203;jkroepke](https://github.com/jkroepke) - [@&#8203;andrewsomething](https://github.com/andrewsomething) - [@&#8203;yulng](https://github.com/yulng) - [@&#8203;tobotg](https://github.com/tobotg) - [@&#8203;maumontesilva](https://github.com/maumontesilva) - [@&#8203;avi-08](https://github.com/avi-08) - [@&#8203;vinzent](https://github.com/vinzent) - [@&#8203;TrilokGeer](https://github.com/TrilokGeer) - [@&#8203;g-gaston](https://github.com/g-gaston) - [@&#8203;james-callahan](https://github.com/james-callahan) - [@&#8203;lucacome](https://github.com/lucacome) - [@&#8203;yanggangtony](https://github.com/yanggangtony) - [@&#8203;vidarno](https://github.com/vidarno) - [@&#8203;ctrought](https://github.com/ctrought) - [@&#8203;Robfz](https://github.com/Robfz) - [@&#8203;dsonck92](https://github.com/dsonck92) - [@&#8203;rayandas](https://github.com/rayandas) - [@&#8203;olekfur](https://github.com/olekfur) - [@&#8203;ptrc-n](https://github.com/ptrc-n) - [@&#8203;bradjones1](https://github.com/bradjones1) - [@&#8203;gdvalle](https://github.com/gdvalle) Thanks also to the following cert-manager maintainers for their contributions during this release: - [@&#8203;inteon](https://github.com/inteon) - [@&#8203;wallrj](https://github.com/wallrj) - [@&#8203;maelvls](https://github.com/maelvls) - [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish) - [@&#8203;irbekrm](https://github.com/irbekrm) - [@&#8203;jakexks](https://github.com/jakexks) - [@&#8203;JoshVanL](https://github.com/JoshVanL) - [@&#8203;munnerz](https://github.com/munnerz) Equally thanks to everyone who provided feedback, helped users and raised issues on Github and Slack, joined our meetings and talked to us at Kubecon! Special thanks to [@&#8203;erikgb](https://github.com/erikgb) for continuously great input and feedback and to [@&#8203;lucacome](https://github.com/lucacome) for always ensuring that our kube deps are up to date! Thanks also to the [CNCF](https://www.cncf.io/), 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](https://github.com/cert-manager/aws-privateca-issuer). In addition, massive thanks to [Jetstack](https://www.jetstack.io/) (by [Venafi](https://www.venafi.com/)) for contributing developer time and resources towards the continued maintenance of cert-manager projects. #### Changes by Kind ##### Feature - **POTENTIALLY BREAKING**: the cert-manager binaries and some tests have been split into separate Go modules, allowing them to be easily patched independently. This should have no impact if you simply run cert-manager in your cluster. If you import cert-manager binaries, integration tests or end-to-end tests in Go, you may need to make code changes in response to this. See <https://cert-manager.io/docs/contributing/importing/> for more details. ([#&#8203;5880](https://github.com/cert-manager/cert-manager/pull/5880), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Added support for JSON logging (using --logging-format=json) ([#&#8203;5828](https://github.com/cert-manager/cert-manager/pull/5828), [@&#8203;malovme](https://github.com/malovme)) - Added the `--concurrent-workers` flag that lets you control the number of concurrent workers for each of our controllers. ([#&#8203;5936](https://github.com/cert-manager/cert-manager/pull/5936), [@&#8203;inteon](https://github.com/inteon)) - Adds `acme.solvers.http01.ingress.podTemplate.spec.imagePullSecrets` field to issuer spec to allow to specify image pull secrets for the ACME HTTP01 solver pod. ([#&#8203;5801](https://github.com/cert-manager/cert-manager/pull/5801), [@&#8203;malovme](https://github.com/malovme)) - Cainjector: - New flags were added to the cainjector binary. They can be used to modify what injectable kinds are enabled. If cainjector is only used as a cert-manager's internal component it is sufficient to only enable validatingwebhookconfigurations and mutatingwebhookconfigurations injectable resources; disabling the rest can improve memory consumption. By default all are enabled. - The `--watch-certs` flag was renamed to `--enable-certificates-data-source`. ([#&#8203;5766](https://github.com/cert-manager/cert-manager/pull/5766), [@&#8203;irbekrm](https://github.com/irbekrm)) - Helm: Added PodDisruptionBudgets for cert-manager components to the Helm chart (disabled by default). ([#&#8203;3931](https://github.com/cert-manager/cert-manager/pull/3931), [@&#8203;e96wic](https://github.com/e96wic)) - Helm: Egress 6443/TCP is now allowed in the webhook. This is required for OpenShift and OKD clusters for which the Kubernetes API server listens on port 6443 instead of 443. ([#&#8203;5788](https://github.com/cert-manager/cert-manager/pull/5788), [@&#8203;ExNG](https://github.com/ExNG)) - Helm: you can now add volumes and volume mounts via Helm variables for the cainjector, webhook, and startupapicheck. ([#&#8203;5668](https://github.com/cert-manager/cert-manager/pull/5668), [@&#8203;waterfoul](https://github.com/waterfoul)) - Helm: you can now enable the flags `--dns01-recursive-nameservers`, `--enable-certificate-owner-ref`, and `--dns01-recursive-nameservers-only` through Helm values. ([#&#8203;5614](https://github.com/cert-manager/cert-manager/pull/5614), [@&#8203;jkroepke](https://github.com/jkroepke)) - The DigitalOcean issuer now sets a cert-manager user agent string. ([#&#8203;5869](https://github.com/cert-manager/cert-manager/pull/5869), [@&#8203;andrewsomething](https://github.com/andrewsomething)) - The HTTP-01 solver can now be configured to create Ingresses with an `ingressClassName`. The credit goes to [@&#8203;dsonck92](https://github.com/dsonck92) for implementing the initial PR. ([#&#8203;5849](https://github.com/cert-manager/cert-manager/pull/5849), [@&#8203;maelvls](https://github.com/maelvls)) - The Vault issuer can now be used with ephemeral Kubernetes tokens. With the new `serviceAccountRef` field, cert-manager generates a short-lived token associated to the service account to authenticate to Vault. Along with this new feature, we have added validation logic in the webhook in order to check the `vault.auth` field when creating an Issuer or ClusterIssuer. Previously, it was possible to create an Issuer or ClusterIssuer with an invalid value for `vault.auth`. ([#&#8203;5502](https://github.com/cert-manager/cert-manager/pull/5502), [@&#8203;maelvls](https://github.com/maelvls)) - The cert-manager controller container of the controller Pod now has a `/livez` endpoint and a default liveness probe, which fails if leader election has been lost and for some reason the process has not exited. The liveness probe is disabled by default. ([#&#8203;5962](https://github.com/cert-manager/cert-manager/pull/5962), [@&#8203;wallrj](https://github.com/wallrj)) - Upgraded Gateway API to v0.6.0. ([#&#8203;5768](https://github.com/cert-manager/cert-manager/pull/5768), [@&#8203;yulng](https://github.com/yulng)) - Webhook now logs requests to mutating/validating webhook (with `--v=5` flag) ([#&#8203;5975](https://github.com/cert-manager/cert-manager/pull/5975), [@&#8203;tobotg](https://github.com/tobotg)) ##### Design - Certificate issuances are always failed (and retried with a backoff) for denied or invalid CertificateRequests. This is not necessarily a breaking change as due to a race condition this may already have been the case. ([#&#8203;5887](https://github.com/cert-manager/cert-manager/pull/5887), [@&#8203;irbekrm](https://github.com/irbekrm)) - The cainjector controller can now use server-side apply to patch mutatingwebhookconfigurations, validatingwebhookconfigurations, apiservices, and customresourcedefinitions. This feature is currently in alpha and is not enabled by default. To enable server-side apply for the cainjector, add the flag --feature-gates=ServerSideApply=true to the deployment. ([#&#8203;5991](https://github.com/cert-manager/cert-manager/pull/5991), [@&#8203;inteon](https://github.com/inteon)) ##### Documentation - Helm: the dead links in `values.yaml` are now working ([#&#8203;5999](https://github.com/cert-manager/cert-manager/pull/5999), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ##### Bug or Regression - Cmctl renew now prints an error message unless Certificate name(s) or --all are supplied ([#&#8203;5896](https://github.com/cert-manager/cert-manager/pull/5896), [@&#8203;maumontesilva](https://github.com/maumontesilva)) - Cmctl: In order work around a hardcoded Kubernetes version in Helm, we now use a fake kube-apiserver version when generating the helm template when running `cmctl x install`. ([#&#8203;5720](https://github.com/cert-manager/cert-manager/pull/5720), [@&#8203;irbekrm](https://github.com/irbekrm)) - Fix development environment and go vendoring on Linux arm64. ([#&#8203;5810](https://github.com/cert-manager/cert-manager/pull/5810), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Fix ordering of remote git tags when preparing integration tests ([#&#8203;5910](https://github.com/cert-manager/cert-manager/pull/5910), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Helm: the flag `--acme-http01-solver-image` given to the variable `acmesolver.extraArgs` now has precedence over the variable `acmesolver.image`. ([#&#8203;5693](https://github.com/cert-manager/cert-manager/pull/5693), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Ingress and Gateway resources will not be synced if deleted via [foreground cascading](https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion). ([#&#8203;5878](https://github.com/cert-manager/cert-manager/pull/5878), [@&#8203;avi-08](https://github.com/avi-08)) - The auto-retry mechanism added in VCert 4.23.0 and part of cert-manager 1.11.0 ([#&#8203;5674](https://github.com/cert-manager/cert-manager/issues/5674)) has been found to be faulty. Until this issue is fixed upstream, we now use a patched version of VCert. This patch will slowdown the issuance of certificates by 9% in case of heavy load on TPP. We aim to release at an ulterior date a patch release of cert-manager to fix this slowdown. ([#&#8203;5805](https://github.com/cert-manager/cert-manager/pull/5805), [@&#8203;inteon](https://github.com/inteon)) - Upgrade to go 1.19.6 along with newer helm and containerd versions and updated base images ([#&#8203;5813](https://github.com/cert-manager/cert-manager/pull/5813), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - When using the `jks` and `pkcs12` fields on a Certificate resource with a CA issuer that doesn't set the `ca.crt` in the Secret resource, cert-manager no longer loop trying to copy `ca.crt` into `truststore.jks` or `truststore.p12`. ([#&#8203;5972](https://github.com/cert-manager/cert-manager/pull/5972), [@&#8203;vinzent](https://github.com/vinzent)) - When using the `literalSubject` field on a Certificate resource, the IPs, URIs, DNS names, and email addresses segments are now properly compared. ([#&#8203;5747](https://github.com/cert-manager/cert-manager/pull/5747), [@&#8203;inteon](https://github.com/inteon)) ##### Other (Cleanup or Flake) - ACME account registration is now re-verified if account key is manually changed. ([#&#8203;5949](https://github.com/cert-manager/cert-manager/pull/5949), [@&#8203;TrilokGeer](https://github.com/TrilokGeer)) - Add `make go-workspace` target for generating a go.work file for local development ([#&#8203;5935](https://github.com/cert-manager/cert-manager/pull/5935), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Added a Makefile target to build a standalone E2E test binary: make e2e-build ([#&#8203;5804](https://github.com/cert-manager/cert-manager/pull/5804), [@&#8203;wallrj](https://github.com/wallrj)) - Bump keystore-go to v4.4.1 to work around an upstream rewrite of history ([#&#8203;5724](https://github.com/cert-manager/cert-manager/pull/5724), [@&#8203;g-gaston](https://github.com/g-gaston)) - Bump the distroless base images ([#&#8203;5929](https://github.com/cert-manager/cert-manager/pull/5929), [@&#8203;maelvls](https://github.com/maelvls)) - Bumps base images ([#&#8203;5793](https://github.com/cert-manager/cert-manager/pull/5793), [@&#8203;irbekrm](https://github.com/irbekrm)) - Cainjector memory improvements: removes second cache of secrets, CRDs, validating/mutatingwebhookconfigurations and APIServices that should reduce memory consumption by about half. \*\*BREAKING:\*- users who are relying on cainjector to work when `certificates.cert-manager.io` CRD is not installed in the cluster, now need to pass `--watch-certificates=false` flag to cainjector else it will not start. Users who only use cainjector as cert-manager's internal component and have a large number of `Certificate` resources in cluster can pass `--watch-certificates=false` to avoid cainjector from caching `Certificate` resources and save some memory. ([#&#8203;5746](https://github.com/cert-manager/cert-manager/pull/5746), [@&#8203;irbekrm](https://github.com/irbekrm)) - Cainjector now only reconciles annotated objects of injectable kind. ([#&#8203;5764](https://github.com/cert-manager/cert-manager/pull/5764), [@&#8203;irbekrm](https://github.com/irbekrm)) - Container images are have an OCI source label ([#&#8203;5722](https://github.com/cert-manager/cert-manager/pull/5722), [@&#8203;james-callahan](https://github.com/james-callahan)) - Enable cmctl to be imported by third parties ([#&#8203;6050](https://github.com/cert-manager/cert-manager/pull/6050), [@&#8203;jetstack-bot](https://github.com/jetstack-bot)) - The acmesolver pods created by cert-manager now have `automountServiceAccountToken` turned off. ([#&#8203;5754](https://github.com/cert-manager/cert-manager/pull/5754), [@&#8203;wallrj](https://github.com/wallrj)) - The controller binary now uses much less memory on Kubernetes clusters with large or numerous Secret resources. The controller now ignores the contents of Secrets that aren't relevant to cert-manager. This functionality is currently placed behind `SecretsFilteredCaching` feature flag. The filtering mechanism might, in some cases, slightly slow down issuance or cause additional requests to kube-apiserver because unlabelled Secret resources that cert-manager controller needs will now be retrieved from kube-apiserver instead of being cached locally. To prevent this from happening, users can label all issuer Secret resources with the `controller.cert-manager.io/fao: true` label. ([#&#8203;5824](https://github.com/cert-manager/cert-manager/pull/5824), [@&#8203;irbekrm](https://github.com/irbekrm)) - The controller memory usage has been further decreased by ignoring annotations, labels and managed fields when caching Secret resources. ([#&#8203;5966](https://github.com/cert-manager/cert-manager/pull/5966), [@&#8203;irbekrm](https://github.com/irbekrm)) - The controller now makes fewer calls to the ACME server. **POTENTIALLY BREAKING**: this PR slightly changes how the name of the Challenge resources are calculated. To avoid duplicate issuances due to the Challenge resource being recreated, ensure that there is no in-progress ACME certificate issuance when you upgrade to this version of cert-manager. ([#&#8203;5901](https://github.com/cert-manager/cert-manager/pull/5901), [@&#8203;irbekrm](https://github.com/irbekrm)) - The memory usage of the controller has been reduced by only caching the metadata of Pods and Services. ([#&#8203;5976](https://github.com/cert-manager/cert-manager/pull/5976), [@&#8203;irbekrm](https://github.com/irbekrm)) - The number of calls made to the ACME server during the controller startup has been reduced by storing the private key hash in the Issuer's status. ([#&#8203;6006](https://github.com/cert-manager/cert-manager/pull/6006), [@&#8203;vidarno](https://github.com/vidarno)) - Updates Kubernetes libraries to `v0.26.2`. ([#&#8203;5820](https://github.com/cert-manager/cert-manager/pull/5820), [@&#8203;lucacome](https://github.com/lucacome)) - Updates Kubernetes libraries to `v0.26.3`. ([#&#8203;5907](https://github.com/cert-manager/cert-manager/pull/5907), [@&#8203;lucacome](https://github.com/lucacome)) - Updates Kubernetes libraries to `v0.27.1`. ([#&#8203;5961](https://github.com/cert-manager/cert-manager/pull/5961), [@&#8203;lucacome](https://github.com/lucacome)) - Updates base images ([#&#8203;5832](https://github.com/cert-manager/cert-manager/pull/5832), [@&#8203;irbekrm](https://github.com/irbekrm)) - Upgrade to Go 1.20 ([#&#8203;5969](https://github.com/cert-manager/cert-manager/pull/5969), [@&#8203;wallrj](https://github.com/wallrj)) - Upgrade to go 1.19.5 ([#&#8203;5712](https://github.com/cert-manager/cert-manager/pull/5712), [@&#8203;yanggangtony](https://github.com/yanggangtony)) - Validates that `certificate.spec.secretName` is a valid `Secret` name ([#&#8203;5967](https://github.com/cert-manager/cert-manager/pull/5967), [@&#8203;avi-08](https://github.com/avi-08)) - We are now testing with Kubernetes v1.27.1 by default. ([#&#8203;5979](https://github.com/cert-manager/cert-manager/pull/5979), [@&#8203;irbekrm](https://github.com/irbekrm)) - `certificate.spec.secretName` Secrets will now be labelled with `controller.cert-manager.io/fao` label ([#&#8203;5660](https://github.com/cert-manager/cert-manager/pull/5660), [@&#8203;irbekrm](https://github.com/irbekrm)) ##### Uncategorized - We have replaced our python boilerplate checker with an installed Go version, removing the need to have Python installed when developing or building cert-manager. ([#&#8203;6000](https://github.com/cert-manager/cert-manager/pull/6000), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ### [`v1.11.5`](https://github.com/cert-manager/cert-manager/releases/tag/v1.11.5) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.11.4...v1.11.5) v1.11.5 contains an important security fix that addresses [CVE-2023-29409](https://cve.report/CVE-2023-29409). #### Changes since v1.11.4 - Use Go 1.19.9 to fix a security issue in Go's `crypto/tls` library. ([#&#8203;6317](https://github.com/cert-manager/cert-manager/issues/6317), [@&#8203;maelvls](https://github.com/maelvls)) ### [`v1.11.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.11.4) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.11.3...v1.11.4) 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) - Resolved docker/docker trivy CVE alert ([#&#8203;6164](https://github.com/cert-manager/cert-manager/issues/6164), [@&#8203;inteon](https://github.com/inteon)) - Upgraded base images ([#&#8203;6128](https://github.com/cert-manager/cert-manager/issues/6128), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) #### Dependencies ##### Changed - github.com/docker/distribution: [v2.8.1+incompatible → v2.8.2+incompatible](https://github.com/docker/distribution/compare/v2.8.1...v2.8.2) ### [`v1.11.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.11.3) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.11.2...v1.11.3) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. v1.11.3 mostly contains ACME library changes. API Priority and Fairness feature is now disabled in the external webhook's extension apiserver. #### Changes by Kind ##### Other (Cleanup or Flake) - API Priority and Fairness controller is now disabled in extension apiserver for DNS webhook implementation. ([#&#8203;6092](https://github.com/cert-manager/cert-manager/pull/6092), [@&#8203;irbekrm](https://github.com/irbekrm)) - Adds a warning for folks to not use controller feature gates helm value to configure webhook feature gates ([#&#8203;6101](https://github.com/cert-manager/cert-manager/pull/6101), [@&#8203;irbekrm](https://github.com/irbekrm)) ### [`v1.11.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.11.2) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.11.1...v1.11.2) ### Changelog since v1.11.1 #### Changes by Kind ##### Bug or Regression - Build with go 1.19.9 ([#&#8203;6014](https://github.com/cert-manager/cert-manager/pull/6014), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ##### Other (Cleanup or Flake) - Bump the distroless base images ([#&#8203;5930](https://github.com/cert-manager/cert-manager/pull/5930), [@&#8203;maelvls](https://github.com/maelvls)) - Bumps Docker libraries to fix vulnerability scan alert for CVE-2023-28840, CVE-2023-28841, CVE-2023-28842 ([#&#8203;6037](https://github.com/cert-manager/cert-manager/pull/6037), [@&#8203;irbekrm](https://github.com/irbekrm)) Cert-manager was not actually affected by these CVEs which are all to do with Docker daemon's overlay network. - Bumps Kube libraries v0.26.0 -> v0.26.4 ([#&#8203;6038](https://github.com/cert-manager/cert-manager/pull/6038), [@&#8203;irbekrm](https://github.com/irbekrm)) This might help with running cert-manager v1.11 on Kubernetes v1.27, see [#&#8203;6038](https://github.com/cert-manager/cert-manager/pull/6038) ### [`v1.11.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.11.1) [Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.11.0...v1.11.1) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. In v1.11.1, we updated the base images used for cert-manager containers. In addition, the users of the Venafi issuer will see less certificates repeatedly failing. If you are a user of Venafi TPP and have been having issues with the error message `This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry`, please use this version. #### Changes since v1.11.0 ##### Bug or Regression - Bump helm and other dependencies to fix CVEs, along with upgrading go and base images ([#&#8203;5815](https://github.com/cert-manager/cert-manager/issues/5815), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) - Bump the distroless base images ([#&#8203;5930](https://github.com/cert-manager/cert-manager/issues/5930), [@&#8203;maelvls](https://github.com/maelvls)) - The auto-retry mechanism added in VCert 4.23.0 and part of cert-manager 1.11.0 ([#&#8203;5674](https://github.com/cert-manager/cert-manager/issues/5674)) has been found to be faulty. Until this issue is fixed upstream, we now use a patched version of VCert. This patch will slowdown the issuance of certificates by 9% in case of heavy load on TPP. We aim to release at an ulterior date a patch release of cert-manager to fix this slowdown. ([#&#8203;5819](https://github.com/cert-manager/cert-manager/issues/5819), [@&#8203;maelvls](https://github.com/maelvls)) - Use a fake-kube apiserver version when generating helm template in `cmctl x install`, to work around a hardcoded Kubernetes version in Helm. ([#&#8203;5726](https://github.com/cert-manager/cert-manager/issues/5726), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) ##### Other (Cleanup or Flake) - Bump keystore-go to v4.4.1 to work around an upstream rewrite of history ([#&#8203;5730](https://github.com/cert-manager/cert-manager/issues/5730), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42Ny4wIiwidXBkYXRlZEluVmVyIjoiNDIuNjcuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
renovate added 1 commit 2025-12-30 11:54:44 +00:00
AverageMarcus merged commit c470901b1a into master 2025-12-30 12:49:01 +00:00
AverageMarcus deleted branch renovate/cert-manager-1.x 2025-12-30 12:49:01 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: AverageMarcus/cluster.fun#621