sewer changelog:driver for Windows DNS server (local only) [IN PROGRESS]
cleanup that was deferred from 0.8.4 (affects developers, not cli users)
crypto.py refactored
mypy added to tests
dns_providers have had non-base imports cleaned up: use local # type:
ignore annotations
a few non-service-specific libs marked globally to be ignored
REMOVED obsolescent dns_provider_name class variables (use the JSON catalog, added in 0.8.3)
REMOVED obsolescent guards around service-specific imports and the corresponding delayed exceptions (the unnecessary imports that used to require the guards were removed in 0.8.3)
crypto.py’s tests migrated to pytest format as tests/crypto_test.py
Fixed the alias support code and unbound_ssh, its only in-tree client, to use correct names for alias option parameters
Aliasing document updated to current client options
in-tree tests began migrating to pytest format (and moving to ./tests)
CLI changes:
--acct_key & --cert_key should be used to designate the file that
holds the keys to be used (rather than having new ones generated).
--account_key & --certificate_key are still accepted as synonyms.
add --acct_key_type & --cert_key_type to allow choice of RSA or EC
keys and key sizes when sewer is generating them for you.
changed default for generated keys to 3072 bit RSA (had been 2048 bit)
add --is_new_key to allow for first-time registration of your own
account key (using --acct_key) generated outside of sewer.
Internal changes for library clients:
Client methods cert() and renew() are deprecated; just call get_certificate() directly instead.
Client no longer generates keys. (see below)
crytographic refactoring
Client interface changes due to crypto refactoring
dropped account_key and certificate_key optional arguments to Client
added acct_key and cert_key REQUIRED arguments to Client taking
AcmeAccount and AcmeKey objects, respectively.
add is_new_acct argument to force registration of the supplied account
key
dropped bits argument because Client no longer generates keys!
dropped digest argument since there are currently no alternate digest
methods for the different key types. (was this ever used?)
Features and Improvements:
--acme-timeout <seconds> option to adjust timeout on queries to
the ACME server--action {run,renew} has been doing nothing useful and is now deprecated.--p_opt <name>=<value> for passing kwargs to driversalias=<alias_domain> specifies a separate domain for DNS challenges
(requires driver support, see Aliasing)prop_delay=<seconds> gives a fixed delay (sleep) after challenge setup*.domain.tld) as well as the “wildcard plus” patternInternals:
import ......{name.}ClassName**kwargs to all legacy providers to allow new options that are
handled in a parent class to pass through (for alias, prop_delay, etc.)sewer/__init__ and
sewer/dns_providers/__init__; fixed all uses in cli.py and tests.__main__.py to support python -m sewer invocation of sewer-cliSee also release notes.
Feature additions:
Internals (features and/or annoying changes for sewer-as-a-library users)
*. to wildcards; remove spotty code in providers to strip itSee also release notes.
sewer was unable to delete wildcard names from clouflare: https://github.com/komuw/sewer/pull/139sewer would log twice: https://github.com/komuw/sewer/pull/137