Features and Improvements:
- added `--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.
- added `--p_opt <name>=<value>` for passing kwargs to drivers
- Added optional parameters accepted by base class for DNS drivers:
- `alias=<alias_domain>` specifies a separate domain for DNS challenges
(requires driver support, see [Aliasing](Aliasing))
- `prop_delay=<seconds>` gives a fixed delay (sleep) after challenge setup
- gandi (legacy DNS driver) fixed internal bugs that broke common wildcard
use cases (eg., `*.domain.tld`) as well as the "wildcard plus" pattern
- added unbound_ssh legacy-style DNS provider as a working demo of adding
new features to legacy drivers. It does work in the right environment, and
could be useful to someone other than myself (mm).
Internals:
- added [catalog.py](catalog) to manage provider catalogs; includes
get_provider(name) method to replace `import ......{name.}ClassName`
- replace __version__.py with meta.json; setup.py converted; add sewer_meta()
in lib.py; cli.py converted; client.py converted
- added catalog.json defining known drivers and their interfaces; also
information about dependencies for setup.py
- added `**kwargs` to all legacy providers to allow new options that are
handled in a parent class to pass through (for `alias`, `prop_delay`, etc.)
- removed imports that were in `sewer/__init__` and
`sewer/dns_providers/__init__`; fixed all uses in cli.py and tests.
- began cleanup/refactor of cli.py (there will be more to come and/or a new,
more config driven, alternative command (0.9?))
- added `__main__.py` to support `python -m sewer` invocation of `sewer-cli`
- fixed imports in client.py that didn't actually import the parts of
OpenSSL and cryptography that we use (worked because we import requests?)
See also [release notes](notes/0.8.3-notes).