Skip to content

v0.16.0

Compare
Choose a tag to compare
@mholt mholt released this 25 Mar 17:10
· 163 commits to master since this release
v0.16.0
03cffeb

This release is hopefully one of the last major tags before a more stable CertMagic 1.0. It includes a number of breaking changes (for the better, I promise) -- so please pay attention:

  • ⚠️ All storage methods now require context.Context passed in. We also added it to CleanUpOwnLocks() and several other functions that end up calling Storage methods (e.g. CacheUnmanagedTLSCertificate()). Your editor, in combination with gopls (the Go language server) should be able to quickly tell you where context is missing.
  • ⚠️ Storage methods now return fs.ErrNotExist if a file or key is not found, instead of certmagic.ErrNotExist, which has been removed. (The io/fs package did not exist when CertMagic was first written.)
  • ⚠️ ACMEManager has been renamed to ACMEIssuer, and CertificateManager has been renamed to Manager. These renames make naming more consistent and accurate, and less confusing (since ACMEManager was not a CertificateManager, which is a new type).
  • Certificate events now provide more useful, actionable information. See #150.

I have personally submitted PRs to the more popular known storage implementations as a courtesy to help deal with the breaking changes.

The nuances of the logic in preparing for DNS challenges have changed slightly, hopefully it will work in more environments.

Thanks to all who contributed! Sorry for any inconvenience with the breaking changes; that's the joy of pre-1.0 libraries. We're almost there, though. It's been 5 years and we might finally be starting to get good at things.

What's Changed

New Contributors

Full Changelog: v0.15.4...v0.16.0