This will attempt to list all the changes that affect users of the
sewer-cli program, including even cosmetic changes. If you use sewer as a
library you may find internal changes not called out here.
New sewer-cli features are usually just mentioned, see
sewer-cli.md for more complete documentation.
added many words in the /docs directory. A lot of it is internals documentation; a lot of it was written to help me understand exactly how some things worked and decide how they should be improved - design essays, as it were. Much of it is sure to still be in some intermediate state.
new documentation of the sewer-cli user command. Tries to
be as-is in 0.8.3 while warning about things that are sure to change
later.
--acme_timeout has been added (revised from menduo’s PR #154)
--p_opt name=value ... allows passing multiple driver options through
the command line. This is preferred over single-purpose cli options that
were briefly present in pre-release work since they eliminate the need to
manually add new driver options to the cli parser.
alias parameter (in DNSProviderBase) added; available through --p_opt
alias=... for sewer-cli. NB: legacy drivers do NOT implement
aliasing yet - code changes required except for the demonstration DNS
driver, unbound_ssh.
prop_delay, prop_timeout and prop_sleep_times (in DNSProviderBase)
Available through the --p_opt option in sewer-cli, though no legacy
provider has the driver support necessary to make prop_timeout and
prop_sleep_times work.
Mostly I’ve tried to avoid changes that were likely to break things. More
so for sewer-cli than those who use the inner workings of Client, of
course.
the default log level for providers changed from INFO to WARNING,
so by default they don’t natter so much. Makes sewer-cli a little quieter
when there are no problems. (there’s more to be done - it looks like some
messages that are clearly informational are written at a higher priority.)
all the legacy DNS providers have been minimally revised to accept some new options (alias and prop_delay) and pass them up to their parent classes.
sewer-cli interface to providers has been augmented to pass some new options
(–acme_timeout, driver parameters from –p_opts)
sewer-cli has had long option abbreviations disabled in argparse. This
was never documented in sewer, and is an attractive nuisance since the
addition of another option can break an abbreviation. Everyone wants more
options, right?
unbound_ssh driver, a working demonstration of using aliasing support in
a legacy DNS driver. Needs a rather specific environment to work, but I
just renewed a handful of certificates using it the other day. :-)
JSON configuration has arrived. meta.json replaces version.py. catalog.json adds a central description of known drivers, replacing the mess of imports (removed, see below), and some non-DRY lists in setup.py and cli.py.
sewer.catalog provides loading of the JSON catalog as well as methods to
lookup the driver’s descriptor by name and load the module; replaces the
mess of imports
import sewer and access especially
the provider classes as eg. sewer.ThatDNSDns. import sewer.dns_providers.thatdns.ThatDNSDns is the current
workaround, sorry.from sewer import catalog
pro_cls = catalog.ProviderCatalog().get_provider("route53")
provider = pro_cls(...arguments as needed...)
This does NOT affect sewer-cli users.
--action {run,renew} option has never actually had any effect and is no
longer required (since 0.8.2?). LOGS A WARNING IN 0.8.3.