DnsControl v3.5.0 Release Notes

Release Date: 2020-12-07 // over 3 years ago
  • ๐Ÿš€ This release includes so many updates and fixes it is difficult to
    summarize them all!

    Major features:

    • ๐Ÿ†• NEW PROVIDER: HETZNER DNS Console (#904)
    • ๐Ÿ†• NEW FEATURE: You can now set variables through flags on the command line (#918) (#913)
    • ๐Ÿ’ฅ BREAKING CHANGE: Long TXT records require AUTOSPLIT to be split (#957) and are checked are check/preview time (#947) (See below)
    • โœจ ENHANCEMENT: "dnscontrol get-zones" now outputs the "orange cloud" flag for CloudFlare (#952)

    ๐Ÿ’ฅ BREAKING CHANGE: Previously different providers handled them differently; some gave an error and others split them silently into 255-octet chunks. This created unhappy surprises when switching providers. Now strings longer than 255-octet must be explictly split (manually or by using the AUTOSPLIT flag). See https://stackexchange.github.io/dnscontrol/js#long-and-multiple-strings

    ๐Ÿ†• NEW AUTOMATED TESTING! Each PR now triggers a suite of automated tests. If you maintain a provider, you can "bring your own secrets" to activate testing in your fork. This should make it easier to contribute to the project! (thanks Max Horstmann, our GitHub Actions wizard!)

    Provider-specific changes:

    • ๐Ÿšš AZURE_DNS: Remove artificial delays (#943)
    • CLOUDFLAREAPI: get-zones now outputs "orange cloud" status (#952)
    • ๐Ÿ‘ CLOUDFLAREAPI: Support TXTMulti and empty TXT targets (#978)
    • DIGITALOCEAN: Abide by rate limits (#934)
    • ๐Ÿ‘ DIGITALOCEAN: Support TXTMulti with caveats (#949)
    • GCLOUD: Don't panic() on unknown domain name (#944)
    • GCLOUD: Retry on ratelimit (#946) and 502 (#984)
    • HETZNER: Allow TXTMulti (#963)
    • ๐Ÿ‘ HETZNER: better rate limit handling (#936) (#926)A
    • HETZNER: create and modify multiple records in batches (#925) (#789)
    • โšก๏ธ HEXONET: Add GHA tests. Update docs. (#942)
    • INWX: Guard against single-quote TXT targets (#971)
    • ๐Ÿ‘ INWX: enable multi txt support (#981)
    • ๐Ÿ“š POWERDNS: Fix documentation: config keys use camel case (#962)
    • ROUTE53: Fix R53_ALIAS creation failure (#938)

    ๐Ÿšง Code maintenance:

    • โœ… TESTING: Enable Bring-Your-Own-Secrets (#982) (#977)
    • โœ… TESTING: js_test.go now generates zonefiles and tests them (#986)
    • ๐Ÿ› BUG: Fix REV and PTR when used together or with D_EXTEND (#979)
    • ๐Ÿ› BUG: Refactored R53_ALIAS code to be more predictably correct, and fix many bugs along the way (#938)
    • ๐Ÿ› BUG: Unknown rtypes should return errors, not a panic (#945)
    • CODE HEALTH: Reduce the use of panic(): Unknown rtypes return errors, not panic (#945)
    • CODE HEALTH: Rename provider handles to *Provider (#914) (#911)
    • โšก๏ธ CODE HEALTH: deps updates and linting (#905)
    • ๐Ÿ“„ DOCS: Fix golint and vendoring notes (#948)
    • ๐Ÿ“„ DOCS: Update install instructions (#951)
    • MAINT: Add a .editorconfig file (#921)
    • โœ… MAINT: Fix parse_test numbering (#985)
    • โšก๏ธ MAINT: Many deps updated (#988)
    • MAINT: gofmt -s all the things! (#983)

Previous changes from v3.4.2

  • ๐Ÿš€ (Version 3.4.0 and 3.4.1 were skipped due to an issue while making the release.)

    ๐Ÿš€ This release includes 1 new Registrar, improvements to others (especially HEXONET), and dozens of other improvements. Thanks for all the contributors!

    Major new features:

    • ๐Ÿ†• New Registrar: CSC Global (#827)
    • ๐Ÿ†• New function: D_EXTEND adds records to an existing D(); possibly in a subdomain (#885) (thanks to @ad8-bdl!)
    • AUTODNSSEC is now AUTODNSSEC_ON (#863). If neither AUTODNSSEC_ON or AUTODNSSEC_OFF is included in a domain, AutoDNSSEC is left alone.
    • Errors in dnsconfig.js and subfiles now indicate the proper filename and line.
    • ๐Ÿ“„ DOCS: Better document nameserver scenarios (#868)
    • ๐Ÿ›  NAMESERVER() validity check fixed (#866)
    • ๐Ÿ›  Many other bug fixes and document improvements.

    Provider-specific changes:

    • HEXONET: Implement get-zones.
    • โฌ†๏ธ HEXONET: Upgraded to newest module.
    • ROUTE53: Documented but with legacy records (#901)
    • ๐Ÿ‘ INWX: Support creating domains (#855)
    • ๐Ÿ“š INWX: add additional documentation about 2FA (#865)
    • PowerDNS: Implemented AUTODNSSEC (#856)
    • โšก๏ธ VULTR: Update govultr to v1.0.0 (fixes #892) (#897)
    • ๐Ÿ‘ VULTR: Null MX records are not supported (#702) (#894)
    • GANDI_V5: Use github.com/go-gandi/go-gandi, not github.com/tiramiseb/go-gandi (#883)

    Help wanted:

    • ๐Ÿšš #873: NS1 has no maintainer. Volunteer needed or we may have to remove this provider.
    • #874: Anyone interested in making a fmt tool for dnsconfig.js?
    • Requests for providers for RcodeZero #884, Joker.com #854, Constellix (DNSMadeEasy) #842, and others.

    Project changes:

    • ๐Ÿš€ No "vendoring". Remove vendoring notes from release-engineering.
    • ๐Ÿ— Go modules now required. Remove support for pre-module builds.