Skip to content

feat: API defaults for IssuerRef - #7414

Merged
cert-manager-prow[bot] merged 1 commit into
cert-manager:masterfrom
erikgb:issuer-ref-defaults
Aug 2, 2025
Merged

cert-manager-prow[bot] merged 1 commit into
cert-manager:masterfrom
erikgb:issuer-ref-defaults

Conversation

@erikgb

@erikgb erikgb commented Nov 9, 2024 •

Copy link
Copy Markdown
Member

Pull Request Motivation

This PR will add the first API defaults to cert-manager APIs. I have personally been motivated to suggest this multiple times, as I think the cert-manager defaults are too "hidden". At least not evident for consumers of cert-manager Go API. PR was triggered by cert-manager/approver-policy#523 (comment).

Since the fields we are adding API defaults belong to a struct with a very "general" name (ObjectReference), I suggest renaming the struct as part of this PR. After discussing this change in our bi-weekly development meeting, I have attempted to make this change non-breaking in the Go API by aliasing the struct type to its current name. I am not sure this will be 100% non-breaking, but I think so. UPDATE: This change will be non-breaking. For now, I have kept the cert-manager use of the deprecated ObjectReference, and it compiles.

Kind

/kind feature

Release Note

Added API defaults to issuer references group (cert-manager.io) and kind (Issuer).

@cert-manager-prow

Copy link
Copy Markdown
Contributor

@erikgb: The label(s) kind/release, kind/note cannot be applied, because the repository doesn't have them.

Details

In response to this:

Pull Request Motivation

POC/WIP PR will be used as input for a discussion about eventually adding API defaults to cert-manager APIs. I have personally been motivated to suggest this multiple times, as I think the cert-manager defaults are too "hidden". At least not evident for consumers of cert-manager Go API. PR was triggered by cert-manager/approver-policy#523 (comment).

Kind

/kind

Release Note

NONE

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@cert-manager-prow cert-manager-prow Bot added release-note-none Denotes a PR that doesn't merit a release note. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. labels Nov 9, 2024
@cert-manager-prow

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@cert-manager-prow cert-manager-prow Bot added dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. area/api Indicates a PR directly modifies the 'pkg/apis' directory area/deploy Indicates a PR modifies deployment configuration needs-kind Indicates a PR lacks a `kind/foo` label and requires one. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Nov 9, 2024
@cert-manager-bot

Copy link
Copy Markdown
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
/lifecycle stale

@cert-manager-prow cert-manager-prow Bot added lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Jul 12, 2025
@erikgb
erikgb force-pushed the issuer-ref-defaults branch from 9cbc13b to c92b316 Compare July 20, 2025 15:09
@cert-manager-prow cert-manager-prow Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 20, 2025
@erikgb

erikgb commented Jul 20, 2025

Copy link
Copy Markdown
Member Author

/test all

@erikgb
erikgb force-pushed the issuer-ref-defaults branch from c92b316 to d3da561 Compare July 20, 2025 16:00
@cert-manager-prow cert-manager-prow Bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jul 20, 2025
@erikgb

erikgb commented Jul 20, 2025

Copy link
Copy Markdown
Member Author

/test all

@cert-manager-prow

cert-manager-prow Bot commented Jul 20, 2025 •

Copy link
Copy Markdown
Contributor

@erikgb: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-cert-manager-master-e2e-v1-32-upgrade 49b6cd0 link true /test pull-cert-manager-master-e2e-v1-32-upgrade
pull-cert-manager-master-e2e-v1-32 49b6cd0 link true /test pull-cert-manager-master-e2e-v1-32

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@cert-manager-prow cert-manager-prow Bot added area/acme Indicates a PR directly modifies the ACME Issuer code area/acme/dns01 Indicates a PR modifies ACME DNS01 provider code area/monitoring Indicates a PR or issue relates to monitoring area/testing Issues relating to testing size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jul 20, 2025
@erikgb
erikgb force-pushed the issuer-ref-defaults branch from a75d547 to 7c6caff Compare July 20, 2025 16:45
@cert-manager-prow cert-manager-prow Bot removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. labels Jul 30, 2025
@erikgb erikgb changed the title WIP: feat: API defaults for IssuerRef feat: API defaults for IssuerRef Jul 30, 2025
@cert-manager-prow cert-manager-prow Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 30, 2025
@erikgb
erikgb requested review from ThatsMrTalbot, bashlion and wallrj and removed request for bashlion July 30, 2025 19:15
Comment thread internal/apis/meta/types.go Outdated
Comment thread pkg/api/util/issuers.go Outdated
@inteon

inteon commented Jul 31, 2025

Copy link
Copy Markdown
Member

/approve

@cert-manager-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bashlion, inteon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@cert-manager-prow cert-manager-prow Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 31, 2025
Signed-off-by: Erik Godding Boye <egboye@gmail.com>
@erikgb
erikgb force-pushed the issuer-ref-defaults branch from 678dab2 to 236523b Compare July 31, 2025 16:36
@inteon

inteon commented Aug 2, 2025

Copy link
Copy Markdown
Member

/lgtm

