DnsControl v3.0.0 Release Notes

Release Date: 2020-03-22 // about 4 years ago
  • 🚀 DNSControl 3.0.0 is a major release!

    ✅ Three new providers! Two new subcommands! Integration tests reworked! Tons of minor and major bug fixes, code cleanups, and more!

    🚀 This release focused on some major internal changes that might break providers or require updates. These were all internal changes that are invisible to the user. In fact, there were no breaking changes to your dnsconfig.js file!

    A special shout-out to all the providers that responded quickly to my many "call to action" requests. Thank you for all your help! We couldn't do it without you. Those requests were:

    • Providers should implement "get-zones" (#628)
    • ⚡️ Call to update dependencies (#619)
    • ⚡️ Call to update GetNameservers() to be more consistent (#491)
    • 🔨 Integration tests refactored, please test! (#684)

    Major features:

    • ⬆️ PROVIDER (UPGRADE): AZUREDNS is now officially supported!
    • PROVIDER (NEW): Internet.bs (#590)
    • PROVIDER (NEW): ClouDNS (#578)
    • 🚚 PROVIDER (REMOVED): GANDI/GANDI-LIVEDNS removed. Use GANDI_V5 instead. It is officially supported, 100% backwards compatible, plus the code is cleaner and more modern.
    • 🆕 New subcommand: dnscontrol check-creds helps debug your creds.json file.
    • 🆕 New subcommand: dnscontrol get-zones helps convert zones to DNSControl (#641) (#613)
    • Let's Encrypt now tries all cert renewals before returning error (#611)
    • 👍 If your DNS provider supports AutoDNSSEC, DNSControl now has a way to interface with it.
    • 🔨 Integration Tests Refactored: Integration tests have been reimagined and reorganized. It is now easier to work around providers with missing/broken features (#684)
    • BIND's serial number and SOA handling is rewritten to be less complex, cleaning, and less buggy (#652)

    Provider-specific changes:

    • 🆕 NEW PROVIDER: Internet.bs (#590)
    • 🆕 NEW PROVIDER: ClouDNS (#578)
    • 👍 AZUREDNS is now an officially supported provider (#653)
    • 👍 AZUREDNS: Add support for Alias: AZURE_ALIAS() (#675)
    • ⚡️ AZUREDNS: Bug: Wrong domain updated in query (#615)
    • AZUREDNS: Do not warn about underscore for acm-validations.aws (#661)
    • BIND: Implement AutoDNSSEC (#648)
    • BIND: Simplify serial number generation (#652)
    • 📚 CLOUDFLARE: Correct redirect function documentation (#696)
    • DNSIMPLE: Add AUTODNSSEC, implement for DNSimple (#640)
    • 👍 DNSIMPLE: bug-fix SSHFP, add multi TXT support (#639)
    • 👍 DNSIMPLE: support NAPTR (#671)
    • 👍 GANDI_V5: Fix/support ALIAS, SSHFP, TLSA (#673)
    • GANDI_V5: Recognize that CanUseTXTMulti is valid (#680)
    • 🛠 SOFTLAYER: Fixed Lets Encrypt Certificate issue #668 (#669)
    • 🛠 SOFTLAYER: Fixed Softlayer TXT Record existence Issue #583 (#659)
    • 👍 NAMECHEAP: Add CAA support (#533)
    • 👍 DIGITALOCEAN: CAA is supported with some caveats (#592)
    • Implement get-zones and/or check-creds (#628)
      • BIND: Implement get-zones (#642)
      • CLOUDFLARE: get-zones --ttl flag should handle CF's magic TTLs better (#657)
      • ClouDNS: Get zone records implemented (#681)
      • NAMEDOTCOM: Implement get-zones (#645)
      • OVH: Add get-zones to the OVH provider (#666)
      • VULTR: Implemented get-zones (#628) (#670)
      • ACTIVEDIRECTORY: Implement get-zones (#643)
      • ROUTE53: Fully implement get-zones (#638)
      • DNSimple: Implement GetZones and ListZones (#637)
      • DIGITALOCEAN: Do get zones (#635)
      • AZUREDNS: Implement Get Zone for Azure DNS (#631)
    • Clean up (standardize) GetNameservers:
      • OVH: convert the OVH provider to models.ToNameservers (#679)
    • ⚡️ Update dependencies (#619)
      • EXOSCALE: Update exoscale/egoscale client to v0.23.0 (#664)
      • HEXONET: Update hexonet-sdk to v2.2.3+incompatible (#662)
      • GANDI_V5: Upgrade to newest github.com/tiramiseb/go-gandi
      • AZUREDNS: Upgraded Azure SDK to 39.1.0 (#627)
      • VULTR: Updated govultr to v0.2.0 (#619) (#624)
      • Update github.com/go-acme/lego (#623)
      • DIGITALOCEAN: Update digitalocean module (#622)
      • Update many modules (#620)
      • Upgrade urfave/cli to v2 (#614)
      • Update github.com/mjibson/esc (#515)

    📚 Minor changes, internal cleanups and documentation fixes:

    • 🆕 New testing infrastructure for get-zones (#688)
    • GetNameservers is inconsistent across providers (#655)
    • ✅ Tests: ensure provider capabilities are checked (#650)
    • ⚡️ External dependencies updated (#691)
    • 📚 Documentation: Clarify require() name and usage (#690)
    • 🚚 Moved providers/diff to pkg/diff (#692)
    • ⚡️ Update README.md (#689)
    • ⬆️ Upgrade go version to 1.14 (#676)
    • ✂ Remove unneeded SSHFP integration test (#677)
    • ⚡️ Update provider-list.md (#653)
    • 👕 Linting (#647)
    • pretty helpers.js (#649)
    • ➕ Add _mta-sts to labels allowed to have an underscore (#617)
    • LETS_ENCRYPT: Try all cert renewals before returning error. (#611)
    • LETS_ENCRYPT: get-certs: DNS01 challenge skipping preCheckDNS (#591)
    • RELENG: Doc should list correct version numbers (#607)
    • 📄 DOCS: Explain nameservers vs ns (#608)
    • 📄 DOCS: Clarify bug triage process (#606)
    • 📄 DOCS: Improve Lets Encrypt docs (#594)
    • 🛠 Fixed issues from go vet (#605)
    • Switch to Go 1.13 error wrapping (#604)
    • Internals: Switch to v2 go.mod, and fix Azure Pipelines (#595)
    • ✅ Integration test: Track providers that support null TXT (#597)

    🚀 For a complete list of bugs closed in this release please refer to this link.