Added
- New functions that Certbot plugins can use to interact with the user have
been added tocertbot.display.util
. We plan to deprecate usingIDisplay
withzope
in favor of these new functions in the future. - The
Plugin
,Authenticator
andInstaller
classes are added to
certbot.interfaces
module as alternatives to Certbot's currentzope
based
plugin interfaces. The API of these interfaces is identical, but they are
based on Python'sabc
module instead ofzope
. Certbot will continue to
detect plugins that implement either interface, but we plan to drop support
forzope
based interfaces in a future version of Certbot. - The class
certbot.configuration.NamespaceConfig
is added to the Certbot's
public API.
Changed
- When self-validating HTTP-01 challenges using
acme.challenges.HTTP01Response.simple_verify, we now assume that the response
is composed of only ASCII characters. Previously we were relying on the
default behavior of the requests library which tries to guess the encoding of
the response which was error prone. acme
: the.client.Client
and.client.BackwardsCompatibleClientV2
classes
are now deprecated in favor of.client.ClientV2
.- The
certbot.tests.patch_get_utility*
functions have been deprecated.
Plugins should now patchcertbot.display.util
themselves in their tests or
usecertbot.tests.util.patch_display_util
as a temporary workaround. - In order to simplify the transition to Certbot's new plugin interfaces, the
classesPlugin
andInstaller
incertbot.plugins.common
module and
certbot.plugins.dns_common.DNSAuthenticator
now implement Certbot's new
plugin interfaces. The Certbot plugins based on these classes are now
automatically detected as implementing these interfaces. - We added a dependency on
chardet
to our acme library so that it will be
used overcharset_normalizer
in newer versions ofrequests
.
Fixed
- The Apache authenticator no longer crashes with "Unable to insert label"
when encountering a completely empty vhost. This issue affected Certbot 1.17.0. - Users of the Certbot snap on Debian 9 (Stretch) should no longer encounter an
"access denied" error when installing DNS plugins.
More details about these changes can be found on our GitHub repo.