@cert-manager-prow cert-manager-prow Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 2, 2025
@cert-manager-prow
cert-manager-prow Bot merged commit cbd6df2 into cert-manager:master Aug 2, 2025
alexlebens pushed a commit to alexlebens/infrastructure that referenced this pull request Oct 8, 2025
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cert-manager](https://cert-manager.io) ([source](https://github.com/cert-manager/cert-manager)) | minor | `v1.18.2` -> `v1.19.0` |

---

### Release Notes

<details>
<summary>cert-manager/cert-manager (cert-manager)</summary>

### [`v1.19.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.0)

[Compare Source](cert-manager/cert-manager@v1.18.2...v1.19.0)

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

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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7866), [@&#8203;erikgb](https://github.com/erikgb))
- Added API defaults to issuer references group (cert-manager.io) and kind (Issuer). ([#&#8203;7414](cert-manager/cert-manager#7414), [@&#8203;erikgb](https://github.com/erikgb))
- Added `certmanager_certificate_challenge_status` Prometheus metric. ([#&#8203;7736](cert-manager/cert-manager#7736), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added `protocol` field for `rfc2136` DNS01 provider ([#&#8203;7881](cert-manager/cert-manager#7881), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added experimental field `hostUsers` flag to all pods. Not set by default. ([#&#8203;7973](cert-manager/cert-manager#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](cert-manager/cert-manager#7972), [@&#8203;lunarwhite](https://github.com/lunarwhite))
- The `CAInjectorMerging` feature has been promoted to BETA and is now enabled by default ([#&#8203;8017](cert-manager/cert-manager#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](cert-manager/cert-manager#8072), [@&#8203;prasad89](https://github.com/prasad89))
- Updated `certificate` metrics to the collector approach. ([#&#8203;7856](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7961), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Reverted adding the `global.rbac.disableHTTPChallengesRole` Helm option. ([#&#8203;7836](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7792), [@&#8203;wallrj](https://github.com/wallrj))

#### Other (Cleanup or Flake)

- Helm: Fix naming template of `tokenrequest` RoleBinding resource to improve consistency ([#&#8203;7761](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#8003), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Update kind images to include the Kubernetes 1.33 node image ([#&#8203;7786](cert-manager/cert-manager#7786), [@&#8203;wallrj](https://github.com/wallrj))
- Use `maps.Copy` for cleaner map handling ([#&#8203;8092](cert-manager/cert-manager#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](cert-manager/cert-manager#8059), [@&#8203;armagankaratosun](https://github.com/armagankaratosun))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzUuNCIsInVwZGF0ZWRJblZlciI6IjQxLjEzNS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJjaGFydCJdfQ==-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/1711
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
type: string
kind:
description: Kind of the resource being referred to.
default: Issuer

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@erikgb turns out that this is a breaking changing, the Issuer value is only the default for the cert-manager.io group, other groups might have other default kinds.

@erikgb erikgb Oct 9, 2025 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@inteon, but how is this kind default actually applied for other groups? Do you have any references to how this broke someone?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is applied in-code (same as how cert-manager was doing this before).
This PR is failing because of this: cert-manager/issuer-lib#337

@inteon inteon Oct 9, 2025 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issuerRef:
  name: test-issuer
  group: example.com

now defaults to

issuerRef:
  name: test-issuer
  kind: Issuer
  group: example.com

instead of

issuerRef:
  name: test-issuer
  kind: ExampleIssuer
  group: example.com

type: string
kind:
description: Kind of the resource being referred to.
default: Issuer

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wallrj-cyberark

Copy link
Copy Markdown
Member

schwarlex pushed a commit to la-demos/vcluster-workshop-prep that referenced this pull request Feb 11, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cert-manager](https://cert-manager.io) ([source](https://github.com/cert-manager/cert-manager)) | minor | `v1.18.2` -> `v1.19.1` |

---

### Release Notes

<details>
<summary>cert-manager/cert-manager (cert-manager)</summary>

### [`v1.19.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.1)

[Compare Source](cert-manager/cert-manager@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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager@v1.18.3...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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7866), [@&#8203;erikgb](https://github.com/erikgb))
- Added API defaults to issuer references group (cert-manager.io) and kind (Issuer). ([#&#8203;7414](cert-manager/cert-manager#7414), [@&#8203;erikgb](https://github.com/erikgb))
- Added `certmanager_certificate_challenge_status` Prometheus metric. ([#&#8203;7736](cert-manager/cert-manager#7736), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added `protocol` field for `rfc2136` DNS01 provider ([#&#8203;7881](cert-manager/cert-manager#7881), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added experimental field `hostUsers` flag to all pods. Not set by default. ([#&#8203;7973](cert-manager/cert-manager#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](cert-manager/cert-manager#7972), [@&#8203;lunarwhite](https://github.com/lunarwhite))
- The `CAInjectorMerging` feature has been promoted to BETA and is now enabled by default ([#&#8203;8017](cert-manager/cert-manager#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](cert-manager/cert-manager#8072), [@&#8203;prasad89](https://github.com/prasad89))
- Updated `certificate` metrics to the collector approach. ([#&#8203;7856](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7961), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Reverted adding the `global.rbac.disableHTTPChallengesRole` Helm option. ([#&#8203;7836](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7792), [@&#8203;wallrj](https://github.com/wallrj))

#### Other (Cleanup or Flake)

- Helm: Fix naming template of `tokenrequest` RoleBinding resource to improve consistency ([#&#8203;7761](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#8003), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Update kind images to include the Kubernetes 1.33 node image ([#&#8203;7786](cert-manager/cert-manager#7786), [@&#8203;wallrj](https://github.com/wallrj))
- Use `maps.Copy` for cleaner map handling ([#&#8203;8092](cert-manager/cert-manager#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](cert-manager/cert-manager#8059), [@&#8203;armagankaratosun](https://github.com/armagankaratosun))

### [`v1.18.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.3)

[Compare Source](cert-manager/cert-manager@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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7964), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Upgrades Go to v1.24.6 ([#&#8203;7974](cert-manager/cert-manager#7974), [@&#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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDAuMiIsInVwZGF0ZWRJblZlciI6IjQxLjE1MS4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://kubara.git.onstackit.cloud/STACKIT/kubara/pulls/128
hoodnoah pushed a commit to hoodnoah/certmanager-porkbun-webhook that referenced this pull request Jun 10, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/cert-manager/cert-manager](https://github.com/cert-manager/cert-manager) | `v1.17.1` → `v1.20.2` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcert-manager%2fcert-manager/v1.20.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcert-manager%2fcert-manager/v1.17.1/v1.20.2?slim=true) |

---

### Release Notes

<details>
<summary>cert-manager/cert-manager (github.com/cert-manager/cert-manager)</summary>

### [`v1.20.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.20.2)

[Compare Source](cert-manager/cert-manager@v1.20.1...v1.20.2)

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

v1.20.2 fixes invalid YAML generated in the Helm chart when both `webhook.config`
and `webhook.volumes` are defined, and bumps Go to 1.26.2 along with dependencies
to address reported vulnerabilities.

#### Changes by Kind

##### Bug or Regression

- Helm: Fix invalid YAML generated when both `webhook.config` and `webhook.volumes` are defined. ([#&#8203;8665](cert-manager/cert-manager#8665), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))

##### Other (Cleanup or Flake)

- Bump go dependencies with reported vulnerabilities ([#&#8203;8704](cert-manager/cert-manager#8704), [@&#8203;erikgb](https://github.com/erikgb))
- Bump go to 1.26.2 ([#&#8203;8703](cert-manager/cert-manager#8703), [@&#8203;erikgb](https://github.com/erikgb))

### [`v1.20.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.20.1)

[Compare Source](cert-manager/cert-manager@v1.20.0...v1.20.1)

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

v1.20.1 fixes an issue for OpenShift users that has to do with the finalizer RBAC, bumps gRPC to address a reported non-affecting vulnerability, and fixes a duplicate `parentRef` bug when both issuer config and annotations are present (Gateway API).

##### Bug or Regression

- Fixed duplicate `parentRef` bug when both issuer config and annotations are present. ([#&#8203;8658](cert-manager/cert-manager#8658), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Add missing issuer finalizer RBAC to the order controller to support owner references. This was preventing OpenShift users from being able to upgrade to v1.20.0. ([#&#8203;8655](cert-manager/cert-manager#8655), [@&#8203;erikgb](https://github.com/erikgb))
- Bump google.golang.org/grpc to fix vulnerability reported by scanners. This isn't a vulnerability that affects cert-manager, but we are bumping it because it is reported by scanners. ([#&#8203;8657](cert-manager/cert-manager#8657), [@&#8203;erikgb](https://github.com/erikgb))

### [`v1.20.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.20.0)

[Compare Source](cert-manager/cert-manager@v1.19.5...v1.20.0)

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

v1.20.0 adds alpha support for the new ListenerSet resource, adds support for Azure Private DNS; parentRefs are no longer required when using ACME with Gateway API, and OtherNames was promoted to Beta.

#### Changes by Kind

##### Feature

- Added a set of flags to permit setting NetworkPolicy across all deployed containers. Remove redundant global IP ranges from example policies. ([#&#8203;8370](cert-manager/cert-manager#8370), [@&#8203;jcpunk](https://github.com/jcpunk))
- Added selectable fields to custom resource definitions for .spec.issuerRef.{group, kind, name} ([#&#8203;8256](cert-manager/cert-manager#8256), [@&#8203;tareksha](https://github.com/tareksha))
- Added support for specifying `imagePullSecrets` in the `startupapicheck-job` Helm template to enable pulling images from private registries. ([#&#8203;8186](cert-manager/cert-manager#8186), [@&#8203;mathieu-clnk](https://github.com/mathieu-clnk))
- Added 'extraContainers' helm chart value, allowing the deployment of arbitrary sidecar containers within the cert-manager operator pod. This can be used to support, for e.g., AWS IAM Roles Anywhere for Route53 DNS01 verification. ([#&#8203;8355](cert-manager/cert-manager#8355), [@&#8203;dancmeyers](https://github.com/dancmeyers))
- Added `parentRef` override annotations on the Certificate resource. ([#&#8203;8518](cert-manager/cert-manager#8518), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added support for azure private zones for dns01 issuer. ([#&#8203;8494](cert-manager/cert-manager#8494), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added support for configuring PEM decoding size limits, allowing operators to handle larger certificates and keys. ([#&#8203;7642](cert-manager/cert-manager#7642), [@&#8203;robertlestak](https://github.com/robertlestak))
- Added support for unhealthyPodEvictionPolicy in PodDisruptionBudget ([#&#8203;7728](cert-manager/cert-manager#7728), [@&#8203;jcpunk](https://github.com/jcpunk))
- For Venafi provider, read `venafi.cert-manager.io/custom-fields` annotation on Issuer/ClusterIssuer and use it as base with override/append capabilities on Certificate level. ([#&#8203;8301](cert-manager/cert-manager#8301), [@&#8203;k0da](https://github.com/k0da))
- Improve error message when CA issuers are misconfigured to use a clashing secret name ([#&#8203;8374](cert-manager/cert-manager#8374), [@&#8203;majiayu000](https://github.com/majiayu000))
- Introduce a new Ingress annotation `acme.cert-manager.io/http01-ingress-ingressclassname` to override `http01.ingress.ingressClassName` field in HTTP-01 challenge solvers. ([#&#8203;8244](cert-manager/cert-manager#8244), [@&#8203;lunarwhite](https://github.com/lunarwhite))
- Update `global.nodeSelector` to helm chart to perform a `merge` and allow for a single `nodeSelector` to be set across all services. ([#&#8203;8195](cert-manager/cert-manager#8195), [@&#8203;StingRayZA](https://github.com/StingRayZA))
- Vault issuers will now include the Vault server address as one of the default audiences on generated service account tokens. ([#&#8203;8228](cert-manager/cert-manager#8228), [@&#8203;terinjokes](https://github.com/terinjokes))
- Added experimental `XListenerSets` feature gate ([#&#8203;8394](cert-manager/cert-manager#8394), [@&#8203;hjoshi123](https://github.com/hjoshi123))

##### Documentation

- Add GWAPI documentation to NOTES.TXT in helm chart ([#&#8203;8353](cert-manager/cert-manager#8353), [@&#8203;jaxels10](https://github.com/jaxels10))

##### Bug or Regression

- Adds logs for cases when acme server returns us a fatal error in the order controller ([#&#8203;8199](cert-manager/cert-manager#8199), [@&#8203;Peac36](https://github.com/Peac36))
- Fixed an issue where kind or group in the issuerRef of a Certificate was omitted, upgrading to 1.19.x incorrectly caused the certificate to be renewed ([#&#8203;8160](cert-manager/cert-manager#8160), [@&#8203;inteon](https://github.com/inteon))
- Changes to the Duration and RenewBefore annotations on ingress and gateway-api resources will now trigger certificate updates. ([#&#8203;8232](cert-manager/cert-manager#8232), [@&#8203;eleanor-merry](https://github.com/eleanor-merry))
- Fix an issue where ACME challenge TXT records are not cleaned up when there are many resource records in CloudDNS. ([#&#8203;8456](cert-manager/cert-manager#8456), [@&#8203;tkna](https://github.com/tkna))
- Fix unregulated retries with the DigitalOcean DNS-01 solver
  Add full detailed DNS-01 errors to the events attached to the Challenge, for easier debugging ([#&#8203;8221](cert-manager/cert-manager#8221), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- Fixed an infinite re-issuance loop that could occur when an issuer returns a certificate with a public key that doesn't match the CSR. The issuing controller now validates the certificate before storing it and fails with backoff on mismatch. ([#&#8203;8403](cert-manager/cert-manager#8403), [@&#8203;calm329](https://github.com/calm329))
- Fixed an issue where HTTP-01 challenges failed when the Host header contains an IPv6 address. This means that users can now issue IP address certificates for IPv6 address subjects. ([#&#8203;8424](cert-manager/cert-manager#8424), [@&#8203;SlashNephy](https://github.com/SlashNephy))
- Fixed the HTTP-01 Gateway solver creating invalid HTTPRoutes by not setting spec.hostnames when the challenge DNSName is an IP address. ([#&#8203;8443](cert-manager/cert-manager#8443), [@&#8203;alviss7](https://github.com/alviss7))
- Revert API defaults for issuer reference kind and group introduced in 0.19.0 ([#&#8203;8173](cert-manager/cert-manager#8173), [@&#8203;erikgb](https://github.com/erikgb))
- Security (MODERATE): Fix a potential panic in the cert-manager controller when a DNS response in an unexpected order was cached. If an attacker was able to modify DNS responses (or if they controlled the DNS server) it was possible to cause denial of service for the cert-manager controller. ([#&#8203;8469](cert-manager/cert-manager#8469), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Update Go to `v1.25.5` to fix `CVE-2025-61727` and `CVE-2025-61729` ([#&#8203;8290](cert-manager/cert-manager#8290), [@&#8203;octo-sts](https://github.com/octo-sts)\[bot])
- When Prometheus monitoring is enabled, the metrics label is now set to the intended value of `cert-manager`. Previously, it was set depending on various factors (namespace cert-manager is installed in and/or Helm release name). ([#&#8203;8162](cert-manager/cert-manager#8162), [@&#8203;LiquidPL](https://github.com/LiquidPL))

##### Other (Cleanup or Flake)

- Promoted the OtherNames feature to Beta and enabled it by default ([#&#8203;8288](cert-manager/cert-manager#8288), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- Promoting `XListenerSets` feature gate to `ListenerSets` ([#&#8203;8501](cert-manager/cert-manager#8501), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Rebranding of the Venafi Issuer to CyberArk ([#&#8203;8215](cert-manager/cert-manager#8215), [@&#8203;iossifbenbassat123](https://github.com/iossifbenbassat123))
- Switched to SSA for challenge finalizer updates ([#&#8203;8519](cert-manager/cert-manager#8519), [@&#8203;inteon](https://github.com/inteon))
- The default container user (UID) is now 65532 (previously 1000) and the default container group (GID) is now 65532 (previously 0) ([#&#8203;8408](cert-manager/cert-manager#8408), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- The feature-gate DefaultPrivateKeyRotationPolicyAlways moved from Beta to GA and can no longer be disabled. ([#&#8203;8287](cert-manager/cert-manager#8287), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- Update cert-manager's ACME client, forked from golang/x/crypto ([#&#8203;8268](cert-manager/cert-manager#8268), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Use the latest version of Kyverno (1.16.2) in the best-practice installation tests ([#&#8203;8389](cert-manager/cert-manager#8389), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- We stopped testing with Coutour due to it not supporting the new XListenerSet resource, and moved to kgateway. ([#&#8203;8426](cert-manager/cert-manager#8426), [@&#8203;hjoshi123](https://github.com/hjoshi123))

### [`v1.19.5`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.5)

[Compare Source](cert-manager/cert-manager@v1.19.4...v1.19.5)

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

This is a simple patch release to fix some reported vulnerabilities. All users are recommended to upgrade.

#### Changes by Kind

##### Other (Cleanup or Flake)

- Bump go dependencies with reported vulnerabilities ([#&#8203;8706](cert-manager/cert-manager#8706), [@&#8203;erikgb](https://github.com/erikgb))
- Bump go to 1.25.8 to address several reported vulnerabilities ([#&#8203;8628](cert-manager/cert-manager#8628), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Bump go to 1.25.9 ([#&#8203;8705](cert-manager/cert-manager#8705), [@&#8203;erikgb](https://github.com/erikgb))

### [`v1.19.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.4)

[Compare Source](cert-manager/cert-manager@v1.19.3...v1.19.4)

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

v1.19.4 is a simple patch release to fix some reported vulnerabilities - notably CVE-2026-24051 and CVE-2025-68121. All users should upgrade.

#### Changes by Kind

##### Bug or Regression

- Bump go to address CVE-2025-68121 ([#&#8203;8526](cert-manager/cert-manager#8526), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Bump otel SDK to address GO-2026-4394 ([#&#8203;8531](cert-manager/cert-manager#8531), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.19.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.3)

[Compare Source](cert-manager/cert-manager@v1.19.2...v1.19.3)

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

This release contains three bug fixes, including a fix for the MODERATE severity DoS issue in GHSA-gx3x-vq4p-mhhv. All users should upgrade to the latest release.

#### Changes by Kind

##### Bug or Regression

- Fixed an infinite re-issuance loop that could occur when an issuer returns a certificate with a public key that doesn't match the CSR. The issuing controller now validates the certificate before storing it and fails with backoff on mismatch. ([#&#8203;8415](cert-manager/cert-manager#8415), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Fixed an issue where HTTP-01 challenges failed when the Host header contained an IPv6 address. This means that users can now issue IP address certificates for IPv6 address subjects. ([#&#8203;8436](cert-manager/cert-manager#8436), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Security (MODERATE): Fix a potential panic in the cert-manager controller when a DNS response in an unexpected order was cached. If an attacker was able to modify DNS responses (or if they controlled the DNS server) it was possible to cause denial of service for the cert-manager controller. ([#&#8203;8468](cert-manager/cert-manager#8468), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

##### Other (Cleanup or Flake)

- Bump go to 1.25.6 ([#&#8203;8459](cert-manager/cert-manager#8459), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.19.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.2)

[Compare Source](cert-manager/cert-manager@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](cert-manager/cert-manager#8283), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Update Go to `v1.25.5` to fix `CVE-2025-61727` and `CVE-2025-61729` ([#&#8203;8294](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#8270), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Updated Debian 12 distroless base images ([#&#8203;8326](cert-manager/cert-manager#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](cert-manager/cert-manager@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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager@v1.18.6...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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7866), [@&#8203;erikgb](https://github.com/erikgb))
- Added API defaults to issuer references group (cert-manager.io) and kind (Issuer). ([#&#8203;7414](cert-manager/cert-manager#7414), [@&#8203;erikgb](https://github.com/erikgb))
- Added `certmanager_certificate_challenge_status` Prometheus metric. ([#&#8203;7736](cert-manager/cert-manager#7736), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added `protocol` field for `rfc2136` DNS01 provider ([#&#8203;7881](cert-manager/cert-manager#7881), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added experimental field `hostUsers` flag to all pods. Not set by default. ([#&#8203;7973](cert-manager/cert-manager#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](cert-manager/cert-manager#7972), [@&#8203;lunarwhite](https://github.com/lunarwhite))
- The `CAInjectorMerging` feature has been promoted to BETA and is now enabled by default ([#&#8203;8017](cert-manager/cert-manager#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](cert-manager/cert-manager#8072), [@&#8203;prasad89](https://github.com/prasad89))
- Updated `certificate` metrics to the collector approach. ([#&#8203;7856](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7961), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Reverted adding the `global.rbac.disableHTTPChallengesRole` Helm option. ([#&#8203;7836](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7792), [@&#8203;wallrj](https://github.com/wallrj))

#### Other (Cleanup or Flake)

- Helm: Fix naming template of `tokenrequest` RoleBinding resource to improve consistency ([#&#8203;7761](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#8003), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Update kind images to include the Kubernetes 1.33 node image ([#&#8203;7786](cert-manager/cert-manager#7786), [@&#8203;wallrj](https://github.com/wallrj))
- Use `maps.Copy` for cleaner map handling ([#&#8203;8092](cert-manager/cert-manager#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](cert-manager/cert-manager#8059), [@&#8203;armagankaratosun](https://github.com/armagankaratosun))

### [`v1.18.6`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.6)

[Compare Source](cert-manager/cert-manager@v1.18.5...v1.18.6)

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

v1.18.6 is a simple patch release to fix some reported vulnerabilities, most notably [CVE-2025-68121](https://nvd.nist.gov/vuln/detail/CVE-2025-68121).

NB: We didn't attempt to patch [CVE-2026-24051](https://nvd.nist.gov/vuln/detail/CVE-2026-24051) but that vulnerability affects macOS only, so cert-manager will be unaffected.

#### Changes by Kind

##### Bug or Regression

- Bump Go to address CVE-2025-68121 ([#&#8203;8525](cert-manager/cert-manager#8525), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.18.5`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.5)

[Compare Source](cert-manager/cert-manager@v1.18.4...v1.18.5)

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

This release contains three bug fixes, including a fix for the MODERATE severity DoS issue in GHSA-gx3x-vq4p-mhhv. All users should upgrade to the latest release.

#### Changes by Kind

##### Bug or Regression

- Fixed an infinite re-issuance loop that could occur when an issuer returns a certificate with a public key that doesn't match the CSR. The issuing controller now validates the certificate before storing it and fails with backoff on mismatch. ([#&#8203;8414](cert-manager/cert-manager#8414), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Fixed an issue where HTTP-01 challenges failed when the Host header contains an IPv6 address. This means that users can now issue IP address certificates for IPv6 address subjects. ([#&#8203;8437](cert-manager/cert-manager#8437), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Security (MODERATE): Fix a potential panic in the cert-manager controller when a DNS response in an unexpected order was cached. If an attacker was able to modify DNS responses (or if they controlled the DNS server) it was possible to cause denial of service for the cert-manager controller. ([#&#8203;8467](cert-manager/cert-manager#8467), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

##### Other (Cleanup or Flake)

- Bump go to 1.24.12 ([#&#8203;8460](cert-manager/cert-manager#8460), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.18.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.4)

[Compare Source](cert-manager/cert-manager@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](cert-manager/cert-manager#8282), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Update Go to `v1.24.11` to fix `CVE-2025-61727` and `CVE-2025-61729` ([#&#8203;8295](cert-manager/cert-manager#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](cert-manager/cert-manager#8271), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Updated Debian 12 distroless base images ([#&#8203;8328](cert-manager/cert-manager#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](cert-manager/cert-manager@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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7964), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Upgrades Go to v1.24.6 ([#&#8203;7974](cert-manager/cert-manager#7974), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.18.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.2)

[Compare Source](cert-manager/cert-manager@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](cert-manager/cert-manager#7833), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Reverted adding the `global.rbac.disableHTTPChallengesRole` Helm option. ([#&#8203;7837](cert-manager/cert-manager#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](cert-manager/cert-manager@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](cert-manager/cert-manager#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](cert-manager/cert-manager#7337), [#&#8203;7444](cert-manager/cert-manager#7444), and [#&#8203;7685](cert-manager/cert-manager#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`](cert-manager/cert-manager#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`](cert-manager/cert-manager#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`](cert-manager/cert-manager#7807), [@&#8203;wallrj](https://github.com/wallrj))

### [`v1.18.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.0)

[Compare Source](cert-manager/cert-manager@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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7083), [@&#8203;k0da](https://github.com/k0da))
- Added the `iss` short name for the cert-manager `Issuer` resource. ([#&#8203;7373](cert-manager/cert-manager#7373), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Added the `ciss` short name for the cert-manager `ClusterIssuer` resource ([#&#8203;7373](cert-manager/cert-manager#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](cert-manager/cert-manager#7666), [@&#8203;ali-hamza-noor](https://github.com/ali-hamza-noor))
- Allow customizing signature algorithm ([#&#8203;7591](cert-manager/cert-manager#7591), [@&#8203;tareksha](https://github.com/tareksha))
- Cache the full DNS response and handle TTL expiration in `FindZoneByFqdn` ([#&#8203;7596](cert-manager/cert-manager#7596), [@&#8203;ThatsIvan](https://github.com/ThatsIvan))
- Cert-manager now uses a local fork of the golang.org/x/crypto/acme package ([#&#8203;7752](cert-manager/cert-manager#7752), [@&#8203;wallrj](https://github.com/wallrj))
- Add support for [ACME profiles extension](https://datatracker.ietf.org/doc/draft-aaron-acme-profiles/). ([#&#8203;7777](cert-manager/cert-manager#7777), [@&#8203;wallrj](https://github.com/wallrj))
- Promote the `UseDomainQualifiedFinalizer` feature to GA. ([#&#8203;7735](cert-manager/cert-manager#7735), [@&#8203;jsoref](https://github.com/jsoref))
- Switched service/servicemon definitions to use port names instead of numbers. ([#&#8203;7727](cert-manager/cert-manager#7727), [@&#8203;jcpunk](https://github.com/jcpunk))
- The default value of `Certificate.Spec.PrivateKey.RotationPolicy` changed from `Never` to `Always`. ([#&#8203;7723](cert-manager/cert-manager#7723), [@&#8203;wallrj](https://github.com/wallrj))
- Potentially breaking: Set the default revisionHistoryLimit to 1 for the CertificateRequest revisions ([#&#8203;7758](cert-manager/cert-manager#7758), [@&#8203;ali-hamza-noor](https://github.com/ali-hamza-noor))

##### Documentation

- Fix some comments ([#&#8203;7620](cert-manager/cert-manager#7620), [@&#8203;teslaedison](https://github.com/teslaedison))

##### Bug or Regression

- Bump `go-jose` dependency to address `CVE-2025-27144`. ([#&#8203;7606](cert-manager/cert-manager#7606), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Bump `golang.org/x/oauth2` to patch `CVE-2025-22868`. ([#&#8203;7638](cert-manager/cert-manager#7638), [@&#8203;NicholasBlaskey](https://github.com/NicholasBlaskey))
- Bump `golang.org/x/crypto` to patch `GHSA-hcg3-q754-cr77`. ([#&#8203;7638](cert-manager/cert-manager#7638), [@&#8203;NicholasBlaskey](https://github.com/NicholasBlaskey))
- Bump `github.com/golang-jwt/jwt` to patch `GHSA-mh63-6h87-95cp`. ([#&#8203;7638](cert-manager/cert-manager#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](cert-manager/cert-manager#7767), [@&#8203;sspreitzer](https://github.com/sspreitzer))
- Fix AWS Route53 error detection for not-found errors during deletion of DNS records. ([#&#8203;7690](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#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](cert-manager/cert-manager#7609), [@&#8203;solidDoWant](https://github.com/solidDoWant))
- Fixing the service account template to incorporate boolean values for the annotations. ([#&#8203;7698](cert-manager/cert-manager#7698), [@&#8203;ali-hamza-noor](https://github.com/ali-hamza-noor))
- Quote nodeSelector values in Helm Chart ([#&#8203;7579](cert-manager/cert-manager#7579), [@&#8203;tobiasbp](https://github.com/tobiasbp))
- Skip Gateway TLS listeners in `Passthrough` mode. ([#&#8203;6986](cert-manager/cert-manager#6986), [@&#8203;vehagn](https://github.com/vehagn))
- Upgrade `golang.org/x/net` fixing `CVE-2025-22870`. ([#&#8203;7619](cert-manager/cert-manager#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](cert-manager/cert-manager#7771), [@&#8203;wallrj](https://github.com/wallrj))
- Patch the `third_party/forked/acme` package with support for the ACME profiles extension. ([#&#8203;7776](cert-manager/cert-manager#7776), [@&#8203;wallrj](https://github.com/wallrj))
- Promote the `AdditionalCertificateOutputFormats` feature to GA, making additional formats always enabled. ([#&#8203;7744](cert-manager/cert-manager#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](cert-manager/cert-manager#7553), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Update kind images to include the Kubernetes 1.33 node image ([#&#8203;7787](cert-manager/cert-manager#7787), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Upgrade Go to `v1.24.4` ([#&#8203;7785](cert-manager/cert-manager#7785), [@&#8203;wallrj](https://github.com/wallrj))
- Use slices.Contains to simplify code ([#&#8203;7753](cert-manager/cert-manager#7753), [@&#8203;cuinix](https://github.com/cuinix))

### [`v1.17.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.17.4)

[Compare Source](cert-manager/cert-manager@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](cert-manager/cert-manager#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](cert-manager/cert-manager@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](cert-manager/cert-manager#7337), [#&#8203;7444](cert-manager/cert-manager#7444), and [#&#8203;7685](cert-manager/cert-manager#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](cert-manager/cert-manager#7799), [@&#8203;wallrj](https://github.com/wallrj))
- ACME: Increased challenge authorization timeout to 2 minutes to fix error `waiting for authorization` ([#&#8203;7798](cert-manager/cert-manager#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](cert-manager/cert-manager#7808), [@&#8203;wallrj](https://github.com/wallrj))

### [`v1.17.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.17.2)

[Compare Source](cert-manager/cert-manager@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](cert-manager/cert-manager#7701), [`@wallrj`](https://github.com/wallrj))
- Bump `go-jose` dependency to address `CVE-2025-27144` ([#&#8203;7603](cert-manager/cert-manager#7603), [`@SgtCoDFish`](https://github.com/SgtCoDFish))
- Bump `golang.org/x/net` to address `CVE-2025-22870` reported by Trivy ([#&#8203;7622](cert-manager/cert-manager#7622), [`@SgtCoDFish`](https://github.com/SgtCoDFish))
- Bump `golang.org/x/net` to fix `CVE-2025-22872` ([#&#8203;7703](cert-manager/cert-manager#7703), [`@wallrj`](https://github.com/wallrj))
- Bump `golang.org/x/oauth2` to patch `CVE-2025-22868` ([#&#8203;7692](cert-manager/cert-manager#7692), [`@lentzi90`](https://github.com/lentzi90))
- Bump `golang.org/x/crypto` to patch `GHSA-hcg3-q754-cr77` ([#&#8203;7692](cert-manager/cert-manager#7692), [`@lentzi90`](https://github.com/lentzi90))
- Bump `github.com/golang-jwt/jwt` to patch `GHSA-mh63-6h87-95cp` ([#&#8203;7692](cert-manager/cert-manager#7692), [`@lentzi90`](https://github.com/lentzi90))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- 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 becomes conflicted, 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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTcuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIyMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: https://gitea.k3s.noah-hood.io/hoodn/certmanager-porkbun-webhook/pulls/3
Co-authored-by: renovate-bot <renovate-bot@example.local>
Co-committed-by: renovate-bot <renovate-bot@example.local>
blake-hamm added a commit to blake-hamm/bhamm-lab that referenced this pull request Jul 4, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cert-manager](https://cert-manager.io) ([source](https://github.com/cert-manager/cert-manager)) | minor | `v1.17.1` → `v1.20.3` |

---

### Release Notes

<details>
<summary>cert-manager/cert-manager (cert-manager)</summary>

### [`v1.20.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.20.3)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.20.2...v1.20.3)

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

This patch release fixes a security issue ([`GHSA-8rvj-mm4h-c258`](https://github.com/cert-manager/cert-manager/security/advisories/GHSA-8rvj-mm4h-c258), HIGH) where the default `cert-manager-edit` aggregate ClusterRole granted namespace users permission to create ACME `Challenge` and `Order` resources directly. A user who could create a `Challenge` referencing a `ClusterIssuer` could supply attacker-controlled solver configuration while cert-manager loaded credentials from the `ClusterIssuer`'s namespace, bypassing Issuer solver selectors (`dnsZones`, `dnsNames`, `matchLabels`). With the acme-dns provider specifically, this could disclose DNS credentials to an attacker-controlled endpoint.

This release also removes the issuer owner reference from Challenges which was blocking Challenge garbage collection, and updates Go to fix reported CVEs.

All users should upgrade.

> \[!WARNING]
> **Potentially breaking change:** The `cert-manager-edit` aggregate ClusterRole no longer grants `create` for `challenges.acme.cert-manager.io` or `create`, `patch`, `update` for `orders.acme.cert-manager.io`. These resources are internal to cert-manager's ACME workflow and are not intended to be created or modified directly by users. If you have tooling or workflows that create Challenge or Order resources directly (outside of the normal Certificate → CertificateRequest → Order → Challenge flow), you will need to grant those permissions explicitly.

#### Changes by Kind

##### Bug or Regression

- Security (HIGH): Remove Challenge `create` and Order `create`, `patch`, `update` verbs from the `cert-manager-edit` aggregate ClusterRole ([`GHSA-8rvj-mm4h-c258`](https://github.com/cert-manager/cert-manager/security/advisories/GHSA-8rvj-mm4h-c258)). ([#&#8203;8940](https://github.com/cert-manager/cert-manager/issues/8940), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- Remove issuer owner reference from challenges blocking challenge garbage collection ([#&#8203;8759](https://github.com/cert-manager/cert-manager/issues/8759), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))

##### Other (Cleanup or Flake)

- Bump go to 1.26.3, other deps to fix several govulncheck issues ([#&#8203;8789](https://github.com/cert-manager/cert-manager/issues/8789), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Update Go to `v1.26.4` to fix CVE-2026-27145, CVE-2026-42504, and CVE-2026-42507 ([#&#8203;8926](https://github.com/cert-manager/cert-manager/issues/8926), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))

### [`v1.20.2`](https://github.com/cert-manager/cert-manager/releases/tag/v1.20.2)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.20.1...v1.20.2)

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

v1.20.2 fixes invalid YAML generated in the Helm chart when both `webhook.config`
and `webhook.volumes` are defined, and bumps Go to 1.26.2 along with dependencies
to address reported vulnerabilities.

#### Changes by Kind

##### Bug or Regression

- Helm: Fix invalid YAML generated when both `webhook.config` and `webhook.volumes` are defined. ([#&#8203;8665](https://github.com/cert-manager/cert-manager/issues/8665), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))

##### Other (Cleanup or Flake)

- Bump go dependencies with reported vulnerabilities ([#&#8203;8704](https://github.com/cert-manager/cert-manager/issues/8704), [@&#8203;erikgb](https://github.com/erikgb))
- Bump go to 1.26.2 ([#&#8203;8703](https://github.com/cert-manager/cert-manager/issues/8703), [@&#8203;erikgb](https://github.com/erikgb))

### [`v1.20.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.20.1)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.20.0...v1.20.1)

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

v1.20.1 fixes an issue for OpenShift users that has to do with the finalizer RBAC, bumps gRPC to address a reported non-affecting vulnerability, and fixes a duplicate `parentRef` bug when both issuer config and annotations are present (Gateway API).

##### Bug or Regression

- Fixed duplicate `parentRef` bug when both issuer config and annotations are present. ([#&#8203;8658](https://github.com/cert-manager/cert-manager/issues/8658), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Add missing issuer finalizer RBAC to the order controller to support owner references. This was preventing OpenShift users from being able to upgrade to v1.20.0. ([#&#8203;8655](https://github.com/cert-manager/cert-manager/issues/8655), [@&#8203;erikgb](https://github.com/erikgb))
- Bump google.golang.org/grpc to fix vulnerability reported by scanners. This isn't a vulnerability that affects cert-manager, but we are bumping it because it is reported by scanners. ([#&#8203;8657](https://github.com/cert-manager/cert-manager/issues/8657), [@&#8203;erikgb](https://github.com/erikgb))

### [`v1.20.0`](https://github.com/cert-manager/cert-manager/releases/tag/v1.20.0)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.19.6...v1.20.0)

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

v1.20.0 adds alpha support for the new ListenerSet resource, adds support for Azure Private DNS; parentRefs are no longer required when using ACME with Gateway API, and OtherNames was promoted to Beta.

#### Changes by Kind

##### Feature

- Added a set of flags to permit setting NetworkPolicy across all deployed containers. Remove redundant global IP ranges from example policies. ([#&#8203;8370](https://github.com/cert-manager/cert-manager/issues/8370), [@&#8203;jcpunk](https://github.com/jcpunk))
- Added selectable fields to custom resource definitions for .spec.issuerRef.{group, kind, name} ([#&#8203;8256](https://github.com/cert-manager/cert-manager/issues/8256), [@&#8203;tareksha](https://github.com/tareksha))
- Added support for specifying `imagePullSecrets` in the `startupapicheck-job` Helm template to enable pulling images from private registries. ([#&#8203;8186](https://github.com/cert-manager/cert-manager/issues/8186), [@&#8203;mathieu-clnk](https://github.com/mathieu-clnk))
- Added 'extraContainers' helm chart value, allowing the deployment of arbitrary sidecar containers within the cert-manager operator pod. This can be used to support, for e.g., AWS IAM Roles Anywhere for Route53 DNS01 verification. ([#&#8203;8355](https://github.com/cert-manager/cert-manager/issues/8355), [@&#8203;dancmeyers](https://github.com/dancmeyers))
- Added `parentRef` override annotations on the Certificate resource. ([#&#8203;8518](https://github.com/cert-manager/cert-manager/issues/8518), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added support for azure private zones for dns01 issuer. ([#&#8203;8494](https://github.com/cert-manager/cert-manager/issues/8494), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Added support for configuring PEM decoding size limits, allowing operators to handle larger certificates and keys. ([#&#8203;7642](https://github.com/cert-manager/cert-manager/issues/7642), [@&#8203;robertlestak](https://github.com/robertlestak))
- Added support for unhealthyPodEvictionPolicy in PodDisruptionBudget ([#&#8203;7728](https://github.com/cert-manager/cert-manager/issues/7728), [@&#8203;jcpunk](https://github.com/jcpunk))
- For Venafi provider, read `venafi.cert-manager.io/custom-fields` annotation on Issuer/ClusterIssuer and use it as base with override/append capabilities on Certificate level. ([#&#8203;8301](https://github.com/cert-manager/cert-manager/issues/8301), [@&#8203;k0da](https://github.com/k0da))
- Improve error message when CA issuers are misconfigured to use a clashing secret name ([#&#8203;8374](https://github.com/cert-manager/cert-manager/issues/8374), [@&#8203;majiayu000](https://github.com/majiayu000))
- Introduce a new Ingress annotation `acme.cert-manager.io/http01-ingress-ingressclassname` to override `http01.ingress.ingressClassName` field in HTTP-01 challenge solvers. ([#&#8203;8244](https://github.com/cert-manager/cert-manager/issues/8244), [@&#8203;lunarwhite](https://github.com/lunarwhite))
- Update `global.nodeSelector` to helm chart to perform a `merge` and allow for a single `nodeSelector` to be set across all services. ([#&#8203;8195](https://github.com/cert-manager/cert-manager/issues/8195), [@&#8203;StingRayZA](https://github.com/StingRayZA))
- Vault issuers will now include the Vault server address as one of the default audiences on generated service account tokens. ([#&#8203;8228](https://github.com/cert-manager/cert-manager/issues/8228), [@&#8203;terinjokes](https://github.com/terinjokes))
- Added experimental `XListenerSets` feature gate ([#&#8203;8394](https://github.com/cert-manager/cert-manager/issues/8394), [@&#8203;hjoshi123](https://github.com/hjoshi123))

##### Documentation

- Add GWAPI documentation to NOTES.TXT in helm chart ([#&#8203;8353](https://github.com/cert-manager/cert-manager/issues/8353), [@&#8203;jaxels10](https://github.com/jaxels10))

##### Bug or Regression

- Adds logs for cases when acme server returns us a fatal error in the order controller ([#&#8203;8199](https://github.com/cert-manager/cert-manager/issues/8199), [@&#8203;Peac36](https://github.com/Peac36))
- Fixed an issue where kind or group in the issuerRef of a Certificate was omitted, upgrading to 1.19.x incorrectly caused the certificate to be renewed ([#&#8203;8160](https://github.com/cert-manager/cert-manager/issues/8160), [@&#8203;inteon](https://github.com/inteon))
- Changes to the Duration and RenewBefore annotations on ingress and gateway-api resources will now trigger certificate updates. ([#&#8203;8232](https://github.com/cert-manager/cert-manager/issues/8232), [@&#8203;eleanor-merry](https://github.com/eleanor-merry))
- Fix an issue where ACME challenge TXT records are not cleaned up when there are many resource records in CloudDNS. ([#&#8203;8456](https://github.com/cert-manager/cert-manager/issues/8456), [@&#8203;tkna](https://github.com/tkna))
- Fix unregulated retries with the DigitalOcean DNS-01 solver
  Add full detailed DNS-01 errors to the events attached to the Challenge, for easier debugging ([#&#8203;8221](https://github.com/cert-manager/cert-manager/issues/8221), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- Fixed an infinite re-issuance loop that could occur when an issuer returns a certificate with a public key that doesn't match the CSR. The issuing controller now validates the certificate before storing it and fails with backoff on mismatch. ([#&#8203;8403](https://github.com/cert-manager/cert-manager/issues/8403), [@&#8203;calm329](https://github.com/calm329))
- Fixed an issue where HTTP-01 challenges failed when the Host header contains an IPv6 address. This means that users can now issue IP address certificates for IPv6 address subjects. ([#&#8203;8424](https://github.com/cert-manager/cert-manager/issues/8424), [@&#8203;SlashNephy](https://github.com/SlashNephy))
- Fixed the HTTP-01 Gateway solver creating invalid HTTPRoutes by not setting spec.hostnames when the challenge DNSName is an IP address. ([#&#8203;8443](https://github.com/cert-manager/cert-manager/issues/8443), [@&#8203;alviss7](https://github.com/alviss7))
- Revert API defaults for issuer reference kind and group introduced in 0.19.0 ([#&#8203;8173](https://github.com/cert-manager/cert-manager/issues/8173), [@&#8203;erikgb](https://github.com/erikgb))
- Security (MODERATE): Fix a potential panic in the cert-manager controller when a DNS response in an unexpected order was cached. If an attacker was able to modify DNS responses (or if they controlled the DNS server) it was possible to cause denial of service for the cert-manager controller. ([#&#8203;8469](https://github.com/cert-manager/cert-manager/issues/8469), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Update Go to `v1.25.5` to fix `CVE-2025-61727` and `CVE-2025-61729` ([#&#8203;8290](https://github.com/cert-manager/cert-manager/issues/8290), [@&#8203;octo-sts](https://github.com/octo-sts)\[bot])
- When Prometheus monitoring is enabled, the metrics label is now set to the intended value of `cert-manager`. Previously, it was set depending on various factors (namespace cert-manager is installed in and/or Helm release name). ([#&#8203;8162](https://github.com/cert-manager/cert-manager/issues/8162), [@&#8203;LiquidPL](https://github.com/LiquidPL))

##### Other (Cleanup or Flake)

- Promoted the OtherNames feature to Beta and enabled it by default ([#&#8203;8288](https://github.com/cert-manager/cert-manager/issues/8288), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- Promoting `XListenerSets` feature gate to `ListenerSets` ([#&#8203;8501](https://github.com/cert-manager/cert-manager/issues/8501), [@&#8203;hjoshi123](https://github.com/hjoshi123))
- Rebranding of the Venafi Issuer to CyberArk ([#&#8203;8215](https://github.com/cert-manager/cert-manager/issues/8215), [@&#8203;iossifbenbassat123](https://github.com/iossifbenbassat123))
- Switched to SSA for challenge finalizer updates ([#&#8203;8519](https://github.com/cert-manager/cert-manager/issues/8519), [@&#8203;inteon](https://github.com/inteon))
- The default container user (UID) is now 65532 (previously 1000) and the default container group (GID) is now 65532 (previously 0) ([#&#8203;8408](https://github.com/cert-manager/cert-manager/issues/8408), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- The feature-gate DefaultPrivateKeyRotationPolicyAlways moved from Beta to GA and can no longer be disabled. ([#&#8203;8287](https://github.com/cert-manager/cert-manager/issues/8287), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- Update cert-manager's ACME client, forked from golang/x/crypto ([#&#8203;8268](https://github.com/cert-manager/cert-manager/issues/8268), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Use the latest version of Kyverno (1.16.2) in the best-practice installation tests ([#&#8203;8389](https://github.com/cert-manager/cert-manager/issues/8389), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- We stopped testing with Coutour due to it not supporting the new XListenerSet resource, and moved to kgateway. ([#&#8203;8426](https://github.com/cert-manager/cert-manager/issues/8426), [@&#8203;hjoshi123](https://github.com/hjoshi123))

### [`v1.19.6`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.6)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.19.5...v1.19.6)

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

This patch release fixes a security issue ([`GHSA-8rvj-mm4h-c258`](https://github.com/cert-manager/cert-manager/security/advisories/GHSA-8rvj-mm4h-c258), HIGH) where the default `cert-manager-edit` aggregate ClusterRole granted namespace users permission to create ACME `Challenge` and `Order` resources directly. A user who could create a `Challenge` referencing a `ClusterIssuer` could supply attacker-controlled solver configuration while cert-manager loaded credentials from the `ClusterIssuer`'s namespace, bypassing Issuer solver selectors (`dnsZones`, `dnsNames`, `matchLabels`). With the acme-dns provider specifically, this could disclose DNS credentials to an attacker-controlled endpoint.

This release also includes Go version bumps to address reported CVEs. All users should upgrade.

> \[!WARNING]
> **Potentially breaking change:** The `cert-manager-edit` aggregate ClusterRole no longer grants `create` for `challenges.acme.cert-manager.io` or `create`, `patch`, `update` for `orders.acme.cert-manager.io`. These resources are internal to cert-manager's ACME workflow and are not intended to be created or modified directly by users. If you have tooling or workflows that create Challenge or Order resources directly (outside of the normal Certificate → CertificateRequest → Order → Challenge flow), you will need to grant those permissions explicitly.

#### Changes by Kind

##### Bug or Regression

- Security (HIGH): Remove Challenge `create` and Order `create`, `patch`, `update` verbs from the `cert-manager-edit` aggregate ClusterRole ([`GHSA-8rvj-mm4h-c258`](https://github.com/cert-manager/cert-manager/security/advisories/GHSA-8rvj-mm4h-c258)). ([#&#8203;8941](https://github.com/cert-manager/cert-manager/pull/8941), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))

##### Other (Cleanup or Flake)

- Update Go to `v1.25.11` to fix CVE-2026-27145, CVE-2026-42504, and CVE-2026-42507 ([#&#8203;8925](https://github.com/cert-manager/cert-manager/pull/8925), [@&#8203;wallrj-cyberark](https://github.com/wallrj-cyberark))
- Upgrade Go to 1.25.10 to fix reported vulnerabilities, along with other dependency bumps ([#&#8203;8788](https://github.com/cert-manager/cert-manager/pull/8788), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.19.5`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.5)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.19.4...v1.19.5)

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

This is a simple patch release to fix some reported vulnerabilities. All users are recommended to upgrade.

#### Changes by Kind

##### Other (Cleanup or Flake)

- Bump go dependencies with reported vulnerabilities ([#&#8203;8706](https://github.com/cert-manager/cert-manager/pull/8706), [@&#8203;erikgb](https://github.com/erikgb))
- Bump go to 1.25.8 to address several reported vulnerabilities ([#&#8203;8628](https://github.com/cert-manager/cert-manager/pull/8628), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Bump go to 1.25.9 ([#&#8203;8705](https://github.com/cert-manager/cert-manager/pull/8705), [@&#8203;erikgb](https://github.com/erikgb))

### [`v1.19.4`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.4)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.19.3...v1.19.4)

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

v1.19.4 is a simple patch release to fix some reported vulnerabilities - notably CVE-2026-24051 and CVE-2025-68121. All users should upgrade.

#### Changes by Kind

##### Bug or Regression

- Bump go to address CVE-2025-68121 ([#&#8203;8526](https://github.com/cert-manager/cert-manager/issues/8526), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))
- Bump otel SDK to address GO-2026-4394 ([#&#8203;8531](https://github.com/cert-manager/cert-manager/issues/8531), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.19.3`](https://github.com/cert-manager/cert-manager/releases/tag/v1.19.3)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.19.2...v1.19.3)

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

This release contains three bug fixes, including a fix for the MODERATE severity DoS issue in GHSA-gx3x-vq4p-mhhv. All users should upgrade to the latest release.

#### Changes by Kind

##### Bug or Regression

- Fixed an infinite re-issuance loop that could occur when an issuer returns a certificate with a public key that doesn't match the CSR. The issuing controller now validates the certificate before storing it and fails with backoff on mismatch. ([#&#8203;8415](https://github.com/cert-manager/cert-manager/issues/8415), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Fixed an issue where HTTP-01 challenges failed when the Host header contained an IPv6 address. This means that users can now issue IP address certificates for IPv6 address subjects. ([#&#8203;8436](https://github.com/cert-manager/cert-manager/issues/8436), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Security (MODERATE): Fix a potential panic in the cert-manager controller when a DNS response in an unexpected order was cached. If an attacker was able to modify DNS responses (or if they controlled the DNS server) it was possible to cause denial of service for the cert-manager controller. ([#&#8203;8468](https://github.com/cert-manager/cert-manager/issues/8468), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

##### Other (Cleanup or Flake)

- Bump go to 1.25.6 ([#&#8203;8459](https://github.com/cert-manager/cert-manager/issues/8459), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`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.6...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.6`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.6)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.18.5...v1.18.6)

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

v1.18.6 is a simple patch release to fix some reported vulnerabilities, most notably [CVE-2025-68121](https://nvd.nist.gov/vuln/detail/CVE-2025-68121).

NB: We didn't attempt to patch [CVE-2026-24051](https://nvd.nist.gov/vuln/detail/CVE-2026-24051) but that vulnerability affects macOS only, so cert-manager will be unaffected.

#### Changes by Kind

##### Bug or Regression

- Bump Go to address CVE-2025-68121 ([#&#8203;8525](https://github.com/cert-manager/cert-manager/issues/8525), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`v1.18.5`](https://github.com/cert-manager/cert-manager/releases/tag/v1.18.5)

[Compare Source](https://github.com/cert-manager/cert-manager/compare/v1.18.4...v1.18.5)

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

This release contains three bug fixes, including a fix for the MODERATE severity DoS issue in GHSA-gx3x-vq4p-mhhv. All users should upgrade to the latest release.

#### Changes by Kind

##### Bug or Regression

- Fixed an infinite re-issuance loop that could occur when an issuer returns a certificate with a public key that doesn't match the CSR. The issuing controller now validates the certificate before storing it and fails with backoff on mismatch. ([#&#8203;8414](https://github.com/cert-manager/cert-manager/issues/8414), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Fixed an issue where HTTP-01 challenges failed when the Host header contains an IPv6 address. This means that users can now issue IP address certificates for IPv6 address subjects. ([#&#8203;8437](https://github.com/cert-manager/cert-manager/issues/8437), [@&#8203;cert-manager-bot](https://github.com/cert-manager-bot))
- Security (MODERATE): Fix a potential panic in the cert-manager controller when a DNS response in an unexpected order was cached. If an attacker was able to modify DNS responses (or if they controlled the DNS server) it was possible to cause denial of service for the cert-manager controller. ([#&#8203;8467](https://github.com/cert-manager/cert-manager/issues/8467), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

##### Other (Cleanup or Flake)

- Bump go to 1.24.12 ([#&#8203;8460](https://github.com/cert-manager/cert-manager/issues/8460), [@&#8203;SgtCoDFish](https://github.com/SgtCoDFish))

### [`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))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- 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 becomes conflicted, 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 [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: Renovate Bot <renovate@bhamm-lab.com>
Reviewed-on: https://codeberg.org/blake-hamm/bhamm-lab/pulls/256
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/acme/dns01 Indicates a PR modifies ACME DNS01 provider code area/acme Indicates a PR directly modifies the ACME Issuer code area/api Indicates a PR directly modifies the 'pkg/apis' directory area/deploy Indicates a PR modifies deployment configuration area/monitoring Indicates a PR or issue relates to monitoring area/testing Issues relating to testing dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. kind/feature Categorizes issue or PR as related to a new feature. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants