DnsControl v3.5.0 Release Notes
Release Date: 2020-12-07 // over 4 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.