Skip to content

Commit 342db6a

Browse files
Merge pull request #1792 from wallrj-cyberark/release-next-cert-manager-1.19.0
Release notes for cert-manager v1.19.0
2 parents 3674c3d + bbf565a commit 342db6a

File tree

10 files changed

+252
-305
lines changed

10 files changed

+252
-305
lines changed

.spelling

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ literalSubject
325325
LiteralSubject
326326
LiteralSubjects
327327
SVIDs
328+
steerers
328329
stevehipwell
329330
TLDs
330331
TODO
@@ -494,6 +495,7 @@ OAuth
494495
observedGeneration
495496
onwards
496497
openshift-supported-versions
498+
parsable
497499
plaintext
498500
powershell
499501
pre
@@ -583,6 +585,8 @@ v1.18
583585
v1.18.0
584586
v1.18.0.
585587
v1.19
588+
v1.19.0
589+
alpha.0
586590
v1.5
587591
v1.5.0
588592
v1.5.0.

content/docs/cli/cainjector.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Flags:
2525
--feature-gates mapStringBool A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
2626
AllAlpha=true|false (ALPHA - default=false)
2727
AllBeta=true|false (BETA - default=false)
28-
CAInjectorMerging=true|false (ALPHA - default=false)
28+
CAInjectorMerging=true|false (BETA - default=true)
2929
ServerSideApply=true|false (ALPHA - default=false)
3030
-h, --help help for cainjector
3131
--kubeconfig string Paths to a kubeconfig. Only required if out-of-cluster.

content/docs/cli/controller.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Flags:
4040
--enable-profiling Enable profiling for controller.
4141
--extra-certificate-annotations strings Extra annotation to be added by the ingress-shim controller to certificate object
4242
--feature-gates mapStringBool A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
43+
ACMEHTTP01IngressPathTypeExact=true|false (BETA - default=true)
4344
AllAlpha=true|false (ALPHA - default=false)
4445
AllBeta=true|false (BETA - default=false)
4546
DefaultPrivateKeyRotationPolicyAlways=true|false (BETA - default=true)

content/docs/cli/webhook.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Flags:
2222
--dynamic-serving-leaf-duration duration leaf duration of serving certificates (default 168h0m0s)
2323
--enable-profiling Enable profiling for webhook.
2424
--feature-gates mapStringBool A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
25+
ACMEHTTP01IngressPathTypeExact=true|false (BETA - default=true)
2526
AllAlpha=true|false (ALPHA - default=false)
2627
AllBeta=true|false (BETA - default=false)
2728
DefaultPrivateKeyRotationPolicyAlways=true|false (BETA - default=true)

content/docs/reference/api-docs.md

Lines changed: 148 additions & 273 deletions
Large diffs are not rendered by default.

content/docs/releases/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,14 @@ should be stable enough to run.
2121

2222
| Release | Release Date | End of Life | [Supported Kubernetes / OpenShift Versions][s] | [Tested Kubernetes Versions][test] |
2323
|:--------:|:------------:|:---------------:|:----------------------------------------------:|:----------------------------------:|
24+
| [1.19][] | Oct 07, 2025 | Release of 1.21 | 1.31 → 1.34 / 4.18 → 4.19 | 1.31 → 1.34 |
2425
| [1.18][] | Jun 10, 2025 | Release of 1.20 | 1.29 → 1.33 / 4.16 → 4.18 | 1.29 → 1.33 |
25-
| [1.17][] | Feb 03, 2025 | Release of 1.19 | 1.29 → 1.33 / 4.16 → 4.18 | 1.29 → 1.32 |
26-
2726

2827
## Upcoming releases
2928

