Breaking and behavior changes:
* Automatically resolve zone name and authoritative name servers
  * A new configuration file is required due to this new functionality:
    * DNS section is fully optional
    * DNS section only contains `Timeout` and `NameServer` options
    * Now acme-dns-tiny uses by default the system name server to query DNS resources
      (you can specify other with the  new `NameServer` option).
  * With the help of `SOA` and `NS` DNS resource records, `acme-dns-tiny` is able to
    automatically find the DNS authoritative server where to install ACME DNS-01 challenges.
    See [commit message](https://projects.adorsaz.ch/adrien/acme-dns-tiny/-/commit/540c3d72223a604766def58ee8d6b5215d6e07da)
    for more details.
* Requests sent to ACME server and DNS server have a default timeout to 10 seconds
  * Before, acme-dns-tiny could hand forever waiting for a HTTP or DNS response
  * dnspython >= 1.16 is required due to this new functionality

Improvements
  * use Python context manager to run `openssl` commands

Continuous Integration:
  * add tests to keep coherent code style (linters for  YAML and python files)
  * run `check` stage with Debian Bullseye
  * git default branch is now `main` instead of `master`

Breaking and behavior changes:

  • Automatically resolve zone name and authoritative name servers
    • A new configuration file is required due to this new functionality:
      • DNS section is fully optional
      • DNS section only contains Timeout and NameServer options
      • Now acme-dns-tiny uses by default the system name server to query DNS resources (you can specify other with the new NameServer option).
    • With the help of SOA and NS DNS resource records, acme-dns-tiny is able to automatically find the DNS authoritative server where to install ACME DNS-01 challenges. See commit message for more details.
  • Requests sent to ACME server and DNS server have a default timeout to 10 seconds
    • Before, acme-dns-tiny could hand forever waiting for a HTTP or DNS response
    • dnspython >= 1.16 is required due to this new functionality

Improvements

  • use Python context manager to run openssl commands

Continuous Integration:

  • add tests to keep coherent code style (linters for YAML and python files)
  • run check stage with Debian Bullseye
  • git default branch is now main instead of master