v0.20.0
This release vastly improves storage cleaning as well improving a few smaller things. There is a minor breaking change as we get ever closer to v1.0.
⚠️ TheDecisionFunc
for On-Demand TLS now takes acontext.Context
value as its first argument. The context carries theClientHelloInfo
value (keyed byClientHelloInfoCtxKey
) for logging purposes.- Storage cleaning is now synchronized across the cluster, including process restarts. The state of cleaning expired certificates and OCSP staples is written to storage, and distributed locking is used to ensure that only 1 instance does it at a time. This greatly reduces costs for expensive storage backends! Cleaning is also done less often when the process is frequently restarted because the state is written to storage, so it is not forgotten after shutting down.
.home.arpa
is now considered an internal suffix.- Backoff timings have been tuned based on real-world experience.
What's Changed
- README: Add hint about NextProtos for certmagic.TLS by @oliverpool in #251
- Bump golang.org/x/net from 0.11.0 to 0.17.0 by @dependabot in #253
- Optionally pass the context argument down to the OnDemand decision func by @ankon in #255
- Retain the error stack if
checkIfCertShouldBeObtained
returns an error by @ankon in #256 - Add OCSP stapling unit tests by @kenjenkins in #259
New Contributors
- @oliverpool made their first contribution in #251
Full Changelog: v0.19.2...v0.20.0