cert-manager/cert-manager (cert-manager)
### [`v1.14.4`](https://togithub.com/cert-manager/cert-manager/compare/v1.14.3...v1.14.4)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.14.3...v1.14.4)
### [`v1.14.3`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.3)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.14.2...v1.14.3)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.
##### ⚠️ Known Issues
- ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations
##### ℹ️ Documentation
[Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14)
[Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.13-1.14)
[Installation instructions](https://cert-manager.io/docs/installation/)
##### 🔧 Breaking changes
See Breaking changes in [v1.14.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.0)
##### 📜 Changes since v1.14.2
##### Bug or Regression
- BUGFIX: Fixes issue with JSON-logging, where only a subset of the log messages were output as JSON. ([#6781](https://togithub.com/cert-manager/cert-manager/issues/6781), [@jetstack-bot](https://togithub.com/jetstack-bot))
- BUGFIX: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). ([#6774](https://togithub.com/cert-manager/cert-manager/issues/6774), [@jetstack-bot](https://togithub.com/jetstack-bot))
### [`v1.14.2`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.2)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.14.1...v1.14.2)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.
##### ℹ️ Documentation
[Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14)
[Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.13-1.14)
[Installation instructions](https://cert-manager.io/docs/installation/)
##### 🔧 Breaking changes
See `Breaking changes` in [v1.14.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.0)
##### 📜 Changes since `v1.14.1`
##### Bug or Regression
- BUGFIX: cert-manager CA and SelfSigned issuers incorrectly copied the critical flag from the CSR instead of re-calculating that field themselves. ([#6727](https://togithub.com/cert-manager/cert-manager/issues/6727), [@jetstack-bot](https://togithub.com/jetstack-bot))
- Helm: Fix a bug in the logic that differentiates between 0 and an empty value. ([#6729](https://togithub.com/cert-manager/cert-manager/issues/6729), [@jetstack-bot](https://togithub.com/jetstack-bot))
##### Other (Cleanup or Flake)
- Bump golang to 1.21.7 ([#6735](https://togithub.com/cert-manager/cert-manager/issues/6735), [@jetstack-bot](https://togithub.com/jetstack-bot))
### [`v1.14.1`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.1)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.14.0...v1.14.1)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.
> ⚠️ This version has known issues. Please install `v1.14.2` instead.
##### ⚠️ Known Issues (fixed in `v1.14.2`)
- In cert-manager v1.14.0 and v1.14.1, the `CA` and `SelfSigned` issuers issue certificates with SANs set to non-critical even when the subject is empty. It incorrectly copies the critical field from the CSR.
##### 🔧 Breaking changes
See `Breaking changes` in [v1.14.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.0)
##### ℹ️ Documentation
- [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14)
- [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.13-1.14)
- [Installation instructions](https://cert-manager.io/docs/installation/)
##### 📜 Changes since `v1.14.0`
##### Bug or Regression
- Fix broken cainjector image value in Helm chart ([#6693](https://togithub.com/cert-manager/cert-manager/pull/6693), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- Fix bug in cmctl namespace detection which prevented it being used as a startupapicheck image in namespaces other than cert-manager. ([#6706](https://togithub.com/cert-manager/cert-manager/pull/6706), [@inteon](https://togithub.com/inteon))
- Fix bug in cmctl which caused `cmctl experimental install` to panic. ([#6706](https://togithub.com/cert-manager/cert-manager/pull/6706), [@inteon](https://togithub.com/inteon))
### [`v1.14.0`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.0)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.5...v1.14.0)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions.
> ⚠️ This version has known issues. Please install `v1.14.2` instead.
##### ⚠️ Known Issues (fixed in `v1.14.1+`)
- During the release of `v1.14.0`, the Helm chart for this version was found to use the wrong OCI image for the `cainjector` Deployment,
which caused the Helm installation to fail.
In order to complete the release, the cert-manager team have manually updated the Helm chart for this version,
which contains all the Helm chart fixes which are in `v1.14.1`.
- A bug in cmctl namespace detection prevents it being used as a `startupapicheck` image in namespaces other than cert-manager.
- A bug in cmctl causes `cmctl experimental install` to panic.
##### 🔧 Breaking Changes
The startupapicheck job uses a new OCI image called "startupapicheck", instead of the ctl image.
If you run in an environment in which images cannot be pulled, be sure to include the new image.
The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob.
##### 🗺️ Major Themes
##### New X.509 Features
The cert-manager Certificate resource now allows you to configure a subset of "Other Name" SANs,
which are described in the [Subject Alternative Name section of RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6) (on page 37).
We specifically support any `otherName` type with a `UTF-8` value, such as the [User Principal Name](https://docs.venafi.com/Docs/current/TopNav/Content/Certificates/r-UEP-support-SANs.php) or [`sAMAccountName`](https://learn.microsoft.com/en-us/windows/win32/ad/naming-properties).
These are useful when issuing unique certificates for authenticating with LDAP systems such as Microsoft Active Directory.
For example you can create certificates with this block in the spec:
otherNames:
- oid: 1.3.6.1.4.1.311.20.2.3 # UPN OID
utf8Value: upn@domain.local
The feature is still in alpha stage and requires you to [enable the `OtherName` feature flag in the controller and webhook components](../../installation/configuring-components.md#feature-gates).
##### New CA certificate Features
You can now specify the X.509 v3 Authority Information Accessors extension,
with URLs for certificates issued by the CA issuer.
Users can now use name constraints in CA certificates.
To know more details on name constraints check out RFC section https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10
##### Security
An ongoing security audit of the cert-manager code revealed some weaknesses which we have addressed in this release,
such as using more secure default settings in the HTTP servers that serve metrics, healthz and pprof endpoints.
This will help mitigate denial-of-service attacks against those important services.
All the cert-manager containers are now configured with read only root file system by default,
to prevent unexpected changes to the file system of the OCI image.
And it is now possible to configure the metrics server to use HTTPS rather than HTTP,
so that clients can verify the identity of the metrics server.
##### Other
The liveness probe of the cert-manager controller Pod is now enabled by default.
There is a new option `.spec.keystores.pkcs12.algorithms` to specify encryption and MAC algorithms for PKCS.
##### 🤝 Community
Thanks again to all open-source contributors with commits in this release, including:
- [@ABWassim](https://togithub.com/ABWassim)
- [@JoeNorth](https://togithub.com/JoeNorth)
- [@allenmunC1](https://togithub.com/allenmunC1)
- [@asapekia](https://togithub.com/asapekia)
- [@jeremycampbell](https://togithub.com/jeremycampbell)
- [@jkroepke](https://togithub.com/jkroepke)
- [@jsoref](https://togithub.com/jsoref)
- [@lauraseidler](https://togithub.com/lauraseidler)
- [@pevidex](https://togithub.com/pevidex)
- [@phillebaba](https://togithub.com/phillebaba)
- [@snorwin](https://togithub.com/snorwin)
- [@tanujd11](https://togithub.com/tanujd11)
- [@tberreis](https://togithub.com/tberreis)
- [@vinny](https://togithub.com/vinny)
Thanks also to the following cert-manager maintainers for their contributions during this release:
- [@SgtCoDFish](https://togithub.com/SgtCoDFish)
- [@SpectralHiss](https://togithub.com/SpectralHiss)
- [@ThatsMrTalbot](https://togithub.com/ThatsMrTalbot)
- [@hawksight](https://togithub.com/hawksight)
- [@inteon](https://togithub.com/inteon)
- [@maelvls](https://togithub.com/maelvls)
- [@wallrj](https://togithub.com/wallrj)
Equally thanks to everyone who provided feedback, helped users and raised issues on GitHub and Slack and joined our meetings!
Thanks also to the [CNCF](https://www.cncf.io/), which provides resources and support, and to the AWS open source team for being good community members and for their maintenance of the [PrivateCA Issuer](https://togithub.com/cert-manager/aws-privateca-issuer).
In addition, massive thanks to [Venafi](https://www.venafi.com/) for contributing developer time and resources towards the continued maintenance of cert-manager projects.
##### 📜 Changes
##### Feature
- ACME challenge solver Pod for HTTP01 will get a default annotation of `"cluster-autoscaler.kubernetes.io/safe-to-evict": "true"`. You can provide an annotation of `"cluster-autoscaler.kubernetes.io/safe-to-evict": "false"` in your `podTemplate` if you don't like this. ([#6349](https://togithub.com/cert-manager/cert-manager/pull/6349), [@jsoref](https://togithub.com/jsoref))
- Added a clock skew detector liveness probe that will force a restart in case we detect a skew between the internal monotonic clock and the system clock of more than 5 minutes.
Also, the controller's liveness probe is now enabled by default. ([#6328](https://togithub.com/cert-manager/cert-manager/pull/6328), [@inteon](https://togithub.com/inteon))
- Added a new flag (--dynamic-serving-leaf-duration) that can adjust the lifetime of the dynamic leaf certificates ([#6552](https://togithub.com/cert-manager/cert-manager/pull/6552), [@allenmunC1](https://togithub.com/allenmunC1))
- Added support for `otherName` SANS in Certificates ([#6404](https://togithub.com/cert-manager/cert-manager/pull/6404), [@SpectralHiss](https://togithub.com/SpectralHiss))
- Added the option to specify the X.509 v3 Authority Information Accessors extension CA Issuers URLs for certificates issued by the CA issuer. ([#6486](https://togithub.com/cert-manager/cert-manager/pull/6486), [@jeremycampbell](https://togithub.com/jeremycampbell-okta))
- Adds cert-manager's new core infrastructure initiative badge! See more details on https://www.bestpractices.dev/projects/8079 ([#6497](https://togithub.com/cert-manager/cert-manager/pull/6497), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- All Pods are now configured with `readOnlyRootFilesystem` by default. ([#6453](https://togithub.com/cert-manager/cert-manager/pull/6453), [@wallrj](https://togithub.com/wallrj))
- MAYBE BREAKING: The startupapicheck job is now handled by an entirely new container called "startupapicheck". This replaces the previous ctl container. If you run in an environment in which images cannot be pulled, be sure to include the new container. ([#6549](https://togithub.com/cert-manager/cert-manager/pull/6549), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- New option `.spec.keystores.pkcs12.algorithms` to specify encryption and MAC algorithms for PKCS[#12](https://togithub.com/cert-manager/cert-manager/pull/12) keystores. Fixes issues [#5957](https://togithub.com/cert-manager/cert-manager/pull/5957) and [#6523](https://togithub.com/cert-manager/cert-manager/pull/6523). ([#6548](https://togithub.com/cert-manager/cert-manager/pull/6548), [@snorwin](https://togithub.com/snorwin))
- The ACME HTTP01 solver Pod is now configured with `readOnlyRootFilesystem: true` ([#6462](https://togithub.com/cert-manager/cert-manager/pull/6462), [@wallrj](https://togithub.com/wallrj))
- Updates the AWS SDK for Go to 1.48.7 to support Amazon EKS Pod Identity ([#6519](https://togithub.com/cert-manager/cert-manager/pull/6519), [@JoeNorth](https://togithub.com/JoeNorth))
- Users can now use name constraints in CA certificates. To know more details on name constraints check out RFC section https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10 ([#6500](https://togithub.com/cert-manager/cert-manager/pull/6500), [@tanujd11](https://togithub.com/tanujd11))
- ⚠️ potentially breaking ⚠️: The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob. ([#6053](https://togithub.com/cert-manager/cert-manager/pull/6053), [@inteon](https://togithub.com/inteon))
- Add TLS support to the metrics endpoint through either a certificate file or through dynamically issued certificates ([#6574](https://togithub.com/cert-manager/cert-manager/pull/6574), [@ThatsMrTalbot](https://togithub.com/ThatsMrTalbot))
- Helm Chart: allow changing the default Deployment `revisionHistoryLimit` ([#6248](https://togithub.com/cert-manager/cert-manager/pull/6248), [@tberreis](https://togithub.com/tberreis))
- Security: Limit the size of the response body read from HTTP requests by cert-manager. ([#6619](https://togithub.com/cert-manager/cert-manager/pull/6619), [@ThatsMrTalbot](https://togithub.com/ThatsMrTalbot))
- Support custom `spec.namespaceSelector` for webhooks ([#6638](https://togithub.com/cert-manager/cert-manager/pull/6638), [@jkroepke](https://togithub.com/jkroepke))
##### Bug or Regression
- BUGFIX\[helm]: Fix issue where webhook feature gates were only set if controller feature gates are set. ([#6380](https://togithub.com/cert-manager/cert-manager/pull/6380), [@asapekia](https://togithub.com/asapekia))
- Controller ConfigMap is now created only if `.Values.config` is set. ([#6357](https://togithub.com/cert-manager/cert-manager/pull/6357), [@ABWassim](https://togithub.com/ABWassim))
- Fix runaway bug caused by multiple Certificate resources that point to the same Secret resource. ([#6406](https://togithub.com/cert-manager/cert-manager/pull/6406), [@inteon](https://togithub.com/inteon))
- Fix(helm): templating of required value in controller and webhook ConfigMap resources ([#6435](https://togithub.com/cert-manager/cert-manager/pull/6435), [@ABWassim](https://togithub.com/ABWassim))
- Fixed a webhook validation error message when the key algorithm was invalid. ([#6571](https://togithub.com/cert-manager/cert-manager/pull/6571), [@pevidex](https://togithub.com/pevidex))
- Fixed error messaging when setting up vault issuer ([#6433](https://togithub.com/cert-manager/cert-manager/pull/6433), [@vinny](https://togithub.com/vinny-sabatini))
- `GHSA-vgf6-pvf4-34rq`: The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size `>= 3MiB`. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory.
The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body.
The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request. ([#6498](https://togithub.com/cert-manager/cert-manager/pull/6498), [@inteon](https://togithub.com/inteon))
- Increase the default webhook timeout to its maximum value of 30 seconds, so that the underlying timeout error message has more chance of being returned to the end user. ([#6488](https://togithub.com/cert-manager/cert-manager/pull/6488), [@wallrj](https://togithub.com/wallrj))
- Listeners that do not support TLS on Gateway resources will now not raise `BadConfig` warnings anymore ([#6347](https://togithub.com/cert-manager/cert-manager/pull/6347), [@lauraseidler](https://togithub.com/lauraseidler))
- Mitigate potential Slowloris attacks by setting `ReadHeaderTimeout` in all `http.Server` instances ([#6534](https://togithub.com/cert-manager/cert-manager/pull/6534), [@wallrj](https://togithub.com/wallrj))
- The Venafi issuer now properly resets the certificate and should no longer get stuck with `WebSDK CertRequest Module Requested Certificate` or `This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.`. ([#6398](https://togithub.com/cert-manager/cert-manager/pull/6398), [@maelvls](https://togithub.com/maelvls))
- Update experimental install and uninstall commands to have flag parity with the rest of the CLI ([#6562](https://togithub.com/cert-manager/cert-manager/pull/6562), [@ThatsMrTalbot](https://togithub.com/ThatsMrTalbot))
- Webhook ConfigMap if now created only if `.Values.webhook.config` is set. ([#6360](https://togithub.com/cert-manager/cert-manager/pull/6360), [@ABWassim](https://togithub.com/ABWassim))
- BUGFIX: Ensure `otherName` SAN changes in Certificate resources trigger re-issuance. ([#6620](https://togithub.com/cert-manager/cert-manager/pull/6620), [@SpectralHiss](https://togithub.com/SpectralHiss))
- Bugfix: Publish the `startupapicheck` image to `quay.io` ([#6609](https://togithub.com/cert-manager/cert-manager/pull/6609), [@wallrj](https://togithub.com/wallrj))
##### Other (Cleanup or Flake)
- Cert-manager is now built with Go 1.21.5 ([#6545](https://togithub.com/cert-manager/cert-manager/pull/6545), [@wallrj](https://togithub.com/wallrj))
- Bump Go to `1.21.3` to address `CVE-2023-39325`. Also bumps base images. ([#6410](https://togithub.com/cert-manager/cert-manager/pull/6410), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- Bump `golang.org/x/net v0.15.0 => v0.17.0` as part of addressing `CVE-2023-44487` / `CVE-2023-39325` ([#6427](https://togithub.com/cert-manager/cert-manager/pull/6427), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- Check code for unintended use of `crypto/md5`, a weak cryptographic primitive; using `golangci-lint` / `gosec` (G501). ([#6581](https://togithub.com/cert-manager/cert-manager/pull/6581), [@wallrj](https://togithub.com/wallrj))
- Check code for unintended use of `crypto/sha1`, a weak cryptographic primitive; using `golangci-lint` / `gosec` (G505). ([#6579](https://togithub.com/cert-manager/cert-manager/pull/6579), [@wallrj](https://togithub.com/wallrj))
- Check code for unintended use of weak random number generator (`math/rand` instead of `crypto/rand`); using `golangci-lint` / `gosec` (G404). ([#6582](https://togithub.com/cert-manager/cert-manager/pull/6582), [@wallrj](https://togithub.com/wallrj))
- Cleanup: Restrict MutatingWebhookConfiguration to only CertificateRequest resources ([#6311](https://togithub.com/cert-manager/cert-manager/pull/6311), [@hawksight](https://togithub.com/hawksight))
- Deprecated `pkg/util.RandStringRunes` and `pkg/controller/test.RandStringBytes`. Use `k8s.io/apimachinery/pkg/util/rand.String` instead. ([#6585](https://togithub.com/cert-manager/cert-manager/pull/6585), [@wallrj](https://togithub.com/wallrj))
- Enabled verbose logging in startupapicheck by default, so that if it fails, users can know exactly what caused the failure. ([#6495](https://togithub.com/cert-manager/cert-manager/pull/6495), [@wallrj](https://togithub.com/wallrj))
- Fix gosec G601: Implicit memory aliasing of items from a range statement ([#6551](https://togithub.com/cert-manager/cert-manager/pull/6551), [@wallrj](https://togithub.com/wallrj))
- Fix handling of serial numbers in literal certificate subjects. Previously a serial number could be specified in `subject.serialNumber` while using a literal certificate subject. This was a mistake and has been fixed. ([#6533](https://togithub.com/cert-manager/cert-manager/pull/6533), [@inteon](https://togithub.com/inteon))
- The end-to-end tests can now test the cert-manager Vault Issuer on an OpenShift cluster. ([#6391](https://togithub.com/cert-manager/cert-manager/pull/6391), [@wallrj](https://togithub.com/wallrj))
- Update cert-manager's distroless base images from Debian 11 to Debian 12. This should have no practical effects on users. ([#6583](https://togithub.com/cert-manager/cert-manager/pull/6583), [@inteon](https://togithub.com/inteon))
- Updated all code using GatewayAPI to use the now GA v1 APIs ([#6559](https://togithub.com/cert-manager/cert-manager/pull/6559), [@ThatsMrTalbot](https://togithub.com/ThatsMrTalbot))
- Upgrade Go from 1.20.7 to 1.20.8. ([#6369](https://togithub.com/cert-manager/cert-manager/pull/6369), [@inteon](https://togithub.com/inteon))
- Upgrade `github.com/emicklei/go-restful/v3` to `v3.11.0` because `v3.10.2` is labeled as "DO NOT USE". ([#6366](https://togithub.com/cert-manager/cert-manager/pull/6366), [@inteon](https://togithub.com/inteon))
- Use the new generic `sets.Set` type in place of the deprecated `sets.String`. ([#6586](https://togithub.com/cert-manager/cert-manager/pull/6586), [@wallrj](https://togithub.com/wallrj))
- cert-manager is now built with Go `v1.21.6` ([#6628](https://togithub.com/cert-manager/cert-manager/pull/6628), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- Update the Azure SDK and remove deprecated `autorest` dependency ([#5452](https://togithub.com/cert-manager/cert-manager/pull/5452), [@phillebaba](https://togithub.com/phillebaba))
- The cert-manager E2E tests can now be run on Kubernetes 1.29 ([#6641](https://togithub.com/cert-manager/cert-manager/pull/6641), [@wallrj](https://togithub.com/wallrj))
### [`v1.13.5`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.5)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.4...v1.13.5)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
##### ⚠️ Known Issues
- ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations
##### ℹ️ Documentation
[Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.13)
[Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.12-1.13)
[Installation instructions](https://cert-manager.io/docs/installation/)
##### 🔧 Breaking changes
See Breaking changes in [v1.13.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.0)
##### 📜 Changes since v1.13.4
##### Bug or Regression
- Allow `cert-manager.io/allow-direct-injection` in annotations ([#6810](https://togithub.com/cert-manager/cert-manager/issues/6810), [@jetstack-bot](https://togithub.com/jetstack-bot))
- BUGFIX: JKS and PKCS12 stores now contain the full set of CAs specified by an issuer ([#6814](https://togithub.com/cert-manager/cert-manager/issues/6814), [@inteon](https://togithub.com/inteon))
- BUGFIX: fix race condition due to registering and using global runtime.Scheme variables ([#6832](https://togithub.com/cert-manager/cert-manager/issues/6832), [@inteon](https://togithub.com/inteon))
##### Other (Cleanup or Flake)
- Bump base images to the latest version. ([#6841](https://togithub.com/cert-manager/cert-manager/issues/6841), [@inteon](https://togithub.com/inteon))
- Upgrade go to 1.21.8: fixes CVE-2024-24783 ([#6824](https://togithub.com/cert-manager/cert-manager/issues/6824), [@inteon](https://togithub.com/inteon))
- Upgrade google.golang.org/protobuf: fixing GO-2024-2611 ([#6828](https://togithub.com/cert-manager/cert-manager/issues/6828), [@inteon](https://togithub.com/inteon))
### [`v1.13.4`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.4)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.3...v1.13.4)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
##### ⚠️ Known Issues
- ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations
##### ℹ️ Documentation
[Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.13)
[Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.12-1.13)
[Installation instructions](https://cert-manager.io/docs/installation/)
##### 🔧 Breaking changes
See Breaking changes in [v1.13.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.0)
##### 📜 Changes since v1.13.3
##### Bug or Regression
- BUGFIX: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). ([#6772](https://togithub.com/cert-manager/cert-manager/issues/6772), [@jetstack-bot](https://togithub.com/jetstack-bot))
##### Other (Cleanup or Flake)
- Bump go to 1.20.14 ([#6736](https://togithub.com/cert-manager/cert-manager/issues/6736), [@jetstack-bot](https://togithub.com/jetstack-bot))
- Cert-manager is now built with Go 1.20.12 ([#6544](https://togithub.com/cert-manager/cert-manager/issues/6544), [@wallrj](https://togithub.com/wallrj))
- Cert-manager is now built with Go 1.20.13 ([#6630](https://togithub.com/cert-manager/cert-manager/issues/6630), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- Fix CVE 2023 48795 by upgrading to golang.org/x/crypto@v0.17.0 ([#6675](https://togithub.com/cert-manager/cert-manager/issues/6675), [@wallrj](https://togithub.com/wallrj))
- Fix GHSA-7ww5-4wqc-m92c by upgrading to `github.com/containerd/containerd@v1.7.12` ([#6684](https://togithub.com/cert-manager/cert-manager/issues/6684), [@wallrj](https://togithub.com/wallrj))
### [`v1.13.3`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.3)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.2...v1.13.3)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
> ⚠️ Read about the [**breaking changes in cert-manager 1.13**](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.0) before you upgrade from a < v1.13 version!
This patch release contains fixes for the following security vulnerabilities in the cert-manager-controller:
- [`GO-2023-2334`](https://pkg.go.dev/vuln/GO-2023-2334): Decryption of malicious PBES2 JWE objects can consume unbounded system resources.
If you use [ArtifactHub Security report](https://artifacthub.io/packages/helm/cert-manager/cert-manager/1.13.2?modal=security-report) or [trivy](https://trivy.dev/), this patch will also silence the following warning about a vulnerability in code which is imported but **not used** by the cert-manager-controller:
- [`CVE-2023-47108`](https://access.redhat.com/security/cve/CVE-2023-47108): DoS vulnerability in `otelgrpc` due to unbound cardinality metrics.
An ongoing security audit of cert-manager suggested some changes to the webhook code to mitigate DoS attacks, and these are included in this patch release.
##### Changes
##### Bug or Regression
- The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size `>= 3MiB`. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory. ([#6507](https://togithub.com/cert-manager/cert-manager/pull/6507), [@inteon](https://togithub.com/inteon))
- The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body. ([#6507](https://togithub.com/cert-manager/cert-manager/pull/6507), [@inteon](https://togithub.com/inteon))
- The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request. ([#6507](https://togithub.com/cert-manager/cert-manager/pull/6507), [@inteon](https://togithub.com/inteon))
- Mitigate potential "Slowloris" attacks by setting `ReadHeaderTimeout` in all `http.Server` instances. ([#6538](https://togithub.com/cert-manager/cert-manager/pull/6538), [@wallrj](https://togithub.com/wallrj))
- Upgrade Go modules: `otel`, `docker`, and `jose` to fix CVE alerts. See https://github.com/advisories/GHSA-8pgv-569h-w5rw, https://github.com/advisories/GHSA-jq35-85cj-fj4p, and https://github.com/advisories/GHSA-2c7c-3mj9-8fqh. ([#6514](https://togithub.com/cert-manager/cert-manager/pull/6514), [@inteon](https://togithub.com/inteon))
##### Dependencies
##### Added
*Nothing has changed.*
##### Changed
- `cloud.google.com/go/firestore`: `v1.11.0 → v1.12.0`
- `cloud.google.com/go`: `v0.110.6 → v0.110.7`
- `github.com/felixge/httpsnoop`: [`v1.0.3 → v1.0.4`](https://togithub.com/felixge/httpsnoop/compare/v1.0.3...v1.0.4)
- `github.com/go-jose/go-jose/v3`: [`v3.0.0 → v3.0.1`](https://togithub.com/go-jose/go-jose/v3/compare/v3.0.0...v3.0.1)
- `github.com/go-logr/logr`: [`v1.2.4 → v1.3.0`](https://togithub.com/go-logr/logr/compare/v1.2.4...v1.3.0)
- `github.com/golang/glog`: [`v1.1.0 → v1.1.2`](https://togithub.com/golang/glog/compare/v1.1.0...v1.1.2)
- `github.com/google/go-cmp`: [`v0.5.9 → v0.6.0`](https://togithub.com/google/go-cmp/compare/v0.5.9...v0.6.0)
- `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc`: `v0.45.0 → v0.46.0`
- `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp`: `v0.44.0 → v0.46.0`
- `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`: `v1.19.0 → v1.20.0`
- `go.opentelemetry.io/otel/exporters/otlp/otlptrace`: `v1.19.0 → v1.20.0`
- `go.opentelemetry.io/otel/metric`: `v1.19.0 → v1.20.0`
- `go.opentelemetry.io/otel/sdk`: `v1.19.0 → v1.20.0`
- `go.opentelemetry.io/otel/trace`: `v1.19.0 → v1.20.0`
- `go.opentelemetry.io/otel`: `v1.19.0 → v1.20.0`
- `go.uber.org/goleak`: `v1.2.1 → v1.3.0`
- `golang.org/x/sys`: `v0.13.0 → v0.14.0`
- `google.golang.org/genproto/googleapis/api`: `f966b18 → b8732ec`
- `google.golang.org/genproto`: `f966b18 → b8732ec`
- `google.golang.org/grpc`: `v1.58.3 → v1.59.0`
##### Removed
*Nothing has changed.*
### [`v1.13.2`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.2)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.1...v1.13.2)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
v1.13.2 fixes some CVE alerts and contains fixes for:
1. a CertificateRequest runaway situation in case two Certificate resources point to the same Secret target resource
2. a small bug in the Helm chart (feature gate options)
3. a Venafi issuer bug
##### ⚠️ READ https://github.com/cert-manager/cert-manager/releases/tag/v1.13.0 before you upgrade from a < v1.13 version!
##### Changes since v1.13.1
##### Bug or Regression
- Bump golang.org/x/net v0.15.0 => v0.17.0 as part of addressing CVE-2023-44487 / CVE-2023-39325 ([#6432](https://togithub.com/cert-manager/cert-manager/issues/6432), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- BUGFIX\[helm]: Fix issue where webhook feature gates were only set if controller feature gates are set. ([#6381](https://togithub.com/cert-manager/cert-manager/issues/6381), [@asapekia](https://togithub.com/asapekia))
- Fix runaway bug caused by multiple Certificate resources that point to the same Secret resource. ([#6425](https://togithub.com/cert-manager/cert-manager/issues/6425), [@inteon](https://togithub.com/inteon))
- The Venafi issuer now properly resets the certificate and should no longer get stuck with `WebSDK CertRequest Module Requested Certificate` or `This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.`. ([#6402](https://togithub.com/cert-manager/cert-manager/issues/6402), [@maelvls](https://togithub.com/maelvls))
##### Other (Cleanup or Flake)
- Bump go to 1.20.10 to address CVE-2023-39325. Also bumps base images. ([#6411](https://togithub.com/cert-manager/cert-manager/issues/6411), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
### [`v1.13.1`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.1)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.0...v1.13.1)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
v1.13.1 contains a bugfix for a name collision bug in the StableCertificateRequestName feature that was enabled by default in v1.13.0.
##### ⚠️ READ https://github.com/cert-manager/cert-manager/releases/tag/v1.13.0 before you upgrade from a < v1.13 version!
##### Changes since v1.13.0
##### Bug or Regression
- BUGFIX: fix CertificateRequest name collision bug in StableCertificateRequestName feature. ([#6358](https://togithub.com/cert-manager/cert-manager/issues/6358), [@jetstack-bot](https://togithub.com/jetstack-bot))
##### Other (Cleanup or Flake)
- Upgrade `github.com/emicklei/go-restful/v3` to `v3.11.0` because `v3.10.2` is labeled as "DO NOT USE". ([#6368](https://togithub.com/cert-manager/cert-manager/issues/6368), [@inteon](https://togithub.com/inteon))
- Upgrade Go from 1.20.7 to 1.20.8. ([#6370](https://togithub.com/cert-manager/cert-manager/issues/6370), [@jetstack-bot](https://togithub.com/jetstack-bot))
### [`v1.13.0`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.0)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.12.9...v1.13.0)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
This is the 1.13 release of cert-manager!
cert-manager 1.13 brings support for DNS over HTTPS, support for loading options from a versioned
config file for the cert-manager controller, and more. This release also includes the promotion of
the StableCertificateRequestName and SecretsFilteredCaching feature gates to Beta.
#### Known issues
The `StableCertificateRequestName` that was promoted to Beta contains a "name collision" bug: [https://github.com/cert-manager/cert-manager/issues/6342](https://togithub.com/cert-manager/cert-manager/issues/6342)
This is fixed in v1.13.1+
#### Breaking Changes (You MUST read this before you upgrade!)
1. **IMPORTANT NOTE**: If upgrading from a version below v1.12, upgrade to the latest v1.12 release before upgrading to v1.13. Otherwise, some certificates may be unexpectedly re-issued (see [https://github.com/cert-manager/cert-manager/issues/6494#issuecomment-1816112309](https://togithub.com/cert-manager/cert-manager/issues/6494#issuecomment-1816112309))
2. **BREAKING** : If you deploy cert-manager using helm and have `.featureGates` value set, the features defined there will no longer be passed to cert-manager webhook, only to cert-manager controller. Use `webhook.featureGates` field instead to define features to be enabled on webhook. ([#6093](https://togithub.com/cert-manager/cert-manager/issues/6093), [@irbekrm](https://togithub.com/irbekrm))
3. **Potentially breaking**: If you were, for some reason, passing cert-manager controller's features to webhook's `--feature-gates` flag, this will now break (unless the webhook actually has a feature by that name). ([#6093](https://togithub.com/cert-manager/cert-manager/issues/6093), [@irbekrm](https://togithub.com/irbekrm))
4. **Potentially breaking**: Webhook validation of CertificateRequest resources is stricter now: all KeyUsages and ExtendedKeyUsages must be defined directly in the CertificateRequest resource, the encoded CSR can never contain more usages that defined there. ([#6182](https://togithub.com/cert-manager/cert-manager/issues/6182), [@inteon](https://togithub.com/inteon))
#### Community
Welcome to these new cert-manager members (more info - [https://github.com/cert-manager/cert-manager/pull/6260](https://togithub.com/cert-manager/cert-manager/pull/6260)):
[@jsoref](https://togithub.com/jsoref)
[@FlorianLiebhart](https://togithub.com/FlorianLiebhart)
[@hawksight](https://togithub.com/hawksight)
[@erikgb](https://togithub.com/erikgb)
Thanks again to all open-source contributors with commits in this release, including:
[@AcidLeroy](https://togithub.com/AcidLeroy)
[@FlorianLiebhart](https://togithub.com/FlorianLiebhart)
[@lucacome](https://togithub.com/lucacome)
[@cypres](https://togithub.com/cypres)
[@erikgb](https://togithub.com/erikgb)
[@ubergesundheit](https://togithub.com/ubergesundheit)
[@jkroepke](https://togithub.com/jkroepke)
[@jsoref](https://togithub.com/jsoref)
[@gdvalle](https://togithub.com/gdvalle)
[@rouke-broersma](https://togithub.com/rouke-broersma)
[@schrodit](https://togithub.com/schrodit)
[@zhangzhiqiangcs](https://togithub.com/zhangzhiqiangcs)
[@arukiidou](https://togithub.com/arukiidou)
[@hawksight](https://togithub.com/hawksight)
[@Richardds](https://togithub.com/Richardds)
[@kahirokunn](https://togithub.com/kahirokunn)
Thanks also to the following cert-manager maintainers for their contributions during this release:
[@SgtCoDFish](https://togithub.com/SgtCoDFish)
[@maelvls](https://togithub.com/maelvls)
[@irbekrm](https://togithub.com/irbekrm)
[@inteon](https://togithub.com/inteon)
Equally thanks to everyone who provided feedback, helped users and raised issues on Github and Slack and joined our meetings!
Special thanks to [@AcidLeroy](https://togithub.com/AcidLeroy) for adding "load options from a versioned config file" support for the cert-manager controller! This has been on our wishlist for a very long time. (see [https://github.com/cert-manager/cert-manager/pull/5337](https://togithub.com/cert-manager/cert-manager/pull/5337))
Also, thanks a lot to [@FlorianLiebhart](https://togithub.com/FlorianLiebhart) for adding support for DNS over HTTPS for the ACME DNS self-check. This is very useful in case all traffic must be HTTP(S) trafic, eg. when using a HTTPS_PROXY. (see [https://github.com/cert-manager/cert-manager/pull/5003](https://togithub.com/cert-manager/cert-manager/pull/5003))
Thanks also to the [CNCF](https://www.cncf.io/), which provides resources and support, and to the AWS open source team for being good community members and for their maintenance of the [PrivateCA Issuer](https://togithub.com/cert-manager/aws-privateca-issuer).
In addition, massive thanks to [Venafi](https://www.venafi.com/) for contributing developer time and resources towards the continued maintenance of cert-manager projects.
#### Changes since v1.12.0
##### Feature
- Add support for logging options to webhook config file. ([#6243](https://togithub.com/cert-manager/cert-manager/issues/6243), [@inteon](https://togithub.com/inteon))
- Add view permissions to the well-known (Openshift) user-facing `cluster-reader` aggregated cluster role ([#6241](https://togithub.com/cert-manager/cert-manager/issues/6241), [@erikgb](https://togithub.com/erikgb))
- Certificate Shim: distinguish dns names and ip address in certificate ([#6267](https://togithub.com/cert-manager/cert-manager/issues/6267), [@zhangzhiqiangcs](https://togithub.com/zhangzhiqiangcs))
- Cmctl can now be imported by third parties. ([#6049](https://togithub.com/cert-manager/cert-manager/issues/6049), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- Make `enableServiceLinks` configurable for all Deployments and `startupapicheck` Job in Helm chart. ([#6292](https://togithub.com/cert-manager/cert-manager/issues/6292), [@ubergesundheit](https://togithub.com/ubergesundheit))
- Promoted the StableCertificateRequestName and SecretsFilteredCaching feature gates to Beta (enabled by default). ([#6298](https://togithub.com/cert-manager/cert-manager/issues/6298), [@inteon](https://togithub.com/inteon))
- The cert-manager controller options are now configurable using a configuration file. ([#5337](https://togithub.com/cert-manager/cert-manager/issues/5337), [@AcidLeroy](https://togithub.com/AcidLeroy))
- The pki CertificateTemplate functions now perform validation of the CSR blob, making sure we sign a Certificate that matches the IsCA and (Extended)KeyUsages that are defined in the CertificateRequest resource. ([#6199](https://togithub.com/cert-manager/cert-manager/issues/6199), [@inteon](https://togithub.com/inteon))
- \[helm] Add prometheus.servicemonitor.endpointAdditionalProperties to define additional properties on a ServiceMonitor endpoint, e.g. relabelings ([#6110](https://togithub.com/cert-manager/cert-manager/issues/6110), [@jkroepke](https://togithub.com/jkroepke))
##### Design
- DNS over HTTPS (DoH) is now possible for doing the self-checks during the ACME verification.
The DNS check method to be used is controlled through the command line flag: `--dns01-recursive-nameservers-only=true` in combination with `--dns01-recursive-nameservers=https://` (e.g. `https://8.8.8.8/dns-query`). It keeps using DNS lookup as a default method. ([#5003](https://togithub.com/cert-manager/cert-manager/issues/5003), [@FlorianLiebhart](https://togithub.com/FlorianLiebhart))
##### Bug or Regression
- Allow overriding default pdb .minAvailable with .maxUnavailable without setting .minAvailable to null ([#6087](https://togithub.com/cert-manager/cert-manager/issues/6087), [@rouke-broersma](https://togithub.com/rouke-broersma))
- BUGFIX: `cmctl check api --wait 0` exited without output and exit code 1; we now make sure we perform the API check at least once and return with the correct error code ([#6109](https://togithub.com/cert-manager/cert-manager/issues/6109), [@inteon](https://togithub.com/inteon))
- BUGFIX: the issuer and certificate-name annotations on a Secret were incorrectly updated when other fields are changed. ([#6147](https://togithub.com/cert-manager/cert-manager/issues/6147), [@inteon](https://togithub.com/inteon))
- BUGFIX\[cainjector]: 1-character bug was causing invalid log messages and a memory leak ([#6232](https://togithub.com/cert-manager/cert-manager/issues/6232), [@inteon](https://togithub.com/inteon))
- Fix CloudDNS issuers stuck in propagation check, when multiple instances are issuing for the same FQDN ([#6088](https://togithub.com/cert-manager/cert-manager/issues/6088), [@cypres](https://togithub.com/cypres))
- Fix indentation of Webhook NetworkPolicy matchLabels in helm chart. ([#6220](https://togithub.com/cert-manager/cert-manager/issues/6220), [@ubergesundheit](https://togithub.com/ubergesundheit))
- Fixed Cloudflare DNS01 challenge provider race condition when validating multiple domains ([#6191](https://togithub.com/cert-manager/cert-manager/issues/6191), [@Richardds](https://togithub.com/Richardds))
- Fixes a bug where webhook was pulling in controller's feature gates.
**⚠️ ⚠️ BREAKING ⚠️ ⚠️** : If you deploy cert-manager using helm and have `.featureGates` value set, the features defined there will no longer be passed to cert-manager webhook, only to cert-manager controller. Use `webhook.featureGates` field instead to define features to be enabled on webhook.
**⚠️Potentially breaking**: If you were, for some reason, passing cert-manager controller's features to webhook's `--feature-gates` flag, this will now break (unless the webhook actually has a feature by that name). ([#6093](https://togithub.com/cert-manager/cert-manager/issues/6093), [@irbekrm](https://togithub.com/irbekrm))
- Fixes an issue where cert-manager would incorrectly reject two IP addresses as being unequal when they should have compared equal. This would be most noticeable when using an IPv6 address which doesn't match how Go's `net.IP.String()` function would have printed that address. ([#6293](https://togithub.com/cert-manager/cert-manager/issues/6293), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- We disabled the `enableServiceLinks` option for our ACME http solver pods, because the option caused the pod to be in a crash loop in a cluster with lot of services. ([#6143](https://togithub.com/cert-manager/cert-manager/issues/6143), [@schrodit](https://togithub.com/schrodit))
- **⚠️Potentially breaking**: Webhook validation of CertificateRequest resources is stricter now: all KeyUsages and ExtendedKeyUsages must be defined directly in the CertificateRequest resource, the encoded CSR can never contain more usages that defined there. ([#6182](https://togithub.com/cert-manager/cert-manager/issues/6182), [@inteon](https://togithub.com/inteon))
##### Other (Cleanup or Flake)
- A subset of the klogs flags have been deprecated and will be removed in the future. ([#5879](https://togithub.com/cert-manager/cert-manager/issues/5879), [@maelvls](https://togithub.com/maelvls))
- All service links in helm chart deployments have been disabled. ([#6144](https://togithub.com/cert-manager/cert-manager/issues/6144), [@schrodit](https://togithub.com/schrodit))
- Cert-manager will now re-issue a certificate if the public key in the latest CertificateRequest resource linked to a Certificate resource does not match the public key of the key encoded in the Secret linked to that Certificate resource ([#6168](https://togithub.com/cert-manager/cert-manager/issues/6168), [@inteon](https://togithub.com/inteon))
- Chore: When hostNetwork is enabled, dnsPolicy is now set to ClusterFirstWithHostNet. ([#6156](https://togithub.com/cert-manager/cert-manager/issues/6156), [@kahirokunn](https://togithub.com/kahirokunn))
- Cleanup the controller configfile structure by introducing sub-structs. ([#6242](https://togithub.com/cert-manager/cert-manager/issues/6242), [@inteon](https://togithub.com/inteon))
- Don't run API Priority and Fairness controller in webhook's extension apiserver ([#6085](https://togithub.com/cert-manager/cert-manager/issues/6085), [@irbekrm](https://togithub.com/irbekrm))
- Helm: Add apache 2.0 license annotation ([#6225](https://togithub.com/cert-manager/cert-manager/issues/6225), [@arukiidou](https://togithub.com/arukiidou))
- Make apis/acme/v1/ACMEIssuer.PreferredChain optional in JSON serialization. ([#6034](https://togithub.com/cert-manager/cert-manager/issues/6034), [@gdvalle](https://togithub.com/gdvalle))
- The SecretPostIssuancePolicyChain now also makes sure that the `cert-manager.io/common-name`, `cert-manager.io/alt-names`, ... annotations on Secrets are kept at their correct value. ([#6176](https://togithub.com/cert-manager/cert-manager/issues/6176), [@inteon](https://togithub.com/inteon))
- The cmctl logging has been improved and support for json logging has been added. ([#6247](https://togithub.com/cert-manager/cert-manager/issues/6247), [@inteon](https://togithub.com/inteon))
- Updates Kubernetes libraries to `v0.27.2`. ([#6077](https://togithub.com/cert-manager/cert-manager/issues/6077), [@lucacome](https://togithub.com/lucacome))
- Updates Kubernetes libraries to `v0.27.4`. ([#6227](https://togithub.com/cert-manager/cert-manager/issues/6227), [@lucacome](https://togithub.com/lucacome))
- We now only check that the issuer name, kind and group annotations on a Secret match in case those annotations are set. ([#6152](https://togithub.com/cert-manager/cert-manager/issues/6152), [@inteon](https://togithub.com/inteon))
### [`v1.12.9`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.12.9)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.12.8...v1.12.9)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
##### ⚠️ Known Issues
- ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations
##### ℹ️ Documentation
[Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.12)
[Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.11-1.12)
[Installation instructions](https://cert-manager.io/docs/installation/)
##### 🔧 Breaking changes
See Breaking changes in [v1.12.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.12.0)
##### 📜 Changes since v1.12.8
##### Bug or Regression
- Allow `cert-manager.io/allow-direct-injection` in annotations ([#6811](https://togithub.com/cert-manager/cert-manager/issues/6811), [@jetstack-bot](https://togithub.com/jetstack-bot))
- BUGFIX: JKS and PKCS12 stores now contain the full set of CAs specified by an issuer ([#6813](https://togithub.com/cert-manager/cert-manager/issues/6813), [@inteon](https://togithub.com/inteon))
- BUGFIX: fix race condition due to registering and using global runtime.Scheme variables ([#6833](https://togithub.com/cert-manager/cert-manager/issues/6833), [@inteon](https://togithub.com/inteon))
##### Other (Cleanup or Flake)
- Bump base images to the latest version. ([#6843](https://togithub.com/cert-manager/cert-manager/issues/6843), [@jetstack-bot](https://togithub.com/jetstack-bot))
- Upgrade go to 1.21.8: fixes CVE-2024-24783 ([#6826](https://togithub.com/cert-manager/cert-manager/issues/6826), [@jetstack-bot](https://togithub.com/jetstack-bot))
- Upgrade google.golang.org/protobuf: fixing GO-2024-2611 ([#6830](https://togithub.com/cert-manager/cert-manager/issues/6830), [@inteon](https://togithub.com/inteon))
### [`v1.12.8`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.12.8)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.12.7...v1.12.8)
cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters.
##### ⚠️ Known Issues
- ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations
##### ℹ️ Documentation
[Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.12)
[Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.11-1.12)
[Installation instructions](https://cert-manager.io/docs/installation/)
##### 🔧 Breaking changes
See Breaking changes in [v1.12.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.12.0)
##### 📜 Changes since v1.12.7
##### Bug or Regression
- BUGFIX: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). ([#6773](https://togithub.com/cert-manager/cert-manager/issues/6773), [@jetstack-bot](https://togithub.com/jetstack-bot))
##### Other (Cleanup or Flake)
- Bump go to 1.20.14 ([#6733](https://togithub.com/cert-manager/cert-manager/issues/6733), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- Cert-manager is now built with Go 1.20.13 ([#6629](https://togithub.com/cert-manager/cert-manager/issues/6629), [@SgtCoDFish](https://togithub.com/SgtCoDFish))
- Fix CVE 2023 48795 by upgrading to golang.org/x/crypto@v0.17.0 ([#6678](https://togithub.com/cert-manager/cert-manager/issues/6678), [@wallrj](https://togithub.com/wallrj))
- Fix GHSA-7ww5-4wqc-m92c by upgrading to `github.com/containerd/containerd@v1.7.12` ([#6689](https://togithub.com/cert-manager/cert-manager/issues/6689), [@wallrj](https://togithub.com/wallrj))
### [`v1.12.7`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.12.7)
[Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.12.6...v1.12.7)
This patch release contains fixes for the following security vulnerabilities in the cert-manager-controller:
- [`GO-2023-2382`](https://pkg.go.dev/vuln/GO-2023-2382): Denial of service via chunk extensions in `net/http`
If you use [ArtifactHub Security report](https://artifacthub.io/packages/helm/cert-manager/cert-manager/1.12.6?modal=security-report) or [trivy](https://trivy.dev/), this patch will also silence the following warning about a vulnerability in code which is imported but **not used** by the cert-manager-controller:
- [`CVE-2023-47108`](https://access.redhat.com/security/cve/CVE-2023-47108): DoS vulnerability in `otelgrpc` due to unbound cardinality metrics.
An ongoing security audit of cert-manager suggested some changes to the webhook code to mitigate DoS attacks,
and these are included in this patch release.
##### Changes
##### Feature
- cert-manager is now built with Go `1.20.12` ([#6543](https://togithub.com/cert-manager/cert-manager/pull/6543), [@wallrj](https://togithub.com/wallrj)).
##### Bug or Regression
- The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size `>= 3MiB`. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory ([#6506](https://togithub.com/cert-manager/cert-manager/pull/6506), [@inteon](https://togithub.com/inteon)).
- The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body ([#6506](https://togithub.com/cert-manager/cert-manager/pull/6506), [@inteon](https://togithub.com/inteon)).
- The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request ([#6506](https://togithub.com/cert-manager/cert-manager/pull/6506), [@inteon](https://togithub.com/inteon)).
- Mitigate potential Slowloris attacks by setting `ReadHeaderTimeout` in all `http.Server` instances ([#6539](https://togithub.com/cert-manager/cert-manager/pull/6539), [@wallrj](https://togithub.com/wallrj)).
- Upgrade `otel` and `docker` to fix: `CVE-2023-47108` and `GHSA-jq35-85cj-fj4p` ([#6513](https://togithub.com/cert-manager/cert-manager/pull/6513), [@inteon](https://togithub.com/inteon)).
##### Dependencies
##### Added
- `cloud.google.com/go/dataproc/v2`: `v2.0.1`
##### Changed
- `cloud.google.com/go/aiplatform`: `v1.45.0 → v1.48.0`
- `cloud.google.com/go/analytics`: `v0.21.2 → v0.21.3`
-
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.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
v1.11.0
->v1.14.4
Release Notes
cert-manager/cert-manager (cert-manager)
### [`v1.14.4`](https://togithub.com/cert-manager/cert-manager/compare/v1.14.3...v1.14.4) [Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.14.3...v1.14.4) ### [`v1.14.3`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.3) [Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.14.2...v1.14.3) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions. ##### ⚠️ Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations ##### ℹ️ Documentation [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14) [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.13-1.14) [Installation instructions](https://cert-manager.io/docs/installation/) ##### 🔧 Breaking changes See Breaking changes in [v1.14.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.0) ##### 📜 Changes since v1.14.2 ##### Bug or Regression - BUGFIX: Fixes issue with JSON-logging, where only a subset of the log messages were output as JSON. ([#6781](https://togithub.com/cert-manager/cert-manager/issues/6781), [@jetstack-bot](https://togithub.com/jetstack-bot)) - BUGFIX: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). ([#6774](https://togithub.com/cert-manager/cert-manager/issues/6774), [@jetstack-bot](https://togithub.com/jetstack-bot)) ### [`v1.14.2`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.2) [Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.14.1...v1.14.2) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions. ##### ℹ️ Documentation [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14) [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.13-1.14) [Installation instructions](https://cert-manager.io/docs/installation/) ##### 🔧 Breaking changes See `Breaking changes` in [v1.14.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.0) ##### 📜 Changes since `v1.14.1` ##### Bug or Regression - BUGFIX: cert-manager CA and SelfSigned issuers incorrectly copied the critical flag from the CSR instead of re-calculating that field themselves. ([#6727](https://togithub.com/cert-manager/cert-manager/issues/6727), [@jetstack-bot](https://togithub.com/jetstack-bot)) - Helm: Fix a bug in the logic that differentiates between 0 and an empty value. ([#6729](https://togithub.com/cert-manager/cert-manager/issues/6729), [@jetstack-bot](https://togithub.com/jetstack-bot)) ##### Other (Cleanup or Flake) - Bump golang to 1.21.7 ([#6735](https://togithub.com/cert-manager/cert-manager/issues/6735), [@jetstack-bot](https://togithub.com/jetstack-bot)) ### [`v1.14.1`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.1) [Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.14.0...v1.14.1) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions. > ⚠️ This version has known issues. Please install `v1.14.2` instead. ##### ⚠️ Known Issues (fixed in `v1.14.2`) - In cert-manager v1.14.0 and v1.14.1, the `CA` and `SelfSigned` issuers issue certificates with SANs set to non-critical even when the subject is empty. It incorrectly copies the critical field from the CSR. ##### 🔧 Breaking changes See `Breaking changes` in [v1.14.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.0) ##### ℹ️ Documentation - [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14) - [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.13-1.14) - [Installation instructions](https://cert-manager.io/docs/installation/) ##### 📜 Changes since `v1.14.0` ##### Bug or Regression - Fix broken cainjector image value in Helm chart ([#6693](https://togithub.com/cert-manager/cert-manager/pull/6693), [@SgtCoDFish](https://togithub.com/SgtCoDFish)) - Fix bug in cmctl namespace detection which prevented it being used as a startupapicheck image in namespaces other than cert-manager. ([#6706](https://togithub.com/cert-manager/cert-manager/pull/6706), [@inteon](https://togithub.com/inteon)) - Fix bug in cmctl which caused `cmctl experimental install` to panic. ([#6706](https://togithub.com/cert-manager/cert-manager/pull/6706), [@inteon](https://togithub.com/inteon)) ### [`v1.14.0`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.0) [Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.5...v1.14.0) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. cert-manager 1.14 brings a variety of features, security improvements and bug fixes, including: support for creating X.509 certificates with "Other Name" fields, and support for creating CA certificates with "Name Constraints" and "Authority Information Accessors" extensions. > ⚠️ This version has known issues. Please install `v1.14.2` instead. ##### ⚠️ Known Issues (fixed in `v1.14.1+`) - During the release of `v1.14.0`, the Helm chart for this version was found to use the wrong OCI image for the `cainjector` Deployment, which caused the Helm installation to fail. In order to complete the release, the cert-manager team have manually updated the Helm chart for this version, which contains all the Helm chart fixes which are in `v1.14.1`. - A bug in cmctl namespace detection prevents it being used as a `startupapicheck` image in namespaces other than cert-manager. - A bug in cmctl causes `cmctl experimental install` to panic. ##### 🔧 Breaking Changes The startupapicheck job uses a new OCI image called "startupapicheck", instead of the ctl image. If you run in an environment in which images cannot be pulled, be sure to include the new image. The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob. ##### 🗺️ Major Themes ##### New X.509 Features The cert-manager Certificate resource now allows you to configure a subset of "Other Name" SANs, which are described in the [Subject Alternative Name section of RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6) (on page 37). We specifically support any `otherName` type with a `UTF-8` value, such as the [User Principal Name](https://docs.venafi.com/Docs/current/TopNav/Content/Certificates/r-UEP-support-SANs.php) or [`sAMAccountName`](https://learn.microsoft.com/en-us/windows/win32/ad/naming-properties). These are useful when issuing unique certificates for authenticating with LDAP systems such as Microsoft Active Directory. For example you can create certificates with this block in the spec: otherNames: - oid: 1.3.6.1.4.1.311.20.2.3 # UPN OID utf8Value: upn@domain.local The feature is still in alpha stage and requires you to [enable the `OtherName` feature flag in the controller and webhook components](../../installation/configuring-components.md#feature-gates). ##### New CA certificate Features You can now specify the X.509 v3 Authority Information Accessors extension, with URLs for certificates issued by the CA issuer. Users can now use name constraints in CA certificates. To know more details on name constraints check out RFC section https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10 ##### Security An ongoing security audit of the cert-manager code revealed some weaknesses which we have addressed in this release, such as using more secure default settings in the HTTP servers that serve metrics, healthz and pprof endpoints. This will help mitigate denial-of-service attacks against those important services. All the cert-manager containers are now configured with read only root file system by default, to prevent unexpected changes to the file system of the OCI image. And it is now possible to configure the metrics server to use HTTPS rather than HTTP, so that clients can verify the identity of the metrics server. ##### Other The liveness probe of the cert-manager controller Pod is now enabled by default. There is a new option `.spec.keystores.pkcs12.algorithms` to specify encryption and MAC algorithms for PKCS. ##### 🤝 Community Thanks again to all open-source contributors with commits in this release, including: - [@ABWassim](https://togithub.com/ABWassim) - [@JoeNorth](https://togithub.com/JoeNorth) - [@allenmunC1](https://togithub.com/allenmunC1) - [@asapekia](https://togithub.com/asapekia) - [@jeremycampbell](https://togithub.com/jeremycampbell) - [@jkroepke](https://togithub.com/jkroepke) - [@jsoref](https://togithub.com/jsoref) - [@lauraseidler](https://togithub.com/lauraseidler) - [@pevidex](https://togithub.com/pevidex) - [@phillebaba](https://togithub.com/phillebaba) - [@snorwin](https://togithub.com/snorwin) - [@tanujd11](https://togithub.com/tanujd11) - [@tberreis](https://togithub.com/tberreis) - [@vinny](https://togithub.com/vinny) Thanks also to the following cert-manager maintainers for their contributions during this release: - [@SgtCoDFish](https://togithub.com/SgtCoDFish) - [@SpectralHiss](https://togithub.com/SpectralHiss) - [@ThatsMrTalbot](https://togithub.com/ThatsMrTalbot) - [@hawksight](https://togithub.com/hawksight) - [@inteon](https://togithub.com/inteon) - [@maelvls](https://togithub.com/maelvls) - [@wallrj](https://togithub.com/wallrj) Equally thanks to everyone who provided feedback, helped users and raised issues on GitHub and Slack and joined our meetings! Thanks also to the [CNCF](https://www.cncf.io/), which provides resources and support, and to the AWS open source team for being good community members and for their maintenance of the [PrivateCA Issuer](https://togithub.com/cert-manager/aws-privateca-issuer). In addition, massive thanks to [Venafi](https://www.venafi.com/) for contributing developer time and resources towards the continued maintenance of cert-manager projects. ##### 📜 Changes ##### Feature - ACME challenge solver Pod for HTTP01 will get a default annotation of `"cluster-autoscaler.kubernetes.io/safe-to-evict": "true"`. You can provide an annotation of `"cluster-autoscaler.kubernetes.io/safe-to-evict": "false"` in your `podTemplate` if you don't like this. ([#6349](https://togithub.com/cert-manager/cert-manager/pull/6349), [@jsoref](https://togithub.com/jsoref)) - Added a clock skew detector liveness probe that will force a restart in case we detect a skew between the internal monotonic clock and the system clock of more than 5 minutes. Also, the controller's liveness probe is now enabled by default. ([#6328](https://togithub.com/cert-manager/cert-manager/pull/6328), [@inteon](https://togithub.com/inteon)) - Added a new flag (--dynamic-serving-leaf-duration) that can adjust the lifetime of the dynamic leaf certificates ([#6552](https://togithub.com/cert-manager/cert-manager/pull/6552), [@allenmunC1](https://togithub.com/allenmunC1)) - Added support for `otherName` SANS in Certificates ([#6404](https://togithub.com/cert-manager/cert-manager/pull/6404), [@SpectralHiss](https://togithub.com/SpectralHiss)) - Added the option to specify the X.509 v3 Authority Information Accessors extension CA Issuers URLs for certificates issued by the CA issuer. ([#6486](https://togithub.com/cert-manager/cert-manager/pull/6486), [@jeremycampbell](https://togithub.com/jeremycampbell-okta)) - Adds cert-manager's new core infrastructure initiative badge! See more details on https://www.bestpractices.dev/projects/8079 ([#6497](https://togithub.com/cert-manager/cert-manager/pull/6497), [@SgtCoDFish](https://togithub.com/SgtCoDFish)) - All Pods are now configured with `readOnlyRootFilesystem` by default. ([#6453](https://togithub.com/cert-manager/cert-manager/pull/6453), [@wallrj](https://togithub.com/wallrj)) - MAYBE BREAKING: The startupapicheck job is now handled by an entirely new container called "startupapicheck". This replaces the previous ctl container. If you run in an environment in which images cannot be pulled, be sure to include the new container. ([#6549](https://togithub.com/cert-manager/cert-manager/pull/6549), [@SgtCoDFish](https://togithub.com/SgtCoDFish)) - New option `.spec.keystores.pkcs12.algorithms` to specify encryption and MAC algorithms for PKCS[#12](https://togithub.com/cert-manager/cert-manager/pull/12) keystores. Fixes issues [#5957](https://togithub.com/cert-manager/cert-manager/pull/5957) and [#6523](https://togithub.com/cert-manager/cert-manager/pull/6523). ([#6548](https://togithub.com/cert-manager/cert-manager/pull/6548), [@snorwin](https://togithub.com/snorwin)) - The ACME HTTP01 solver Pod is now configured with `readOnlyRootFilesystem: true` ([#6462](https://togithub.com/cert-manager/cert-manager/pull/6462), [@wallrj](https://togithub.com/wallrj)) - Updates the AWS SDK for Go to 1.48.7 to support Amazon EKS Pod Identity ([#6519](https://togithub.com/cert-manager/cert-manager/pull/6519), [@JoeNorth](https://togithub.com/JoeNorth)) - Users can now use name constraints in CA certificates. To know more details on name constraints check out RFC section https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.10 ([#6500](https://togithub.com/cert-manager/cert-manager/pull/6500), [@tanujd11](https://togithub.com/tanujd11)) - ⚠️ potentially breaking ⚠️: The KeyUsage and BasicConstraints extensions will now be encoded as critical in the CertificateRequest's CSR blob. ([#6053](https://togithub.com/cert-manager/cert-manager/pull/6053), [@inteon](https://togithub.com/inteon)) - Add TLS support to the metrics endpoint through either a certificate file or through dynamically issued certificates ([#6574](https://togithub.com/cert-manager/cert-manager/pull/6574), [@ThatsMrTalbot](https://togithub.com/ThatsMrTalbot)) - Helm Chart: allow changing the default Deployment `revisionHistoryLimit` ([#6248](https://togithub.com/cert-manager/cert-manager/pull/6248), [@tberreis](https://togithub.com/tberreis)) - Security: Limit the size of the response body read from HTTP requests by cert-manager. ([#6619](https://togithub.com/cert-manager/cert-manager/pull/6619), [@ThatsMrTalbot](https://togithub.com/ThatsMrTalbot)) - Support custom `spec.namespaceSelector` for webhooks ([#6638](https://togithub.com/cert-manager/cert-manager/pull/6638), [@jkroepke](https://togithub.com/jkroepke)) ##### Bug or Regression - BUGFIX\[helm]: Fix issue where webhook feature gates were only set if controller feature gates are set. ([#6380](https://togithub.com/cert-manager/cert-manager/pull/6380), [@asapekia](https://togithub.com/asapekia)) - Controller ConfigMap is now created only if `.Values.config` is set. ([#6357](https://togithub.com/cert-manager/cert-manager/pull/6357), [@ABWassim](https://togithub.com/ABWassim)) - Fix runaway bug caused by multiple Certificate resources that point to the same Secret resource. ([#6406](https://togithub.com/cert-manager/cert-manager/pull/6406), [@inteon](https://togithub.com/inteon)) - Fix(helm): templating of required value in controller and webhook ConfigMap resources ([#6435](https://togithub.com/cert-manager/cert-manager/pull/6435), [@ABWassim](https://togithub.com/ABWassim)) - Fixed a webhook validation error message when the key algorithm was invalid. ([#6571](https://togithub.com/cert-manager/cert-manager/pull/6571), [@pevidex](https://togithub.com/pevidex)) - Fixed error messaging when setting up vault issuer ([#6433](https://togithub.com/cert-manager/cert-manager/pull/6433), [@vinny](https://togithub.com/vinny-sabatini)) - `GHSA-vgf6-pvf4-34rq`: The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size `>= 3MiB`. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory. The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body. The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request. ([#6498](https://togithub.com/cert-manager/cert-manager/pull/6498), [@inteon](https://togithub.com/inteon)) - Increase the default webhook timeout to its maximum value of 30 seconds, so that the underlying timeout error message has more chance of being returned to the end user. ([#6488](https://togithub.com/cert-manager/cert-manager/pull/6488), [@wallrj](https://togithub.com/wallrj)) - Listeners that do not support TLS on Gateway resources will now not raise `BadConfig` warnings anymore ([#6347](https://togithub.com/cert-manager/cert-manager/pull/6347), [@lauraseidler](https://togithub.com/lauraseidler)) - Mitigate potential Slowloris attacks by setting `ReadHeaderTimeout` in all `http.Server` instances ([#6534](https://togithub.com/cert-manager/cert-manager/pull/6534), [@wallrj](https://togithub.com/wallrj)) - The Venafi issuer now properly resets the certificate and should no longer get stuck with `WebSDK CertRequest Module Requested Certificate` or `This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.`. ([#6398](https://togithub.com/cert-manager/cert-manager/pull/6398), [@maelvls](https://togithub.com/maelvls)) - Update experimental install and uninstall commands to have flag parity with the rest of the CLI ([#6562](https://togithub.com/cert-manager/cert-manager/pull/6562), [@ThatsMrTalbot](https://togithub.com/ThatsMrTalbot)) - Webhook ConfigMap if now created only if `.Values.webhook.config` is set. ([#6360](https://togithub.com/cert-manager/cert-manager/pull/6360), [@ABWassim](https://togithub.com/ABWassim)) - BUGFIX: Ensure `otherName` SAN changes in Certificate resources trigger re-issuance. ([#6620](https://togithub.com/cert-manager/cert-manager/pull/6620), [@SpectralHiss](https://togithub.com/SpectralHiss)) - Bugfix: Publish the `startupapicheck` image to `quay.io` ([#6609](https://togithub.com/cert-manager/cert-manager/pull/6609), [@wallrj](https://togithub.com/wallrj)) ##### Other (Cleanup or Flake) - Cert-manager is now built with Go 1.21.5 ([#6545](https://togithub.com/cert-manager/cert-manager/pull/6545), [@wallrj](https://togithub.com/wallrj)) - Bump Go to `1.21.3` to address `CVE-2023-39325`. Also bumps base images. ([#6410](https://togithub.com/cert-manager/cert-manager/pull/6410), [@SgtCoDFish](https://togithub.com/SgtCoDFish)) - Bump `golang.org/x/net v0.15.0 => v0.17.0` as part of addressing `CVE-2023-44487` / `CVE-2023-39325` ([#6427](https://togithub.com/cert-manager/cert-manager/pull/6427), [@SgtCoDFish](https://togithub.com/SgtCoDFish)) - Check code for unintended use of `crypto/md5`, a weak cryptographic primitive; using `golangci-lint` / `gosec` (G501). ([#6581](https://togithub.com/cert-manager/cert-manager/pull/6581), [@wallrj](https://togithub.com/wallrj)) - Check code for unintended use of `crypto/sha1`, a weak cryptographic primitive; using `golangci-lint` / `gosec` (G505). ([#6579](https://togithub.com/cert-manager/cert-manager/pull/6579), [@wallrj](https://togithub.com/wallrj)) - Check code for unintended use of weak random number generator (`math/rand` instead of `crypto/rand`); using `golangci-lint` / `gosec` (G404). ([#6582](https://togithub.com/cert-manager/cert-manager/pull/6582), [@wallrj](https://togithub.com/wallrj)) - Cleanup: Restrict MutatingWebhookConfiguration to only CertificateRequest resources ([#6311](https://togithub.com/cert-manager/cert-manager/pull/6311), [@hawksight](https://togithub.com/hawksight)) - Deprecated `pkg/util.RandStringRunes` and `pkg/controller/test.RandStringBytes`. Use `k8s.io/apimachinery/pkg/util/rand.String` instead. ([#6585](https://togithub.com/cert-manager/cert-manager/pull/6585), [@wallrj](https://togithub.com/wallrj)) - Enabled verbose logging in startupapicheck by default, so that if it fails, users can know exactly what caused the failure. ([#6495](https://togithub.com/cert-manager/cert-manager/pull/6495), [@wallrj](https://togithub.com/wallrj)) - Fix gosec G601: Implicit memory aliasing of items from a range statement ([#6551](https://togithub.com/cert-manager/cert-manager/pull/6551), [@wallrj](https://togithub.com/wallrj)) - Fix handling of serial numbers in literal certificate subjects. Previously a serial number could be specified in `subject.serialNumber` while using a literal certificate subject. This was a mistake and has been fixed. ([#6533](https://togithub.com/cert-manager/cert-manager/pull/6533), [@inteon](https://togithub.com/inteon)) - The end-to-end tests can now test the cert-manager Vault Issuer on an OpenShift cluster. ([#6391](https://togithub.com/cert-manager/cert-manager/pull/6391), [@wallrj](https://togithub.com/wallrj)) - Update cert-manager's distroless base images from Debian 11 to Debian 12. This should have no practical effects on users. ([#6583](https://togithub.com/cert-manager/cert-manager/pull/6583), [@inteon](https://togithub.com/inteon)) - Updated all code using GatewayAPI to use the now GA v1 APIs ([#6559](https://togithub.com/cert-manager/cert-manager/pull/6559), [@ThatsMrTalbot](https://togithub.com/ThatsMrTalbot)) - Upgrade Go from 1.20.7 to 1.20.8. ([#6369](https://togithub.com/cert-manager/cert-manager/pull/6369), [@inteon](https://togithub.com/inteon)) - Upgrade `github.com/emicklei/go-restful/v3` to `v3.11.0` because `v3.10.2` is labeled as "DO NOT USE". ([#6366](https://togithub.com/cert-manager/cert-manager/pull/6366), [@inteon](https://togithub.com/inteon)) - Use the new generic `sets.Set` type in place of the deprecated `sets.String`. ([#6586](https://togithub.com/cert-manager/cert-manager/pull/6586), [@wallrj](https://togithub.com/wallrj)) - cert-manager is now built with Go `v1.21.6` ([#6628](https://togithub.com/cert-manager/cert-manager/pull/6628), [@SgtCoDFish](https://togithub.com/SgtCoDFish)) - Update the Azure SDK and remove deprecated `autorest` dependency ([#5452](https://togithub.com/cert-manager/cert-manager/pull/5452), [@phillebaba](https://togithub.com/phillebaba)) - The cert-manager E2E tests can now be run on Kubernetes 1.29 ([#6641](https://togithub.com/cert-manager/cert-manager/pull/6641), [@wallrj](https://togithub.com/wallrj)) ### [`v1.13.5`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.5) [Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.4...v1.13.5) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. ##### ⚠️ Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations ##### ℹ️ Documentation [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.13) [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.12-1.13) [Installation instructions](https://cert-manager.io/docs/installation/) ##### 🔧 Breaking changes See Breaking changes in [v1.13.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.0) ##### 📜 Changes since v1.13.4 ##### Bug or Regression - Allow `cert-manager.io/allow-direct-injection` in annotations ([#6810](https://togithub.com/cert-manager/cert-manager/issues/6810), [@jetstack-bot](https://togithub.com/jetstack-bot)) - BUGFIX: JKS and PKCS12 stores now contain the full set of CAs specified by an issuer ([#6814](https://togithub.com/cert-manager/cert-manager/issues/6814), [@inteon](https://togithub.com/inteon)) - BUGFIX: fix race condition due to registering and using global runtime.Scheme variables ([#6832](https://togithub.com/cert-manager/cert-manager/issues/6832), [@inteon](https://togithub.com/inteon)) ##### Other (Cleanup or Flake) - Bump base images to the latest version. ([#6841](https://togithub.com/cert-manager/cert-manager/issues/6841), [@inteon](https://togithub.com/inteon)) - Upgrade go to 1.21.8: fixes CVE-2024-24783 ([#6824](https://togithub.com/cert-manager/cert-manager/issues/6824), [@inteon](https://togithub.com/inteon)) - Upgrade google.golang.org/protobuf: fixing GO-2024-2611 ([#6828](https://togithub.com/cert-manager/cert-manager/issues/6828), [@inteon](https://togithub.com/inteon)) ### [`v1.13.4`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.4) [Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.3...v1.13.4) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. ##### ⚠️ Known Issues - ACME Issuer (Let's Encrypt): wrong certificate chain may be used if preferredChain is configured: see [release docs](https://cert-manager.io/docs/releases/release-notes/release-notes-1.14/#acme-issuer-lets-encrypt-wrong-certificate-chain-may-be-used-if-preferredchain-is-configured---6755-6757) for more info and mitigations ##### ℹ️ Documentation [Release notes](https://cert-manager.io/docs/releases/release-notes/release-notes-1.13) [Upgrade notes](https://cert-manager.io/docs/releases/upgrading/upgrading-1.12-1.13) [Installation instructions](https://cert-manager.io/docs/installation/) ##### 🔧 Breaking changes See Breaking changes in [v1.13.0 release notes](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.0) ##### 📜 Changes since v1.13.3 ##### Bug or Regression - BUGFIX: LiteralSubjects with a #= value can result in memory issues due to faulty BER parser (github.com/go-asn1-ber/asn1-ber). ([#6772](https://togithub.com/cert-manager/cert-manager/issues/6772), [@jetstack-bot](https://togithub.com/jetstack-bot)) ##### Other (Cleanup or Flake) - Bump go to 1.20.14 ([#6736](https://togithub.com/cert-manager/cert-manager/issues/6736), [@jetstack-bot](https://togithub.com/jetstack-bot)) - Cert-manager is now built with Go 1.20.12 ([#6544](https://togithub.com/cert-manager/cert-manager/issues/6544), [@wallrj](https://togithub.com/wallrj)) - Cert-manager is now built with Go 1.20.13 ([#6630](https://togithub.com/cert-manager/cert-manager/issues/6630), [@SgtCoDFish](https://togithub.com/SgtCoDFish)) - Fix CVE 2023 48795 by upgrading to golang.org/x/crypto@v0.17.0 ([#6675](https://togithub.com/cert-manager/cert-manager/issues/6675), [@wallrj](https://togithub.com/wallrj)) - Fix GHSA-7ww5-4wqc-m92c by upgrading to `github.com/containerd/containerd@v1.7.12` ([#6684](https://togithub.com/cert-manager/cert-manager/issues/6684), [@wallrj](https://togithub.com/wallrj)) ### [`v1.13.3`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.3) [Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.2...v1.13.3) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. > ⚠️ Read about the [**breaking changes in cert-manager 1.13**](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.0) before you upgrade from a < v1.13 version! This patch release contains fixes for the following security vulnerabilities in the cert-manager-controller: - [`GO-2023-2334`](https://pkg.go.dev/vuln/GO-2023-2334): Decryption of malicious PBES2 JWE objects can consume unbounded system resources. If you use [ArtifactHub Security report](https://artifacthub.io/packages/helm/cert-manager/cert-manager/1.13.2?modal=security-report) or [trivy](https://trivy.dev/), this patch will also silence the following warning about a vulnerability in code which is imported but **not used** by the cert-manager-controller: - [`CVE-2023-47108`](https://access.redhat.com/security/cve/CVE-2023-47108): DoS vulnerability in `otelgrpc` due to unbound cardinality metrics. An ongoing security audit of cert-manager suggested some changes to the webhook code to mitigate DoS attacks, and these are included in this patch release. ##### Changes ##### Bug or Regression - The webhook server now returns HTTP error 413 (Content Too Large) for requests with body size `>= 3MiB`. This is to mitigate DoS attacks that attempt to crash the webhook process by sending large requests that exceed the available memory. ([#6507](https://togithub.com/cert-manager/cert-manager/pull/6507), [@inteon](https://togithub.com/inteon)) - The webhook server now returns HTTP error 400 (Bad Request) if the request contains an empty body. ([#6507](https://togithub.com/cert-manager/cert-manager/pull/6507), [@inteon](https://togithub.com/inteon)) - The webhook server now returns HTTP error 500 (Internal Server Error) rather than crashing, if the code panics while handling a request. ([#6507](https://togithub.com/cert-manager/cert-manager/pull/6507), [@inteon](https://togithub.com/inteon)) - Mitigate potential "Slowloris" attacks by setting `ReadHeaderTimeout` in all `http.Server` instances. ([#6538](https://togithub.com/cert-manager/cert-manager/pull/6538), [@wallrj](https://togithub.com/wallrj)) - Upgrade Go modules: `otel`, `docker`, and `jose` to fix CVE alerts. See https://github.com/advisories/GHSA-8pgv-569h-w5rw, https://github.com/advisories/GHSA-jq35-85cj-fj4p, and https://github.com/advisories/GHSA-2c7c-3mj9-8fqh. ([#6514](https://togithub.com/cert-manager/cert-manager/pull/6514), [@inteon](https://togithub.com/inteon)) ##### Dependencies ##### Added *Nothing has changed.* ##### Changed - `cloud.google.com/go/firestore`: `v1.11.0 → v1.12.0` - `cloud.google.com/go`: `v0.110.6 → v0.110.7` - `github.com/felixge/httpsnoop`: [`v1.0.3 → v1.0.4`](https://togithub.com/felixge/httpsnoop/compare/v1.0.3...v1.0.4) - `github.com/go-jose/go-jose/v3`: [`v3.0.0 → v3.0.1`](https://togithub.com/go-jose/go-jose/v3/compare/v3.0.0...v3.0.1) - `github.com/go-logr/logr`: [`v1.2.4 → v1.3.0`](https://togithub.com/go-logr/logr/compare/v1.2.4...v1.3.0) - `github.com/golang/glog`: [`v1.1.0 → v1.1.2`](https://togithub.com/golang/glog/compare/v1.1.0...v1.1.2) - `github.com/google/go-cmp`: [`v0.5.9 → v0.6.0`](https://togithub.com/google/go-cmp/compare/v0.5.9...v0.6.0) - `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc`: `v0.45.0 → v0.46.0` - `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp`: `v0.44.0 → v0.46.0` - `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/exporters/otlp/otlptrace`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/metric`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/sdk`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel/trace`: `v1.19.0 → v1.20.0` - `go.opentelemetry.io/otel`: `v1.19.0 → v1.20.0` - `go.uber.org/goleak`: `v1.2.1 → v1.3.0` - `golang.org/x/sys`: `v0.13.0 → v0.14.0` - `google.golang.org/genproto/googleapis/api`: `f966b18 → b8732ec` - `google.golang.org/genproto`: `f966b18 → b8732ec` - `google.golang.org/grpc`: `v1.58.3 → v1.59.0` ##### Removed *Nothing has changed.* ### [`v1.13.2`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.2) [Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.1...v1.13.2) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. v1.13.2 fixes some CVE alerts and contains fixes for: 1. a CertificateRequest runaway situation in case two Certificate resources point to the same Secret target resource 2. a small bug in the Helm chart (feature gate options) 3. a Venafi issuer bug ##### ⚠️ READ https://github.com/cert-manager/cert-manager/releases/tag/v1.13.0 before you upgrade from a < v1.13 version! ##### Changes since v1.13.1 ##### Bug or Regression - Bump golang.org/x/net v0.15.0 => v0.17.0 as part of addressing CVE-2023-44487 / CVE-2023-39325 ([#6432](https://togithub.com/cert-manager/cert-manager/issues/6432), [@SgtCoDFish](https://togithub.com/SgtCoDFish)) - BUGFIX\[helm]: Fix issue where webhook feature gates were only set if controller feature gates are set. ([#6381](https://togithub.com/cert-manager/cert-manager/issues/6381), [@asapekia](https://togithub.com/asapekia)) - Fix runaway bug caused by multiple Certificate resources that point to the same Secret resource. ([#6425](https://togithub.com/cert-manager/cert-manager/issues/6425), [@inteon](https://togithub.com/inteon)) - The Venafi issuer now properly resets the certificate and should no longer get stuck with `WebSDK CertRequest Module Requested Certificate` or `This certificate cannot be processed while it is in an error state. Fix any errors, and then click Retry.`. ([#6402](https://togithub.com/cert-manager/cert-manager/issues/6402), [@maelvls](https://togithub.com/maelvls)) ##### Other (Cleanup or Flake) - Bump go to 1.20.10 to address CVE-2023-39325. Also bumps base images. ([#6411](https://togithub.com/cert-manager/cert-manager/issues/6411), [@SgtCoDFish](https://togithub.com/SgtCoDFish)) ### [`v1.13.1`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.1) [Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.13.0...v1.13.1) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. v1.13.1 contains a bugfix for a name collision bug in the StableCertificateRequestName feature that was enabled by default in v1.13.0. ##### ⚠️ READ https://github.com/cert-manager/cert-manager/releases/tag/v1.13.0 before you upgrade from a < v1.13 version! ##### Changes since v1.13.0 ##### Bug or Regression - BUGFIX: fix CertificateRequest name collision bug in StableCertificateRequestName feature. ([#6358](https://togithub.com/cert-manager/cert-manager/issues/6358), [@jetstack-bot](https://togithub.com/jetstack-bot)) ##### Other (Cleanup or Flake) - Upgrade `github.com/emicklei/go-restful/v3` to `v3.11.0` because `v3.10.2` is labeled as "DO NOT USE". ([#6368](https://togithub.com/cert-manager/cert-manager/issues/6368), [@inteon](https://togithub.com/inteon)) - Upgrade Go from 1.20.7 to 1.20.8. ([#6370](https://togithub.com/cert-manager/cert-manager/issues/6370), [@jetstack-bot](https://togithub.com/jetstack-bot)) ### [`v1.13.0`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.13.0) [Compare Source](https://togithub.com/cert-manager/cert-manager/compare/v1.12.9...v1.13.0) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. This is the 1.13 release of cert-manager! cert-manager 1.13 brings support for DNS over HTTPS, support for loading options from a versioned config file for the cert-manager controller, and more. This release also includes the promotion of the StableCertificateRequestName and SecretsFilteredCaching feature gates to Beta. #### Known issues The `StableCertificateRequestName` that was promoted to Beta contains a "name collision" bug: [https://github.com/cert-manager/cert-manager/issues/6342](https://togithub.com/cert-manager/cert-manager/issues/6342) This is fixed in v1.13.1+ #### Breaking Changes (You MUST read this before you upgrade!) 1. **IMPORTANT NOTE**: If upgrading from a version below v1.12, upgrade to the latest v1.12 release before upgrading to v1.13. Otherwise, some certificates may be unexpectedly re-issued (see [https://github.com/cert-manager/cert-manager/issues/6494#issuecomment-1816112309](https://togithub.com/cert-manager/cert-manager/issues/6494#issuecomment-1816112309)) 2. **BREAKING** : If you deploy cert-manager using helm and have `.featureGates` value set, the features defined there will no longer be passed to cert-manager webhook, only to cert-manager controller. Use `webhook.featureGates` field instead to define features to be enabled on webhook. ([#6093](https://togithub.com/cert-manager/cert-manager/issues/6093), [@irbekrm](https://togithub.com/irbekrm)) 3. **Potentially breaking**: If you were, for some reason, passing cert-manager controller's features to webhook's `--feature-gates` flag, this will now break (unless the webhook actually has a feature by that name). ([#6093](https://togithub.com/cert-manager/cert-manager/issues/6093), [@irbekrm](https://togithub.com/irbekrm)) 4. **Potentially breaking**: Webhook validation of CertificateRequest resources is stricter now: all KeyUsages and ExtendedKeyUsages must be defined directly in the CertificateRequest resource, the encoded CSR can never contain more usages that defined there. ([#6182](https://togithub.com/cert-manager/cert-manager/issues/6182), [@inteon](https://togithub.com/inteon)) #### Community Welcome to these new cert-manager members (more info - [https://github.com/cert-manager/cert-manager/pull/6260](https://togithub.com/cert-manager/cert-manager/pull/6260)): [@jsoref](https://togithub.com/jsoref) [@FlorianLiebhart](https://togithub.com/FlorianLiebhart) [@hawksight](https://togithub.com/hawksight) [@erikgb](https://togithub.com/erikgb) Thanks again to all open-source contributors with commits in this release, including: [@AcidLeroy](https://togithub.com/AcidLeroy) [@FlorianLiebhart](https://togithub.com/FlorianLiebhart) [@lucacome](https://togithub.com/lucacome) [@cypres](https://togithub.com/cypres) [@erikgb](https://togithub.com/erikgb) [@ubergesundheit](https://togithub.com/ubergesundheit) [@jkroepke](https://togithub.com/jkroepke) [@jsoref](https://togithub.com/jsoref) [@gdvalle](https://togithub.com/gdvalle) [@rouke-broersma](https://togithub.com/rouke-broersma) [@schrodit](https://togithub.com/schrodit) [@zhangzhiqiangcs](https://togithub.com/zhangzhiqiangcs) [@arukiidou](https://togithub.com/arukiidou) [@hawksight](https://togithub.com/hawksight) [@Richardds](https://togithub.com/Richardds) [@kahirokunn](https://togithub.com/kahirokunn) Thanks also to the following cert-manager maintainers for their contributions during this release: [@SgtCoDFish](https://togithub.com/SgtCoDFish) [@maelvls](https://togithub.com/maelvls) [@irbekrm](https://togithub.com/irbekrm) [@inteon](https://togithub.com/inteon) Equally thanks to everyone who provided feedback, helped users and raised issues on Github and Slack and joined our meetings! Special thanks to [@AcidLeroy](https://togithub.com/AcidLeroy) for adding "load options from a versioned config file" support for the cert-manager controller! This has been on our wishlist for a very long time. (see [https://github.com/cert-manager/cert-manager/pull/5337](https://togithub.com/cert-manager/cert-manager/pull/5337)) Also, thanks a lot to [@FlorianLiebhart](https://togithub.com/FlorianLiebhart) for adding support for DNS over HTTPS for the ACME DNS self-check. This is very useful in case all traffic must be HTTP(S) trafic, eg. when using a HTTPS_PROXY. (see [https://github.com/cert-manager/cert-manager/pull/5003](https://togithub.com/cert-manager/cert-manager/pull/5003)) Thanks also to the [CNCF](https://www.cncf.io/), which provides resources and support, and to the AWS open source team for being good community members and for their maintenance of the [PrivateCA Issuer](https://togithub.com/cert-manager/aws-privateca-issuer). In addition, massive thanks to [Venafi](https://www.venafi.com/) for contributing developer time and resources towards the continued maintenance of cert-manager projects. #### Changes since v1.12.0 ##### Feature - Add support for logging options to webhook config file. ([#6243](https://togithub.com/cert-manager/cert-manager/issues/6243), [@inteon](https://togithub.com/inteon)) - Add view permissions to the well-known (Openshift) user-facing `cluster-reader` aggregated cluster role ([#6241](https://togithub.com/cert-manager/cert-manager/issues/6241), [@erikgb](https://togithub.com/erikgb)) - Certificate Shim: distinguish dns names and ip address in certificate ([#6267](https://togithub.com/cert-manager/cert-manager/issues/6267), [@zhangzhiqiangcs](https://togithub.com/zhangzhiqiangcs)) - Cmctl can now be imported by third parties. ([#6049](https://togithub.com/cert-manager/cert-manager/issues/6049), [@SgtCoDFish](https://togithub.com/SgtCoDFish)) - Make `enableServiceLinks` configurable for all Deployments and `startupapicheck` Job in Helm chart. ([#6292](https://togithub.com/cert-manager/cert-manager/issues/6292), [@ubergesundheit](https://togithub.com/ubergesundheit)) - Promoted the StableCertificateRequestName and SecretsFilteredCaching feature gates to Beta (enabled by default). ([#6298](https://togithub.com/cert-manager/cert-manager/issues/6298), [@inteon](https://togithub.com/inteon)) - The cert-manager controller options are now configurable using a configuration file. ([#5337](https://togithub.com/cert-manager/cert-manager/issues/5337), [@AcidLeroy](https://togithub.com/AcidLeroy)) - The pki CertificateTemplate functions now perform validation of the CSR blob, making sure we sign a Certificate that matches the IsCA and (Extended)KeyUsages that are defined in the CertificateRequest resource. ([#6199](https://togithub.com/cert-manager/cert-manager/issues/6199), [@inteon](https://togithub.com/inteon)) - \[helm] Add prometheus.servicemonitor.endpointAdditionalProperties to define additional properties on a ServiceMonitor endpoint, e.g. relabelings ([#6110](https://togithub.com/cert-manager/cert-manager/issues/6110), [@jkroepke](https://togithub.com/jkroepke)) ##### Design - DNS over HTTPS (DoH) is now possible for doing the self-checks during the ACME verification. The DNS check method to be used is controlled through the command line flag: `--dns01-recursive-nameservers-only=true` in combination with `--dns01-recursive-nameservers=https://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.
This PR has been generated by Mend Renovate. View repository job log here.