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.
- :warning: The
DecisionFuncfor On-Demand TLS now takes acontext.Contextvalue as its first argument. The context carries theClientHelloInfovalue (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.arpais 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 https://github.com/caddyserver/certmagic/pull/251
- Bump golang.org/x/net from 0.11.0 to 0.17.0 by @dependabot in https://github.com/caddyserver/certmagic/pull/253
- Optionally pass the context argument down to the OnDemand decision func by @ankon in https://github.com/caddyserver/certmagic/pull/255
- Retain the error stack if
checkIfCertShouldBeObtainedreturns an error by @ankon in https://github.com/caddyserver/certmagic/pull/256 - Add OCSP stapling unit tests by @kenjenkins in https://github.com/caddyserver/certmagic/pull/259
New Contributors
- @oliverpool made their first contribution in https://github.com/caddyserver/certmagic/pull/251
Full Changelog: https://github.com/caddyserver/certmagic/compare/v0.19.2...v0.20.0