Releases: StackExchange/dnscontrol
v3.19.0
Changelog
This is a clean-up release. Tons of bugs fixed, refactored code and chores. No new features.
Release process: Docker and ARM users rejoice! We now have a fully automated release process. We've added ARM64 and Docker images. It uses goreleaser and CircleCI. Everything is automated except the creation of these release notes. Thanks to @cdhunt and @cafferata for their work on this!
Performance: The "auditrecord" system is now faster and the code is easier to read.
More cleanups: Many, many, many dependencies have been updated. "golint" now reports no errors or warnings. "staticcheck" only reports 3 minor issues.
Also...
- Cloudflare: Incorrect creds? The error message now tells you where to look.
- Azure: You're now on the new SDK.
- MSDNS and CSCGLOBAL are now 2x faster because we were downloading DNS records twice. Ooops!
- INWX: Welcome new maintainer patschi! Thanks for stepping up!
Deprecations: As announced earlier this year, "convertzone" and ActiveDirectory_PS have been removed; we've marked OctoDNS to be removed later this year. All of these have replacements that are significantly better.
Here's the details:
Major features:
- n/a
Provider-specific changes:
- 09a53b4: CLOUDFLAREAPI: Clarify source of error in message (#1700) (@tlimoncelli)
- 5e8bb6e: AZURE_DNS: Adopt new "armdns" SDK (#1701) (@vatsalyagoel)
- f24c250: CLOUDFLARE: Error messages should indicate which cred entry (#1690) (@tlimoncelli)
- 83a4b6a: Remove ACTIVEDIRECTORY_PS (#1680) (@tlimoncelli)
Other changes and improvements:
- 2673217: Updated the Circle CI multi-arch environment variable. (#1686) (@cafferata)
- 31723ad: PERFORMANCE: Refactor auditrecords.go to loop only once #1570 (#1658) (@tlimoncelli)
- 3d69495: CHORE: Update dependencies (#1697) (@tlimoncelli)
- 443b99a: CHORE: Remove duplicate ToDiff code (#1684) (@tlimoncelli)
- 55fbbf3: CHORE: Bump golang from
f8e128f
to0eb08c8
(#1676) (@dependabot[bot]) - 619758a: Create SECURITY.md (#1685) (@tlimoncelli)
- 9eda756: CHORE: Update AZUREDNS deps, (#1706) (@tlimoncelli)
- b4ebe5b: maint: Update GoReleaser and CircleCI configs to publish multi-arch Docker image (#1682) (@cdhunt)
- bd04894: Make the Docker image build version DOCKER_IMAGE_VERSION aware of the configured version in main.go. (#1694) (@cafferata)
- ccb582b: CHORE: Linting (#1704) (@tlimoncelli)
- cd61c2c: CHORE: Remove deprecated io/ioutil (#1699) (@tlimoncelli)
- cfc82c8: DOCS: Update with new release process (#1707) (@cdhunt)
- e1b6b16: DOCS: Revert jquery update to version supported by bootstrap (#1703) (@Firefishy)
- e49f743: CHORE: Remove convertzone (#1683) (@tlimoncelli)
- f3767f2: Announce OctoDNS decomm. (#1679) (@tlimoncelli)
- fd96acb: Change INWX maintainer to patschi (#1692) (@patschi)
Release v3.18.1
This minor release fixes bugs in the NS1 and CSCGLOBAL providers. It also bumps the container to use Alpine 3.16.2 and fixes a compilation error.
NOTE: Please ignore references to release v3.18.2. That was a typo.
Breaking changes:
- n/a
Major features:
- n/a
Provider-specific changes:
- NS1: workaround an issue with ns1 API (#1671)
- CSCGLOBAL: Improve performance by waiting less (#1669)
Other changes and improvements:
- CHORE: Bump alpine from 3.16.1 to 3.16.2 (#1670)
- CSCGLOBAL: Fix compilation error
Depreciation warnings
- Call for new volunteer maintainers for INWX, NAMEDOTCOM, and SOFTLAYER. These providers have no maintainer. Maintainers respond to PRs and fix bugs in a timely manner, and try to stay on top of API changes.
- ACME/Let's Encrypt support is frozen and will be removed after December 31, 2022. The
get-certs
command (renews certs via Let's Encrypt) has no maintainer. There are other projects that do a better job. If you don't use this feature, please do not start. If you do use this feature, please plan on migrating to something else. See discussion in #1400 - convertzone is frozen and will be removed after June 30, 2022. The
convertzone
stand-alone program is replaced by theget-zone
subcommand of DNSControl. It does everythingconvertzone
did and more. - Provider ACTIVEDIRECTORY_PS is frozen and will be removed after June 30, 2022. It is replaced by MSDNS which is 100% feature compatible and works better. (We believe nobody uses it.)
- get-zones syntax changes in v3.16 Starting in v3.16, the command line arguments for
dnscontrol get-zones
changes. For backwards compatibility changeprovider
to-
. See documentation for details.
Release v3.18.0
This release includes 1 new provider, some features work better, and there are many, many bug fixes.
Thanks to Simen Bai for contributing a provider for Domainnameshop! Thanks to Amelia Aronsohn for stepping up to be the new owner of DNSIMPLE, who has already made numerous improvements!
Many providers have improved TXT record handling thanks to some new tests that surfaced some bugs. GCLOUD users can now use ADC for authentication. The code that populates a new zone in HETZNER and ROUTE53 now works better. The get-zones
command generates code that needs less hand-editing (but still is "a good first draft", not perfect). The JS version of the SPF flatterer has been recompiled with the latest gopherjs.
Breaking changes:
- n/a
Major features:
- NEW PROVIDER: Domainnameshop provider (#1625) (Simen Bai)
Provider-specific changes:
- CSCGLOBAL: Support TXT records that are long or include double-quotes (#1631)
- DIGITALOCEAN: Bump github.com/digitalocean/godo from 1.80.0 to 1.81.0 (#1560)
- DNSIMPLE: Fix TXT Handling (#1624)
- DNSIMPLE: do not support unpaired double quotes in TXT (#1610)
- DNSIMPLE: do not support spaces in CAA records. (#1606)
- DNSIMPLE: Update dnsimple module to 0.71.1 (#1607)
- DNSIMPLE: do not support DS records (#1608)
- DNSIMPLE: Change code owner/maintainer (#1609)
- EXOSCALE: CHORE: Update Exoscale dependency (#1626)
- GANDI_V5: Improve error handling (#1639)
- GCLOUD: Enable ADC for Gcloud provider (#1583)
- HEXONET: CHORE: upgrade dependency go-sdk to v3.5.4 (#1580)
- HETZNER: do not support spaces in CAA records (#1577)
- HETZNER: Bug: Populate zone in provider may fail (#1642)
- MSDNS: Add missing newline to PS warning (#1614)
- NAMEDOTCOM: Better estimate TXT length restrictions (#1627)
- POWERDNS: Cleanup and fix parsing of TXT records (#1569)
- POWERDNS: MAINT: Restructuring of the PowerDNS DSP based on the layout of CSCGlobal (#1549)
- ROUTE53: Bug: Populate zone in provider may fail (#1642)
Other changes and improvements:
- AuditRecords should report the provider name (#1628)
- get-zones "js" format should generate pretty DSP variable (#1630)
- Upgrade many dependencies (#1648) (#1591) (#1561) (#1552)
- CHORE: Upgrade jquery 2.1.4 to 3.6.0 (#1637)
- CHORE: flattener: Recompile with latest gopherjs (#1635)
- CHORE: Run go fmt after build, so deps are there (#1557)
- CHORE: Move IGNORE* tests to the end (#1623)
- DOCS: Add tips about TXT records (#1622)
- DOCS: Use HTTPS for git endpoint for cloning (#1572)
- DOCS: Add creds.json.tpl file to documentation (#1554)
- MAINT: Update TXT docs, suggest not using TxtNoLen255 (#1548)
- MAINT: Configure Dependabot to update Docker image (#1553)
Depreciation warnings
- Call for new volunteer maintainers for NAMEDOTCOM, and SOFTLAYER. These providers have no maintainer. Maintainers respond to PRs and fix bugs in a timely manner, and try to stay on top of protocol changes.
- ACME/Let's Encrypt support is frozen and will be removed after December 31, 2022. The
get-certs
command (renews certs via Let's Encrypt) has no maintainer. There are other projects that do a better job. If you don't use this feature, please do not start. If you do use this feature, please plan on migrating to something else. See discussion in #1400 - convertzone is frozen and will be removed after June 30, 2022. The
convertzone
stand-alone program is replaced by theget-zone
subcommand of DNSControl. It does everythingconvertzone
did and more. - Provider ACTIVEDIRECTORY_PS is frozen and will be removed after June 30, 2022. It is replaced by MSDNS which is 100% feature compatible and works better. (We believe nobody uses it.)
- get-zones syntax changes in v3.16 Starting in v3.16, the command line arguments for
dnscontrol get-zones
changes. For backwards compatibility changeprovider
to-
. See documentation for details.
Release v3.17.0
This release includes many new features and bug fixes:
Some highlights:
-
An elusive bug in CLOUDFLAREAPI was fixed (#1543) related to TXT records and quoting. The SPF Optimizer may have installed additional quotes in your TXT records years ago. This went unnoticed because CloudFlare stripped these quotes silently. DNSControl will fix your TXT records on the next run.
-
--creds !command
now accepts an entire command line, not just the filename of a script. This works on both Unix-like and Windows (PowerShell) systems, thus a command likednscontrol preview --creds "!op inject -i creds.json.tpl"
will work on both. See https://stackexchange.github.io/dnscontrol/creds-json.html -
CSCGLOBAL now has experimental support as a DNS Service Provider (DSP). Previously it was only a Registrar. Sadly the API locks any zone for 5-7 minutes after any changes, which could cause timeouts in CI/CD pipelines.
-
Docker users rejoice! The Dockerfile has been greatly improved.
-
Welcome Riyadh Al Nur (@riyadhalnur) as the new maintainer of the Google DNS (GCLOUD) provider! Thanks for stepping up!
Thanks to all the volunteers for their contributions: Jan-Philipp Benecke, F.D.Castel, Riyadh Al Nur, Chris, Nicolas Lorin. (apologies if I missed anyone)
Breaking changes:
- n/a
Major features:
- NEW PROVIDER: CSCGLOBAL as DNS Service Provider (#1516) (experimental)
- FEATURE: --creds can refer to a command line to execute in addition to a file or script (#1521)
- MAINT: New Dockerfile (fix #1459) (#1537)
- GCLOUD: Welcome riyadhalnur as the new owner for GCLOUD (#1525)
Provider-specific changes:
- CLOUDFLAREAPI: Fix TXT quoting bug (#1538) (#1543)
- GANDI: DOCS: Document sharing_id errors (#1542)
- CSCGLOBAL: Enable CAA records (#1536)
- VULTR: Enable long TXT (#1518)
Other changes and improvements:
- MAINT: Unify provider outputs to pkg/printer (#1546)
- MAINT: Enforcing formatted code (#1544)
- MAINT: Put some target-related warnings behind a flag (#1541)
- CLOUDFLAREAPI: FIX: Preventing segfault when Cloudflare API limit is reached (#1530)
- NEW FEATURE: Add deprecation notice to create-domains command (#1529)
- CHORE: update provider maintainer message (#1526)
- MAINT: docker: Add CA certificates to Docker image (#1523)
- MAINT: Bump github.com/tdewolff/minify/v2 from 2.11.5 to 2.11.7 (#1520)
- SOFTLAYER: Bump github.com/softlayer/softlayer-go from 1.0.4 to 1.0.5 (#1519)
Depreciation warnings
- Call for new volunteer maintainers for NAMEDOTCOM, and SOFTLAYER. These providers have no maintainer. Maintainers respond to PRs and fix bugs in a timely manner, and try to stay on top of protocol changes.
- ACME/Let's Encrypt support is frozen and will be removed after December 31, 2022. The
get-certs
command (renews certs via Let's Encrypt) has no maintainer. There are other projects that do a better job. If you don't use this feature, please do not start. If you do use this feature, please plan on migrating to something else. See discussion in #1400 - convertzone is frozen and will be removed after June 30, 2022. The
convertzone
stand-alone program is replaced by theget-zone
subcommand of DNSControl. It does everythingconvertzone
did and more. - Provider ACTIVEDIRECTORY_PS is frozen and will be removed after June 30, 2022. It is replaced by MSDNS which is 100% feature compatible and works better. (We believe nobody uses it.)
- get-zones syntax changes in v3.16 Starting in v3.16, the command line arguments for
dnscontrol get- zones
changes. For backwards compatibility changeprovider
to-
. See documentation for details.
Release v3.16.2
This release fixes another bug (#1507 (comment)) in the dnscontrol check
subcommand related to the #1457 proposal. Thanks to @riku22 for reporting the bug!
Breaking changes:
- none
Major features:
- none
Provider-specific changes:
- none
Other changes and improvements:
- Fix #1507 (comment) BUG: With TYPE in creds.json, CAA compatibility check breaks (#1514)
Depreciation warnings
- Call for new volunteer maintainers for GCLOUD, NAMEDOTCOM, and SOFTLAYER. These providers have no maintainer. Maintainers respond to PRs and fix bugs in a timely manner, and try to stay on top of protocol changes.
- ACME/Let's Encrypt support is frozen and will be removed after December 31, 2022. The
get-certs
command (renews certs via Let's Encrypt) has no maintainer. There are other projects that do a better job. If you don't use this feature, please do not start. If you do use this feature, please plan on migrating to something else. See discussion in #1400 - convertzone is frozen and will be removed after June 30, 2022. The
convertzone
stand-alone program is replaced by theget-zone
subcommand of DNSControl. It does everythingconvertzone
did and more. - Provider ACTIVEDIRECTORY_PS is frozen and will be removed after June 30, 2022. It is replaced by MSDNS which is 100% feature compatible and works better. (We believe nobody uses it.)
- get-zones syntax changes in v3.16 Starting in v3.16, the command line arguments for
dnscontrol get-zones
changes. For backwards compatibility changeprovider
to-
. See documentation for details.
Release v3.16.1
This release fixes one minor bug in the dnscontrol check
subcommand related to the #1457 proposal. Also many dependencies are upgraded.
Breaking changes:
- none
Major features:
- none
Provider-specific changes:
- none
Other changes and improvements:
Depreciation warnings
- Call for new volunteer maintainers for GCLOUD, NAMEDOTCOM, and SOFTLAYER. These providers have no maintainer. Maintainers respond to PRs and fix bugs in a timely manner, and try to stay on top of protocol changes.
- ACME/Let's Encrypt support is frozen and will be removed after December 31, 2022. The
get-certs
command (renews certs via Let's Encrypt) has no maintainer. There are other projects that do a better job. If you don't use this feature, please do not start. If you do use this feature, please plan on migrating to something else. See discussion in #1400 - convertzone is frozen and will be removed after June 30, 2022. The
convertzone
stand-alone program is replaced by theget-zone
subcommand of DNSControl. It does everythingconvertzone
did and more. - Provider ACTIVEDIRECTORY_PS is frozen and will be removed after June 30, 2022. It is replaced by MSDNS which is 100% feature compatible and works better. (We believe nobody uses it.)
- get-zones syntax changes in v3.16 Starting in v3.16, the command line arguments for
dnscontrol get-zones
changes. For backwards compatibility changeprovider
to-
. See documentation for details.
Release v3.16.0
This release includes one new provider ("AutoDNS"), warns about mismatched TTLs, fixes bugs and adds many improvements. Most importantly this release begins the transition to storing "provider type" info in creds.json instead of dnsconfig.js.
The Request for Comments: Include the provider type in creds.json, remove it from dnsconfig.js proposal was implemented in this release. This moves the provider name (the uppercase string like CLOUDFLAREAPI, GANDI_V5, ROUTE53) from dnsconfig.js into the creds.json file. This corrects a long-standing design mistake, simplifies configuration files and command-line tools usage. With this release both the old and new syntax are supported. If the old syntax is detected, helpful conversion advice is output on stderr. There are no plans to remove the old syntax, but it will happen eventually.
Because the warnings are output on stderr, it should not affect scripts or CI/CD pipelines. However, do be on the lookout for unexpected problems.
We also thank @tresni for stepping up and volunteering to maintain CLOUDFLAREAPI and ROUTE53!
Breaking changes:
- none intended (See above)
Major features:
- NEW PROVIDER: AutoDNS (#1336) (Thanks, @arnoschoon!)
- NEW FEATURE: Emit warning in case of label having multiple TTLs (#1489)
- NEW FEATURE: Provider TYPE is moving from dnsconfig.js to creds.json (#1500) (#1499)
- BUG FIX: creds.json should not be executable under Windows (#1456)
- Welcome maintainers for CLOUDFLAREAPI, ROUTE53
Provider-specific changes:
- AUTODNS: Fix autodns documentation example javascript. (#1470)
- CLOUDFLARE: Add support for PTR records (#1496)
- CLOUDNS: Fix creation of intra-zone NS records (see #1263) (#1469)
- DNSIMPLE: bug-fix, allow non-apex NS records (#1468)
- DOH: Clarify DOH does not reference whois data (#1413)
- GANDI_V5: Fix DS test / Eliminate SHA1 use in DS_Child tests (#1502)
- HEXONET: Fix error format string (#1462)
- HEXONET: Adapt to new OTE endpoint (#1463)
- LINODE: Add support for CAA records and implement get-zones (#1454)
- LINODE: Skip CAA flag test (#1455)
- NETCUP: Autosplit long TXT records (#1481)
- NS1: enable autoDNSSEC capability (#1450)
Other changes and improvements:
- Refactor: Rewrite GetDNSConfig (#1466)
- Refactor: Rename providers/config to pkg/credsfile (#1494)
- Refactor: Move creds.json processing out of InitializeProviders (#1495)
- Cleanup: Eliminate models.StringsToNameservers() (#1486)
- Cleanup: Make skip_fqdn_check error message easier to understand and fix (#1477)
- DOCS: Update maintainers for Route53 and Cloudflare (#1501)
- TESTING: pkg/js/parse_tests: fix a broken test (#1498)
- DOCS: fix a forgotten "VOLUNTEER NEEDED" (#1488)
- Cleanup: Guard against nil (#1452)
- MAINT: Minimum go version is now 1.18 (#1464)
- TESTING: "DUPLICATE E_RECORD" no longer a hard error (#1465)
- Update dependencies (#1490) (#1478)
Depreciation warnings
- Call for new volunteer maintainers for GCLOUD, NAMEDOTCOM, and SOFTLAYER. These providers have no maintainer. Maintainers respond to PRs and fix bugs in a timely manner, and try to stay on top of protocol changes.
- ACME/Let's Encrypt support is frozen and will be removed after December 31, 2022. The
get-certs
command (renews certs via Let's Encrypt) has no maintainer. There are other projects that do a better job. If you don't use this feature, please do not start. If you do use this feature, please plan on migrating to something else. See discussion in #1400 - convertzone is frozen and will be removed after June 30, 2022. The
convertzone
stand-alone program is replaced by theget-zone
subcommand of DNSControl. It does everythingconvertzone
did and more. - Provider ACTIVEDIRECTORY_PS is frozen and will be removed after June 30, 2022. It is replaced by MSDNS which is 100% feature compatible and works better. (We believe nobody uses it.)
- get-zones syntax changes in v3.16 Starting in v3.16, the command line arguments for
dnscontrol get-zones
changes. For backwards compatibility changeprovider
to-
. See documentation for details.
Release v3.15.0
This release includes many minor features, bug fixes, and documentation improvements. ClouDNS now manages web redirects, NS1 now supports DS, TLSA, NAPTR, and CAA records, documentation now displays examples better, and POWERDNS now supports DS records. Welcome @costasd as the new maintainer for the NS1 provider! Sadly we've decided to retire the "get-certs" command that renews certs using ACME (Let's Encrypt). See below for details.
Breaking changes:
- none
Major features:
- ClouDNS: Add CLOUDNS_WR (Web Redirects) (#1421)
Provider-specific changes:
- AZURE_DNS: GetZones error should report subscription id (#1415)
- BIND: Bug: DefaultNS strips last char (#1411)
- BIND: Fix test that fails on second run (#1434)
- CLOUDFLARE: Bug: crash when SRV is missing target (#1437)
- EASYNAME: Source filename should conform to standard (#1422)
- GCLOUD: Stop using deprecated New() call (#1409)
- HOSTINGDE: Customizing nameservers for hosting.de provider (#1396)
- NS1: Enable DS & DSForChildren support (#1446)
- NS1: add support for TLSA and NAPTR (#1405)
- NS1: fix multivalue CAA handling (#1404)
- NS1: ignore DNSKEY & RRSIG entries (#1443)
- NS1: new maintainer for ns1 (#1403)
- POWERDNS: Add support for DS records (#1414)
- ROUTE53: Fix shortname bug for get-zones (#1418)
Other changes and improvements:
- DOCS: Fix examples in documentation (#1435)
- DOCS: Replace Jekyll highlight tags with fenced code blocks (#1412)
- DOCS: Update README with GHA and LE news (#1428)
- DOCS: fix typo (#1419)
- MAINT: Make staticcheck more strict and fix new warnings (#1408)
- MAINT: Sort various lists (#1433)
- MAINT: Update dependencies GANDIV5, CLOUDFLAREAPI(#1439) (#1438) (#1431) (#1432) (#1429)
Depreciation warning
- Let's Encrypt support is frozen and will be removed in early 2023. The "get-certs" command (renews certs via Let's Encrypt) has no maintainer. There are other projects that do a better job. If you don't use this feature, please do not start. If you do use this feature, please plan on migrating to something else. See discussion in #1400
- Provider ACTIVEDIRECTORY_PS is deprecated and will be removed soon. Use MSDNS instead.
- Call for new volunteer maintainers for CLOUDFLARE_API, GCLOUD, NAMEDOTCOM, ROUTE53, and SOFTLAYER.
Release v3.14.0
This release includes one new provider (PacketFrame), enables "get-zones" for NS1, plus many bugfixes and documentation improvements.
Breaking changes:
- none
Major features:
Provider-specific changes:
- AKAMAIEDGEDNS: fix staticcheck warnings/errors (#1346)
- CLOUDFLARE: Clarify universal SSL docs (#1358)
- CLOUDFLARE: fix CloudFlare documentation for CF_WORKER_ROUTE (#1351)
- CLOUDNS: Fix name server updates #1263 (#1303)
- HETZNER: handle a 404 from listing zones gracefully (#1371)
- HEXONET: Changing test domain
- NAMEDOTCOM: Increase timeout (#1382)
- NS1: Enable get-zones (#1373)
- NS1: Rename ns1provider.go to ns1Provider.go (#1350)
- ORACLE: fix nameserver trailing dot issue, and resolve staticcheck warnings (#1341)
- OVH: Fix #1338 - OVH provider should work when domain is not registered (#1340)
- TRANSIP: Bump github.com/transip/gotransip/v6 from 6.11.0 to 6.14.0 (#1392)
Other changes and improvements:
- DOCS: Clarify docker command for docs. (#1398) (#1397)
- DOCS: Add DOH example (#1393)
- DOCS: Fix formatting/rewrite docs/nameservers.md (#1391)
- DOCS: Clarify nameserver examples (#1390)
- MAINT: Update dependencies (#1388)
- MAINT: Update dependencies
- MAINT: Linting (#1380)
- MAINT: Fix many golint/staticcheck issues
- MAINT: Fix comment (#1379)
- BUGFIX: CAA records may include quoted spaces #1374 (#1377)
- DOCS: Improve docs/writing-providers.md wrt registrars and testing (#1366)
- DOCS: Clarify responsibilities of maintainers (#1364)
- BUG: Support RFC2317 by allowing slash in CNAME target (#1360)
- MAINT: Update dependencies (#1361)
- CLEANUP: Skip DualProvider tests if Cannot(DocDualHost) (#1345)
Depreciation warnings (updated 2022-02-05)
- Provider ACTIVEDIRECTORY_PS is deprecated and will be removed soon. Use MSDNS instead.
- Provider NS1 has no maintainer and is jeopardy of being removed or deactivated if no volunteer steps up soon.
- Call for new volunteers maintainers for CLOUDFLARE_API, GCLOUD, NAMEDOTCOM, ROUTE53, and SOFTLAYER.
- Should we retain Let's Encrypt support? The "get-certs" command (renews certs via Let's Encrypt) has no maintainer. There are other projects that do a better job. We are considering removing this feature in the future. See discussion in #1400
Release v3.13.1
What's Changed
- DNSMADEEASY: Fix staticcheck errors by @vojtad in #1316
- ROUTE53: Adopt aws-sdk-go-v2 by @jtdoepke in #1321
- Upgrade dependencies by @tlimoncelli in #1324
- DIGITALOCEAN: Upgrade to godo 1.73.0 by @tlimoncelli in #1325
- DNSMADEEASY: always override NS records TTL to be 86400 by @vojtad in #1317
- fix issues found by staticcheck by @blackshadev in #1337
- Fix simple staticcheck items by @tlimoncelli in #1329
- DOCS: Improve cli-variables.md by @tlimoncelli in #1328
- Migrate Build and Integration Tests to CircleCI by @cdhunt in #1292
New Contributors
Full Changelog: https://github.com/StackExchange/dnscontrol/commits/v3.13.1