Skip to content

Commit 7d32c16

Browse files
Merge pull request cert-manager#1997 from maelvls/release-notes-for-1.20
[release-next] Release Notes for cert-manager v1.20.0
2 parents 6016ace + b100485 commit 7d32c16

File tree

4 files changed

+115
-25
lines changed

4 files changed

+115
-25
lines changed

.spelling

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -597,6 +597,12 @@ v1.19.1
597597
v1.20.0
598598
v1.19.2
599599
v1.20.0
600+
v1.19.x
601+
v1.20.0
602+
v1.20.
603+
v1.19.2
604+
v1.20.0
605+
Rebranding
600606
alpha.0
601607
beta.0
602608
v1.4.1

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

Lines changed: 105 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,57 @@ description: 'cert-manager release notes: cert-manager 1.20'
66
cert-manager is the easiest way to automatically manage certificates in
77
Kubernetes and OpenShift clusters.
88

9-
TODO
9+
This release focuses on adding support for the new ListenerSet resource, as well
10+
as features like Azure Private Zones in the DNS01 issuer and support for the
11+
NetworkPolicy resource.
1012

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

1315
## Major Themes
1416

1517
### Network Policy
1618

17-
The cert-manager Helm chart now allows you to create `NetworkPolicy` resources
19+
The cert-manager Helm chart now allows you to create NetworkPolicy resources
1820
for all the cert-manager Deployments.
1921
This makes it easier to follow [best practices when deploying cert-manager in production](../../installation/best-practice.md#network-requirements-and-network-policy).
2022

21-
### TODO ADD REMAINING THEMES
22-
23-
TODO
23+
### ListenerSet and `parentRef` override
24+
25+
cert-manager 1.20 now supports ListenerSet as part of its integration with
26+
Gateway API. It was already possible to get cert-manager to create a Certificate
27+
resource by annotating an Ingress or Gateway resource, but with this release,
28+
cert-manager can now also create Certificates by annotating a ListenerSet
29+
resource. For context, ListenerSet is a new resource in Gateway API that was
30+
made stable in Gateway API 1.5. This is an alpha feature that is disabled by
31+
default, but it can be enabled with the ListenerSet feature gate. To learn more
32+
about this feature, check out the [ListenerSet
33+
documentation](../../usage/gateway.md).
34+
35+
Another improvement we have made is the possibility to leave the `parentRefs`
36+
field empty on the Issuer and ClusterIssuer; it will be automatically guessed by
37+
cert-manager.
38+
39+
## Azure DNS Private Zones for DNS-01
40+
41+
cert-manager 1.20 adds support for Azure DNS Private Zones in the DNS01 issuer.
42+
This means that you can now use cert-manager to issue certificates for domains
43+
that are hosted in Azure DNS Private Zones, which are not accessible from the
44+
public internet. All you have to do to use this feature is to set the new
45+
`zoneType` field:
46+
47+
```yaml
48+
kind: Issuer
49+
metadata:
50+
name: example-issuer
51+
spec:
52+
acme:
53+
solvers:
54+
- dns01:
55+
azureDNS:
56+
zoneType: AzurePrivateZone # <- this field.
57+
```
58+
59+
More details are available in the PR: https://github.com/cert-manager/cert-manager/pull/8494.
2460
2561
## Community
2662
@@ -29,11 +65,25 @@ As always, we'd like to thank all of the community members who helped in this re
2965
A special thanks to:
3066
3167
{/* BEGIN contributors */}
68+
3269
- [`@LiquidPL`](https://github.com/LiquidPL)
33-
- [`@Peac36`](https://github.com/Peac36)
34-
- [`@mathieu-clnk`](https://github.com/mathieu-clnk)
70+
- [`@mathieu`](https://github.com/mathieu)
3571
- [`@mikeluttikhuis`](https://github.com/mikeluttikhuis)
36-
- [`@wallrj-cyberark`](https://github.com/wallrj-cyberark)
72+
- [`@iossifbenbassat123`](https://github.com/iossifbenbassat123)
73+
- [`@shubham14bajpai`](https://github.com/shubham14bajpai)
74+
- [`@changgesi`](https://github.com/changgesi)
75+
- [`@eleanor`](https://github.com/eleanor)
76+
- [`@jaxels10`](https://github.com/jaxels10)
77+
- [`@WinterCabbage`](https://github.com/WinterCabbage)
78+
- [`@calm329`](https://github.com/calm329)
79+
- [`@majiayu000`](https://github.com/majiayu000)
80+
- [`@FelixPhipps`](https://github.com/FelixPhipps)
81+
- [`@SlashNephy`](https://github.com/SlashNephy)
82+
- [`@dancmeyers`](https://github.com/dancmeyers)
83+
- [`@alviss7`](https://github.com/alviss7)
84+
- [`@tkna`](https://github.com/tkna)
85+
- [`@robertlestak`](https://github.com/robertlestak)
86+
3787
{/* END contributors */}
3888

3989
...for their contributions, comments and support!
@@ -48,6 +98,7 @@ Also, thanks to the cert-manager maintainer team for their help in this release:
4898
- [`@maelvls`](https://github.com/maelvls)
4999
- [`@munnerz`](https://github.com/munnerz)
50100
- [`@wallrj`](https://github.com/wallrj)
101+
- [`@hjoshi123`](https://github.com/hjoshi123) who just joined the team!
51102
{/* END maintainers */}
52103

53104
And finally, thanks to the cert-manager steering committee for their feedback in this release cycle:
@@ -59,22 +110,57 @@ And finally, thanks to the cert-manager steering committee for their feedback in
59110
- [`@ssyno`](https://github.com/ssyno)
60111
{/* END steerers */}
61112

62-
{/* BEGIN changelog v1.20.0-alpha.0 */}
63-
## `v1.20.0-alpha.0`
113+
{/* BEGIN changelog v1.20.0 */}
114+
## `v1.20.0`
64115

65116
Changes since `v1.19.0`:
66117

67118
### Feature
68119

69-
- Add built-in "Ready" status metrics for ClusterIssuer and Issuer resources. ([`#8188`](https://github.com/cert-manager/cert-manager/pull/8188), [`@mikeluttikhuis`](https://github.com/mikeluttikhuis))
70-
- Add support for specifying `imagePullSecrets` in the `startupapicheck-job` Helm template to enable pulling images from private registries. ([`#8186`](https://github.com/cert-manager/cert-manager/pull/8186), [`@mathieu-clnk`](https://github.com/mathieu-clnk))
120+
- Add a set of flags to permit setting NetworkPolicy across all deployed containers.
121+
Remove redundant global IP ranges from example policies. ([#8370](https://github.com/cert-manager/cert-manager/pull/8370), [`@jcpunk`](https://github.com/jcpunk))
122+
- Add selectable fields to custom resource definitions for `.spec.issuerRef.{group, kind, name}` ([#8256](https://github.com/cert-manager/cert-manager/pull/8256), [`@tareksha`](https://github.com/tareksha))
123+
- Add support for specifying `imagePullSecrets` in the `startupapicheck-job` Helm template to enable pulling images from private registries. ([#8186](https://github.com/cert-manager/cert-manager/pull/8186), [`@mathieu-clnk`](https://github.com/mathieu-clnk))
124+
- 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. ([#8355](https://github.com/cert-manager/cert-manager/pull/8355), [`@dancmeyers`](https://github.com/dancmeyers))
125+
- Added `parentRef` override annotations on the Certificate resource. ([#8518](https://github.com/cert-manager/cert-manager/pull/8518), [`@hjoshi123`](https://github.com/hjoshi123))
126+
- Added support for azure private zones for `dns01` issuer. ([#8494](https://github.com/cert-manager/cert-manager/pull/8494), [`@hjoshi123`](https://github.com/hjoshi123))
127+
- Added support for configuring PEM decoding size limits, allowing operators to handle larger certificates and keys. ([#7642](https://github.com/cert-manager/cert-manager/pull/7642), [`@robertlestak`](https://github.com/robertlestak))
128+
- Added support for `unhealthyPodEvictionPolicy` in PodDisruptionBudget ([#7728](https://github.com/cert-manager/cert-manager/pull/7728), [`@jcpunk`](https://github.com/jcpunk))
129+
- 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. ([#8301](https://github.com/cert-manager/cert-manager/pull/8301), [`@k0da`](https://github.com/k0da))
130+
- Improve error message when CA issuers are misconfigured to use a clashing secret name ([#8374](https://github.com/cert-manager/cert-manager/pull/8374), [`@majiayu000`](https://github.com/majiayu000))
131+
- Introduce a new Ingress annotation `acme.cert-manager.io/http01-ingress-ingressclassname` to override `http01.ingress.ingressClassName` field in HTTP-01 challenge solvers. ([#8244](https://github.com/cert-manager/cert-manager/pull/8244), [`@lunarwhite`](https://github.com/lunarwhite))
132+
- Update `global.nodeSelector` to helm chart to perform a `merge` and allow for a single `nodeSelector` to be set across all services. ([#8195](https://github.com/cert-manager/cert-manager/pull/8195), [`@StingRayZA`](https://github.com/StingRayZA))
133+
- Vault issuers will now include the Vault server address as one of the default audiences on generated service account tokens. ([#8228](https://github.com/cert-manager/cert-manager/pull/8228), [`@terinjokes`](https://github.com/terinjokes))
134+
- Added experimental XListenerSet feature gate ( [#8394](https://github.com/cert-manager/cert-manager/pull/8394), [`@hjoshi123`](https://github.com/hjoshi123))
135+
- Promoting `xlistenerset` feature gate to `listenerset` ([#8501](https://github.com/cert-manager/cert-manager/pull/8501), [`@hjoshi123`](https://github.com/hjoshi123))
136+
137+
### Documentation
138+
139+
- Add GWAPI documentation to `NOTES.TXT` in helm chart ([#8353](https://github.com/cert-manager/cert-manager/pull/8353), [`@jaxels10`](https://github.com/jaxels10))
71140

72141
### Bug or Regression
73142

74-
- Adds logs for cases when acme server returns us a fatal error in the order controller ([`#8199`](https://github.com/cert-manager/cert-manager/pull/8199), [`@Peac36`](https://github.com/Peac36))
75-
- BUGFIX: in case kind or group in the `issuerRef` of a Certificate was omitted, upgrading to `1.19.x` incorrectly caused the certificate to be renewed ([`#8160`](https://github.com/cert-manager/cert-manager/pull/8160), [`@inteon`](https://github.com/inteon))
76-
- Fix unregulated retries with the DigitalOcean DNS-01 solver ([`#8221`](https://github.com/cert-manager/cert-manager/pull/8221), [`@wallrj-cyberark`](https://github.com/wallrj-cyberark))
77-
- Add full detailed DNS-01 errors to the events attached to the Challenge, for easier debugging ([`#8221`](https://github.com/cert-manager/cert-manager/pull/8221), [`@wallrj-cyberark`](https://github.com/wallrj-cyberark))
78-
- Revert API defaults for issuer reference kind and group introduced in `1.19.0` ([`#8173`](https://github.com/cert-manager/cert-manager/pull/8173), [`@erikgb`](https://github.com/erikgb))
79-
- When Prometheus monitoring is enabled, the metrics label is now set to the intended value of `cert-manager`. Previously, it was set depending on various factors (namespace cert-manager is installed in and/or Helm release name). ([`#8162`](https://github.com/cert-manager/cert-manager/pull/8162), [`@LiquidPL`](https://github.com/LiquidPL))
80-
{/* END changelog v1.20.0-alpha.0 */}
143+
- Adds logs for cases when acme server returns us a fatal error in the order controller ([#8199](https://github.com/cert-manager/cert-manager/pull/8199), [`@Peac36`](https://github.com/Peac36))
144+
- BUGFIX: in case kind or group in the `issuerRef` of a Certificate was omitted, upgrading to v1.19.x incorrectly caused the certificate to be renewed ([#8160](https://github.com/cert-manager/cert-manager/pull/8160), [`@inteon`](https://github.com/inteon))
145+
- Changes to the Duration and `RenewBefore` annotations on ingress and `gateway-api` resources will now trigger certificate updates. ([#8232](https://github.com/cert-manager/cert-manager/pull/8232), [`@eleanor-merry`](https://github.com/eleanor-merry))
146+
- Fix an issue where ACME challenge TXT records are not cleaned up when there are many resource records in CloudDNS. ([#8456](https://github.com/cert-manager/cert-manager/pull/8456), [`@tkna`](https://github.com/tkna))
147+
- Fix unregulated retries with the DigitalOcean DNS-01 solver
148+
Add full detailed DNS-01 errors to the events attached to the Challenge, for easier debugging ([#8221](https://github.com/cert-manager/cert-manager/pull/8221), [`@wallrj-cyberark`](https://github.com/wallrj-cyberark))
149+
- 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. ([#8403](https://github.com/cert-manager/cert-manager/pull/8403), [`@calm329`](https://github.com/calm329))
150+
- 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. ([#8424](https://github.com/cert-manager/cert-manager/pull/8424), [`@SlashNephy`](https://github.com/SlashNephy))
151+
- Fixed the HTTP-01 Gateway solver creating invalid HTTPRoutes by not setting `spec.hostnames` when the challenge `DNSName` is an IP address. ([#8443](https://github.com/cert-manager/cert-manager/pull/8443), [`@alviss7`](https://github.com/alviss7))
152+
- Revert API defaults for issuer reference kind and group introduced in 0.19.0 ([#8173](https://github.com/cert-manager/cert-manager/pull/8173), [`@erikgb`](https://github.com/erikgb))
153+
- 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. ([#8469](https://github.com/cert-manager/cert-manager/pull/8469), [`@SgtCoDFish`](https://github.com/SgtCoDFish))
154+
- Update Go to `v1.25.5` to fix `CVE-2025-61727` and `CVE-2025-61729` ([#8290](https://github.com/cert-manager/cert-manager/pull/8290), [`@octo-sts[bot]`](https://github.com/apps/octo-sts))
155+
- When Prometheus monitoring is enabled, the metrics label is now set to the intended value of `cert-manager`. Previously, it was set depending on various factors (namespace cert-manager is installed in and/or Helm release name). ([#8162](https://github.com/cert-manager/cert-manager/pull/8162), [`@LiquidPL`](https://github.com/LiquidPL))
156+
157+
### Other (Cleanup or Flake)
158+
159+
- Promoted the `OtherNames` feature to Beta and enabled it by default ([#8288](https://github.com/cert-manager/cert-manager/pull/8288), [`@wallrj-cyberark`](https://github.com/wallrj-cyberark))
160+
- Rebranding of the Venafi Issuer to CyberArk ([#8215](https://github.com/cert-manager/cert-manager/pull/8215), [`@iossifbenbassat123`](https://github.com/iossifbenbassat123))
161+
- Switched to SSA for challenge finalizer updates ([#8519](https://github.com/cert-manager/cert-manager/pull/8519), [`@inteon`](https://github.com/inteon))
162+
- The default container user (UID) is now 65532 (previously 1000) and the default container group (GID) is now 65532 (previously 0) ([#8408](https://github.com/cert-manager/cert-manager/pull/8408), [`@wallrj-cyberark`](https://github.com/wallrj-cyberark))
163+
- The feature-gate `DefaultPrivateKeyRotationPolicyAlways` moved from Beta to GA and can no longer be disabled. ([#8287](https://github.com/cert-manager/cert-manager/pull/8287), [`@wallrj-cyberark`](https://github.com/wallrj-cyberark))
164+
- Update cert-manager's ACME client, forked from `golang/x/crypto` ([#8268](https://github.com/cert-manager/cert-manager/pull/8268), [`@SgtCoDFish`](https://github.com/SgtCoDFish))
165+
- Use the latest version of Kyverno (1.16.2) in the best-practice installation tests ([#8389](https://github.com/cert-manager/cert-manager/pull/8389), [`@wallrj-cyberark`](https://github.com/wallrj-cyberark))
166+
- We stopped testing with Contour due to it not supporting the new XListenerSet resource, and moved to `kgateway`. ([#8426](https://github.com/cert-manager/cert-manager/pull/8426), [`@hjoshi123`](https://github.com/hjoshi123))

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ title: Upgrading from v1.19 to v1.20
33
description: 'cert-manager installation: Upgrading v1.19 to v1.20'
44
---
55

6-
TODO
7-
8-
## Next Steps
9-
10-
From here on, you can follow the [regular upgrade process](../../installation/upgrade.md).
6+
No special upgrade steps are required to upgrade from cert-manager v1.19 to
7+
v1.20. You can follow the [regular upgrade process](../../installation/upgrade.md)
8+
to perform the upgrade.

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.20.0-alpha.0"
2+
"cert_manager_latest_version": "v1.20.0"
33
}

0 commit comments

Comments
 (0)