3029
| Release | Release Date | End of Life | [Supported Kubernetes / OpenShift Versions][s] | [Tested Kubernetes Versions][test] |
3130
|:--------:|:------------:|:---------------:|:----------------------------------------------:|:----------------------------------:|
32-
| [1.19][] | Oct 7, 2025 | Release of 1.21 | 1.31 → 1.34 / 4.18 → 4.19 | 1.31 → 1.34 |
31+
| [1.20][] | Feb 10, 2026 | Release of 1.21 | 1.31 → 1.34 / 4.18 → 4.19 | 1.31 → 1.34 |
3332

3433
Dates in the future are not firm commitments and are subject to change.
3534

@@ -308,6 +307,7 @@ are no longer supported.
308307

309308
| Release | Release Date | EOL | Compatible Kubernetes versions | Compatible OpenShift versions |
310309
|--------------|:------------:|:------------:|:------------------------------:|:-----------------------------:|
310+
| [1.17][] | Feb 03, 2025 | Oct 07, 2025 | 1.29 → 1.33 | 1.29 → 1.32 |
311311
| [1.16][] | Oct 03, 2024 | Jun 10, 2025 | 1.25 → 1.32 | 4.14 → 4.17 |
312312
| [1.15][] | Jun 05, 2024 | Feb 03, 2025 | 1.25 → 1.32 | 4.12 → 4.16 |
313313
| [1.14][] | Feb 03, 2024 | Oct 03, 2024 | 1.24 → 1.31 | 4.11 → 4.16 |

content/docs/releases/release-notes/release-notes-1.19.md

Lines changed: 83 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,45 +5,104 @@ description: 'cert-manager release notes: cert-manager 1.19'
55

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

8-
cert-manager 1.19 introduces several new features and breaking changes.
9-
10-
TODO
8+
This release focuses on expanding platform compatibility, improving deployment flexibility, enhancing observability, and addressing key reliability issues.
119

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

1412
## Major Themes
1513

16-
TODO
14+
### Deployment and Platform Compatibility
15+
- The default network policy now includes `IPv6` rules to improve support for dual-stack and `IPv6` enabled clusters.
16+
- The Helm chart has a new `global.nodeSelector` value, to set a single node selector across all cert-manager components. This simplifies the deployment of cert-manager.
17+
- The Helm chart has a new (experimental) `global.hostUsers` flag which, if set to `false`, configures all the cert-manager Pods to use the [User Namespace feature of Kubernetes `>= 1.33`](https://kubernetes.io/docs/tasks/configure-pod-container/user-namespaces/). You can use this feature to reduce the damage a compromised container can do to the host or other pods in the same node. This new feature is disabled by default to maintain compatibility with Kubernetes `< 1.33`. In the future, when Kubernetes 1.32 reaches its end-of-life, the Helm chart value may be removed (or become a no-op) and cert-manager Pods will be configured to use user-namespaces by default.
18+
19+
### ACME and Certificate Management
20+
- There is a new feature gate `ACMEHTTP01IngressPathTypeExact`, to allow `ingress-nginx` users to turn off the new default Ingress `PathType: Exact` setting. This is useful if you are using an old version of `ingress-nginx` which does not properly support `PathType: Exact`.
21+
- The Issuer and ClusterIssuer custom resources have new fields which allow you to configure resource requests and resource limits for ACME HTTP-01 solver pods. This allows teams to override the global `--acme-http01-solver-resource-*` flag values which are set by the platform administrator.
22+
- The ACME challenge authorization timeout has been increased to two minutes to reduce `error waiting for authorization` failures.
23+
- There is now stricter solver validation to reject configurations that specify multiple ingress selection options (e.g. `class`, `ingressClassName`, `name`).
24+
- There are DNS and API improvements. A new `protocol` field was added for the `rfc2136` DNS01 provider.
25+
- The `CAInjectorMerging` feature has been promoted to BETA which means it is enabled by default. This means the feature, which configures the CA Injector to merges new CA certificates with existing ones instead of replacing them outright, is now considered stable and will be active unless explicitly disabled.
26+
- There are various reliability fixes related to certificates and CSRs: increased maximum parsable PEM sizes, corrected permitted URI domain handling in CSR name constraints, and improved admission error messages for malformed PEM data.
27+
28+
### Observability, Reliability, and Maintenance
29+
- There is a new Prometheus metric called `certmanager_certificate_challenge_status`.
30+
- POTENTIALLY BREAKING: A high cardinality label, called `path`, was removed from the `certmanager_acme_client_request_count` and `certmanager_acme_client_request_duration_seconds` metrics. It is replaced with a new bounded cardinality label called `action`. This may require updates to dashboards and alerts.
1731

1832
## Community
1933

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

2236
A special thanks to:
23-
24-
- TODO
25-
37+
{/* BEGIN contributors */}
38+
- [`@StingRayZA`](https://github.com/StingRayZA)
39+
- [`@armagankaratosun`](https://github.com/armagankaratosun)
40+
- [`@hjoshi123`](https://github.com/hjoshi123)
41+
- [`@jcpunk`](https://github.com/jcpunk)
42+
- [`@kinolaev`](https://github.com/kinolaev)
43+
- [`@lunarwhite`](https://github.com/lunarwhite)
44+
- [`@mladen-rusev-cyberark`](https://github.com/mladen-rusev-cyberark)
45+
- [`@prasad89`](https://github.com/prasad89)
46+
- [`@quantpoet`](https://github.com/quantpoet)
47+
- [`@sspreitzer`](https://github.com/sspreitzer)
48+
{/* END contributors */}
2649
for their contributions, comments and support!
2750

2851
Also, thanks to the cert-manager maintainer team for their help in this release:
29-
30-
- [@inteon](https://github.com/inteon)
31-
- [@erikgb](https://github.com/erikgb)
32-
- [@SgtCoDFish](https://github.com/SgtCoDFish)
33-
- [@ThatsMrTalbot](https://github.com/ThatsMrTalbot)
34-
- [@munnerz](https://github.com/munnerz)
35-
- [@maelvls](https://github.com/maelvls)
52+
{/* BEGIN maintainers */}
53+
- [`@SgtCoDFish`](https://github.com/SgtCoDFish)
54+
- [`@ThatsMrTalbot`](https://github.com/ThatsMrTalbot)
55+
- [`@erikgb`](https://github.com/erikgb)
56+
- [`@inteon`](https://github.com/inteon)
57+
- [`@maelvls`](https://github.com/maelvls)
58+
- [`@munnerz`](https://github.com/munnerz)
59+
- [`@wallrj`](https://github.com/wallrj)
60+
{/* END maintainers */}
3661

3762
And finally, thanks to the cert-manager steering committee for their feedback in this release cycle:
38-
39-
- [@FlorianLiebhart](https://github.com/FlorianLiebhart)
40-
- [@ssyno](https://github.com/ssyno)
41-
- [@ianarsenault](https://github.com/ianarsenault)
42-
- [@TrilokGeer](https://github.com/TrilokGeer)
43-
44-
63+
{/* BEGIN steerers */}
64+
- [`@FlorianLiebhart`](https://github.com/FlorianLiebhart)
65+
- [`@TrilokGeer`](https://github.com/TrilokGeer)
66+
- [`@ianarsenault`](https://github.com/ianarsenault)
67+
- [`@ssyno`](https://github.com/ssyno)
68+
{/* END steerers */}
69+
70+
{/* BEGIN changelog v1.19.0 */}
4571
## `v1.19.0`
4672

47-
Changes since `v1.18.2`:
48-
49-
TODO
73+
Changes since `v1.18.0`:
74+
75+
### Feature
76+
77+
- Add IPv6 rules to the default network policy ([`#7726`](https://github.com/cert-manager/cert-manager/pull/7726), [`@jcpunk`](https://github.com/jcpunk))
78+
- Add `global.nodeSelector` to helm chart to allow for a single `nodeSelector` to be set across all services. ([`#7818`](https://github.com/cert-manager/cert-manager/pull/7818), [`@StingRayZA`](https://github.com/StingRayZA))
79+
- Add a feature gate to default to Ingress `pathType` `Exact` in ACME HTTP01 Ingress challenge solvers. ([`#7795`](https://github.com/cert-manager/cert-manager/pull/7795), [`@sspreitzer`](https://github.com/sspreitzer))
80+
- Add generated `applyconfigurations` allowing clients to make type-safe server-side apply requests for cert-manager resources. ([`#7866`](https://github.com/cert-manager/cert-manager/pull/7866), [`@erikgb`](https://github.com/erikgb))
81+
- Added API defaults to issuer references group (cert-manager.io) and kind (Issuer). ([`#7414`](https://github.com/cert-manager/cert-manager/pull/7414), [`@erikgb`](https://github.com/erikgb))
82+
- Added `certmanager_certificate_challenge_status` Prometheus metric. ([`#7736`](https://github.com/cert-manager/cert-manager/pull/7736), [`@hjoshi123`](https://github.com/hjoshi123))
83+
- Added `protocol` field for `rfc2136` DNS01 provider ([`#7881`](https://github.com/cert-manager/cert-manager/pull/7881), [`@hjoshi123`](https://github.com/hjoshi123))
84+
- Added experimental field `hostUsers` flag to all pods. Not set by default. ([`#7973`](https://github.com/cert-manager/cert-manager/pull/7973), [`@hjoshi123`](https://github.com/hjoshi123))
85+
- Support configurable resource requests and limits for ACME HTTP01 solver pods through ClusterIssuer and Issuer specifications, allowing granular resource management that overrides global `--acme-http01-solver-resource-*` settings. ([`#7972`](https://github.com/cert-manager/cert-manager/pull/7972), [`@lunarwhite`](https://github.com/lunarwhite))
86+
- The `CAInjectorMerging` feature has been promoted to BETA and is now enabled by default ([`#8017`](https://github.com/cert-manager/cert-manager/pull/8017), [`@ThatsMrTalbot`](https://github.com/ThatsMrTalbot))
87+
- The controller, webhook and ca-injector now log their version and git commit on startup for easier debugging and support. ([`#8072`](https://github.com/cert-manager/cert-manager/pull/8072), [`@prasad89`](https://github.com/prasad89))
88+
- Updated `certificate` metrics to the collector approach. ([`#7856`](https://github.com/cert-manager/cert-manager/pull/7856), [`@hjoshi123`](https://github.com/hjoshi123))
89+
90+
### Bug or Regression
91+
92+
- ACME: Increased challenge authorization timeout to 2 minutes to fix `error waiting for authorization` ([`#7796`](https://github.com/cert-manager/cert-manager/pull/7796), [`@hjoshi123`](https://github.com/hjoshi123))
93+
- BUGFIX: permitted URI domains were incorrectly used to set the excluded URI domains in the CSR's name constraints ([`#7816`](https://github.com/cert-manager/cert-manager/pull/7816), [`@kinolaev`](https://github.com/kinolaev))
94+
- Enforced ACME HTTP-01 solver validation to properly reject configurations when multiple ingress options (`class`, `ingressClassName`, `name`) are specified simultaneously ([`#8021`](https://github.com/cert-manager/cert-manager/pull/8021), [`@lunarwhite`](https://github.com/lunarwhite))
95+
- Increase maximum sizes of PEM certificates and chains which can be parsed in cert-manager, to handle leaf certificates with large numbers of DNS names or other identities ([`#7961`](https://github.com/cert-manager/cert-manager/pull/7961), [`@SgtCoDFish`](https://github.com/SgtCoDFish))
96+
- Reverted adding the `global.rbac.disableHTTPChallengesRole` Helm option. ([`#7836`](https://github.com/cert-manager/cert-manager/pull/7836), [`@inteon`](https://github.com/inteon))
97+
- This change removes the `path` label of core ACME client metrics and will require users to update their monitoring dashboards and alerting rules if using those metrics. ([`#8109`](https://github.com/cert-manager/cert-manager/pull/8109), [`@mladen-rusev-cyberark`](https://github.com/mladen-rusev-cyberark))
98+
- Use the latest version of `ingress-nginx` in E2E tests to ensure compatibility ([`#7792`](https://github.com/cert-manager/cert-manager/pull/7792), [`@wallrj`](https://github.com/wallrj))
99+
100+
### Other (Cleanup or Flake)
101+
102+
- Helm: Fix naming template of `tokenrequest` RoleBinding resource to improve consistency ([`#7761`](https://github.com/cert-manager/cert-manager/pull/7761), [`@lunarwhite`](https://github.com/lunarwhite))
103+
- Improve error messages when certificates, CRLs or private keys fail admission due to malformed or missing PEM data ([`#7928`](https://github.com/cert-manager/cert-manager/pull/7928), [`@SgtCoDFish`](https://github.com/SgtCoDFish))
104+
- Major upgrade of Akamai SDK. NOTE: The new version has not been fully tested end-to-end due to the lack of cloud infrastructure. ([`#8003`](https://github.com/cert-manager/cert-manager/pull/8003), [`@hjoshi123`](https://github.com/hjoshi123))
105+
- Update kind images to include the Kubernetes 1.33 node image ([`#7786`](https://github.com/cert-manager/cert-manager/pull/7786), [`@wallrj`](https://github.com/wallrj))
106+
- Use `maps.Copy` for cleaner map handling ([`#8092`](https://github.com/cert-manager/cert-manager/pull/8092), [`@quantpoet`](https://github.com/quantpoet))
107+
- Vault: Migrate Vault E2E add-on tests from deprecated `vault-client-go` to the new `vault/api` client. ([`#8059`](https://github.com/cert-manager/cert-manager/pull/8059), [`@armagankaratosun`](https://github.com/armagankaratosun))
108+
{/* END changelog v1.19.0 */}

content/docs/releases/upgrading/upgrading-1.18-1.19.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,16 @@ title: Upgrading from v1.18 to v1.19
33
description: 'cert-manager installation: Upgrading v1.18 to v1.19'
44
---
55

6-
Before upgrading cert-manager from 1.18 to 1.19, please read the following important notes about breaking changes in 1.19:
6+
Before upgrading cert-manager from 1.18 to 1.19, please read the following important notes about breaking changes:
77

8-
TODO
8+
## Potentially Breaking: ACME metrics label changes
9+
10+
A high cardinality label, called `path`, was removed from the `certmanager_acme_client_request_count` and `certmanager_acme_client_request_duration_seconds` metrics.
11+
It is replaced with a new bounded cardinality label called `action`.
12+
If you are using these metrics, you may need to update your dashboards and alerts.
13+
14+
1. Update any dashboards and alerts that using the old `path` label, to use the new bounded `action` label.
15+
2. If you rely on the high-cardinality `path` label, consider adding a Prometheus relabeling or recording rule to preserve the prior semantics (but beware of storage and cost).
916

1017
## Next Steps
1118

content/docs/variables.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"cert_manager_latest_version": "v1.18.2"
2+
"cert_manager_latest_version": "v1.19.0"
33
}

scripts/gendocs/generate-new-import-path-docs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ LATEST_VERSION="docs" # to also upgrade a specific version, use v1.13-docs, v1.1
155155
#genversionwithcli "release-1.15" "v1.15-docs"
156156
#genversionwithcli "release-1.16" "v1.16-docs"
157157
#genversionwithcli "release-1.17" "v1.17-docs"
158-
genversionwithcli "release-1.18" "$LATEST_VERSION"
158+
genversionwithcli "release-1.19" "$LATEST_VERSION"
159159

160160
# Rather than generate the same docs again for /docs, copy from the latest version
161161

0 commit comments

Comments
 (0)