chore(deps): update module github.com/stackexchange/dnscontrol/v3 to v3.27.2 #137

Closed
renovate-bot wants to merge 1 commits from renovate/github.com-stackexchange-dnscontrol-v3-3.x into master
Collaborator

This PR contains the following updates:

Package Type Update Change
github.com/StackExchange/dnscontrol/v3 require minor v3.0.0 -> v3.27.2

Release Notes

StackExchange/dnscontrol

v3.27.2

Compare Source

Another bugfix release!

The bugs fixed include:

  • diff2 providers that use the REPORT feature always crashes on push (#​2130)
  • DIGITALOCEAN's TXT record handling broke (#​2128)
  • Internationalized (Unicode) zone names don't with with ListZones (#​2096) (#​2110)
  • Plus many doc improvements
  • (Ok, one feature slipped in: simple CNAME and R53_ALIAS loops are detected)

Changelog

Major features:
Provider-specific changes:
Other changes and improvements:

v3.27.1

Compare Source

Soon after the release of v3.27.0 some minor bugs were noticed. This fixes those bugs:

  • GANDI_V5's diff2 emits an empty log message when creating record
  • Colorization doesn't work on diff2 (wasn't implemented)
  • CLOUDFLAREAPI emits a record-ID for deletes, but not changes
  • GCLOUD emits an extra newline in logs (diff1 and diff2)
  • Integration test TestDualProviders displays logs with wrong newline

Meanwhile more cleanups were done:

  • Removed a lot of old DEBUG statements that were commented out
  • analyze.go contains multiple functions doing the same thing (remove the duplicates)
  • clarify comments
  • Use the more concise pattern of diff.NewCompat() (CSCGLOBAL, DIGITALOCEAN, NAMEDOTCOM)
  • Many minor code fixes and cleanups

At this point the diff2 engine is ready for production testing. Please run dnscontrol --diff2 preview (and push) to verify that it operates as expected. Please report any bugs or even minor annoyances.

My hope is that diff2 will become the default in v3.29 or v3.30. When diff2 becomes the default, a --diff1 flag will be added to activate the old code. I'm not sure when the old code will be removed but I'm targeting May or June.

Changelog

Major features:
Other changes and improvements:

v3.27.0

Compare Source

DIFF2 NEWS: The diff2 engine is almost ready for production! The last two features have been implemented (TTL updates and NO_PURGE/IGNORE).
Please run dnscontrol --diff2 preview (and push) to verify that it operates the as expected.

The only remaining work to be done is (1) convert AUTODNS, (2) clean up some debug code, (3) add colorization.

My hope is that diff2 will become the default in v3.29 or v3.30. I'm not sure when the old code will be removed, but I hope to remove it by May or June.

New features in this release:

  • Colorized output (pkg/diff only; coming soon to pkg/diff2)
  • Improved format and warnings about mismatched TTLs
  • AUTODNSSEC users will get a warning if a zone's registrar and DNS provider don't match
  • NO_PURGE reports which records are not being purged (diff2 only)
  • IGNORE_* reports which records are being ignored (diff2 only)
  • SOA users can now define their mailbox in user@example.com format and DNSControl converts it to BIND format
  • Integration tests now permit -end 0 to stop after the first test
  • Welcome willpower232 as the new maintainer of NAMECHEAP!
  • ...and much, much, more!

Changelog

Major features:
diff2 update

Major enhancements:

Andthe following providers have been converted to use diff2:

Provider-specific changes:
Other changes and improvements:

v3.26.0

Compare Source

This release fixes bugs in TRANSIP, MSDNS, CLOUDFLAREAPI, HOSTINGDE and adds new features to HOSTINGDE and NS1. We're also making good progress with adopting the diff2 algorithm, only 5 providers remain unconverted. The diff2 algorithm is still hidden behind the --diff2 flag. Everyone is encouraged to test with the --diff2 flag, as it is a major change. It will become the default soon after the remaining providers support it.

diff2 news:

  • Providers adding support: CLOUDFLAREAPI, DESEC, HEXONET, MSDNS, AWS ROUTE53, and VULTR.
  • Providers still without support: AUTODNS, AZURE_DNS, DNSMADEASY, PACKETFRAME, and RWTH
  • diff2 improves the NO_PURGE feature by outputting what records would have been purged. (This feature is only supported on providers not using the backwards compatibility mode)
  • Bug fixed: BUGFIX: CREATE may produce empty log messages (ByRecordSet) (#​2013)

NOTE: We need help! Please try running with the --diff2 flag and report any errors. You should find it works the same as without the flag. If there are any differences, please let us know.

dnscontrol --diff2 preview
dnscontrol --diff2 push

Thanks to all contributors! The code base has had a lot of activity lately. It is very exciting! If you would like to contribute, please see the "call for volunteers" at the end of this message, or just start submitting PRs!

Changelog

Major features:
Provider-specific changes:
Other changes and improvements:

Deprecation warnings (updated 2023-01-18)

  • Call for new volunteer maintainers for NAMECHEAP, 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 issues/1400
  • get-zones syntax changes in v3.16 Starting in v3.16, the command line arguments for dnscontrol get-zones changes. For backwards compatibility change provider to -. See documentation for details.

v3.25.0

Compare Source

This release moves all documentation to a new format and continues to add support for the "diff2 algorithm" (still hidden behind a flag). Plus, many small bugs and documentation updates have been completed. Thanks to all contributors!

Documentation: This release moves all documentation to Gitbook under the URL https://docs.dnscontrol.org. The new format looks better and it is easier to find the information you need. The homepage remains on dnscontrol.org. This is all thanks to a huge effort by Jeffrey Cafferata who proposed the project, created the new format and migrated all the old information! Thank you, Jeffrey, for this major contribution to the project! We couldn't have done it without you! Next steps: If you find bugs, broken links, etc. please file a bug report or a PR.

Moving to diff2: This release continues to add support for the diff2 algorithm (still hidden behind the --diff2 flag).

PLEASE try your usual dnscontrol preview and push commands with the --diff2 flag and report any bugs. This code will become the default in a few months.

Changelog

Current status is tracked in https://github.com/StackExchange/dnscontrol/issues/1854

Provider-specific changes:
Other changes and improvements:

Deprecation warnings (updated 2023-01-18)

  • Call for new volunteer maintainers for NAMECHEAP, 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. If a new maintainer is not found soon, the provider may be disabled.
  • 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 issues/1400
  • get-zones syntax changes in v3.16 Starting in v3.16, the command line arguments for dnscontrol get-zones changes. For backwards compatibility change provider to -. See documentation for details.

v3.24.0

Compare Source

You may want to skip this release. More details below.

This is an exciting release. We're adding two major experimental features and fixing a number of small bugs:

  • TypeScript typings: Your IDE now knows the dnsconfig.js file format and can offer autocomplete suggestions! See https://docs.dnscontrol.org/getting-started/typescript

  • diff2: We've added a new differencing engine. This is the code that computes what DNS records have changed when doing preview and push. The new code is cleaner and easier to maintain, which will make it easier to add new features in the future. In particular, it greatly increases my confidence in features such as IGNORE() which are currently marked as "use with caution". diff2 is disabled by default; add the --diff2 flag to enable it. Once the code is stable, we plan on making diff2 the default and removing the old diff code from the project.

NOTE: We need help! Please try running with the --diff2 flag and report any errors. You should find it works the same as without the flag. If there are any differences, please let us know.

dnscontrol --diff2 preview
dnscontrol --diff2 push

Diff2 is implemented by these providers: AXFRDDNS, CSCGLOBAL, DIGITALOCEAN, DNSIMPLE, DOMAINNAMESHOP, GCORE, HEDNS, HETZNER, INWX, MSDNS, NS1, ORACLE, OVH, PORKBUN, SOFTLAYER.

Diff2 is NOT implemented (as of this writing) by these providers: AKAMAIEDGEDNS, AUTODNS, CLOUDFLARE, CLOUDNS, DESEC, DNSMADEEASY, GCLOUD, HEXONET, HOSTINGDE, LINODE, NAMECHEAP, NETCUP, NETLIFY, PACKETFRAME, POWERDNS, ROUTE53, RWTH, TRANSIP, VULTR.

NOTE: Support for diff2 in AZURE_DNS is currently broken. https://github.com/StackExchange/dnscontrol/issues/1907

For the current status of diff2 please refer to https://github.com/StackExchange/dnscontrol/issues/1854

Why skip this release?

A few reasons:

  1. The build is broken and didn't generate all the binary artifacts we usually release. This should be fixed in 3.24.1 (or maybe .2 or .3!).
  2. The features added are experimental. You might want to use this version in your test environment but not your production environment.
  3. The non-experimental changes might not affect you.

Changelog

Major features:
Provider-specific changes in this release:
Other changes and improvements in this release:

v3.23.0

Compare Source

What an exciting release! Three new providers (Gcore, Netlify, and PORKBUN) and tons of bugfixes! The feature matrix displays better on the website. Thanks to all the contributors!

Changelog

Major features:
Provider-specific changes:
Other changes and improvements:

v3.22.1

Compare Source

This point release fixes an incompatibility with Go 1.19.

Changelog

Other changes and improvements:
  • n/a

Deprecation warnings (updated 2022-06-04)

  • 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 issues/1400
  • Provider OCTODNS is frozen and will be removed after Nov 1, 2022. It was written as a joke and nobody laughed. It's time to remove the code and move on.
  • get-zones syntax changes in v3.16 Starting in v3.16, the command line arguments for dnscontrol get-zones changes. For backwards compatibility change provider to -. See documentation for details.

v3.22.0

Compare Source

This release adds new functionality to the IGNORE_NAME() function, supports DNSimple's API change, and improves documentation.

IGNORE_NAME() is now more flexible about what it can ignore. You can now restrict its ignorance (ignorefullness?) to specific DNS resource types. For example, instead of ignoring all DNS records at foo.example.com, you can ignore just the A records, or just the A and TXT records. Thanks to @​bits01 for this contribution!

Changelog

Major features:
Provider-specific changes:
Other changes and improvements:

v3.21.0

Compare Source

This release contains no major features or new providers. However it cleans up a number of bugs, standardizes a ton of documentation issues, and has been updated to use newer dependencies and APIs. There are small improvements to the check and get-zones subcommands. The integration tests have been optimized: they now run significantly faster for most providers.

Highlights
  • In an effort to better support CI/CD pipelines, dnscontrol check now reports problems to stdout, not stderr. These same problems are still reported to stderr by dnscontrol preview and dnscontrol push.
  • dnscontrol get-zones deals with CNAMEs at the apex better by including a comment warning that manual editing may be required.
  • Shout out to @​cafferata for combing through the documentation to find and fix many errors and inconsistencies. The documentation now includes a table of contents for the DSL language features and works much better on mobile platforms.
  • The documentation now includes examples of doing DNS updates via a CI/CD pipeline a.k.a. the GitOps pattern.
  • The JavaScript interpreter (otto) has been upgraded from the 2021-10-24 release to the 2022-10-25 release. This has many stability improvements and no compatibility issues (we hope!)
  • DESEC's authentication is improved. DIGITALOCEAN's CAA implementation supports semicolons. DNSIMPLE, EXOSCALE, and VULTR now support their newer APIs.
Breaking changes
  • The above-mentioned change to dnscontrol check may break some pipelines. Please verify after upgrading. More likely these pipelines are redirecting stderr to stdout which is no longer needed.

Changelog

Major features:
Provider-specific changes:
Other changes and improvements:

v3.20.0

Compare Source

Changelog

This release changes the output format to be more brief and fixes a number of small bugs.

New format: The format of preview and push is now more brief and works better for CI/CD systems. The old output is available by specifying the --verbose flag. You probably only want to use the old format when debugging authentication issues or during initial setup when it is useful to help understand how DNSControl works.

Breaking changes:
  • n/a
Major features:
Provider-specific changes:
Other changes and improvements:

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 issues/1400
  • Provider OCTODNS is frozen and will be removed after Nov 1, 2022. It was written as a joke and nobody laughed. It's time to remove the code and move on.
  • get-zones syntax changes in v3.16 Starting in v3.16, the command line arguments for dnscontrol get-zones changes. For backwards compatibility change provider to -. See documentation for details.

v3.19.0

Compare Source

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:
Other changes and improvements:

v3.18.2

Compare Source

v3.18.1

Compare Source

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 https://github.com/StackExchange/dnscontrol/issues/1400
  • convertzone is frozen and will be removed after June 30, 2022. The convertzone stand-alone program is replaced by the get-zone subcommand of DNSControl. It does everything convertzone 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 change provider to -. See documentation for details.

v3.18.0

Compare Source

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 https://github.com/StackExchange/dnscontrol/issues/1400
  • convertzone is frozen and will be removed after June 30, 2022. The convertzone stand-alone program is replaced by the get-zone subcommand of DNSControl. It does everything convertzone 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 change provider to -. See documentation for details.

v3.17.0

Compare Source

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 like dnscontrol 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:

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 https://github.com/StackExchange/dnscontrol/issues/1400
  • convertzone is frozen and will be removed after June 30, 2022. The convertzone stand-alone program is replaced by the get-zone subcommand of DNSControl. It does everything convertzone 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 change provider to -. See documentation for details.

v3.16.2

Compare Source

This release fixes another bug (https://github.com/StackExchange/dnscontrol/issues/1507#issuecomment-1140176866) in the dnscontrol check subcommand related to the https://github.com/StackExchange/dnscontrol/issues/1457 proposal. Thanks to @​riku22 for reporting the bug!

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 https://github.com/StackExchange/dnscontrol/issues/1400
  • convertzone is frozen and will be removed after June 30, 2022. The convertzone stand-alone program is replaced by the get-zone subcommand of DNSControl. It does everything convertzone 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 change provider to -. See documentation for details.

v3.16.1

Compare Source

This release fixes one minor bug in the dnscontrol check subcommand related to the https://github.com/StackExchange/dnscontrol/issues/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 https://github.com/StackExchange/dnscontrol/issues/1400
  • convertzone is frozen and will be removed after June 30, 2022. The convertzone stand-alone program is replaced by the get-zone subcommand of DNSControl. It does everything convertzone 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 change provider to -. See documentation for details.

v3.16.0

Compare Source

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 https://github.com/StackExchange/dnscontrol/issues/1400
  • convertzone is frozen and will be removed after June 30, 2022. The convertzone stand-alone program is replaced by the get-zone subcommand of DNSControl. It does everything convertzone 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 change provider to -. See documentation for details.

v3.15.0

Compare Source

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:

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 https://github.com/StackExchange/dnscontrol/issues/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.

v3.14.0

Compare Source

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 https://github.com/StackExchange/dnscontrol/issues/1400

v3.13.1

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/StackExchange/dnscontrol/commits/v3.13.1

v3.13.0

Compare Source

This release includes many small bugfixes, Cloudflare Worker Routes are now managed, plus one new registrar: EASYNAME.

Breaking changes:

  • n/a

Major features:

  • NEW PROVIDER: EASYNAME (#​1277)
  • Add support for Cloudflare "workers routes" (#​1243)
  • Fix bug that can occur when updating DNS resource records (GANDI_V5 and DESEC) (#​1296)

Provider-specific changes:

  • CLOUDFLAREAPI: Fix bug with long TXT records (SplitSingleLongTxt is not needed) (#​1265)
  • CLOUDFLAREAPI: Stop requiring accountname (#​1280)
  • CLOUDFLAREAPI: Use cloudflare-go (#​1267)
  • CLOUDFLAREAPI: Adds CF_WORKER_ROUTE (#​1243)
  • CLOUDNS: Permit TXT records that are any length, but not multiple strings.
  • GANDI_V5 , DESEC: correctly handle multiple RR in a RRset (#​1296)
  • HEXONET: Support long TXT records and fix whitespace bug (#​1283)
  • ORACLE: Fix training dot on nameserver updates
  • OVH: Improve TXT with long strings.

Other changes and improvements:

v3.12.0

Compare Source

This release includes many features and improvements including new macros for delegating domains elsewhere, more conformant DMARC_BUILDER, the ability to INCLUDE a domain's records in another domain, and SPF-Flatten on non-apex domains. Route53 users can now specify a R53_ZONE on a domain or record, VULTR users now have better TXT quoting support. And as always, dependencies have been updated.

Breaking changes:

  • none

Major features:

  • NEW MACROS: DOMAIN_ELSEWHERE and DOMAIN_ELSEWHERE_AUTO (#​1237)
  • DMARC_BUILDER: specify version, use values when specified (#​1236)
  • NEW FEATURE: Add INCLUDE statement to include records from other domains (#​1219)
  • SPF Flatten now works on non apex domains (#​1220)

Provider-specific changes:

Other changes and improvements:

  • Document how to ignore the NS records of a domain (#​1234)
  • Update dependencie
  • Improve release eng doc (#​1216)

v3.11.0

Compare Source

This release includes a new provider (TRANSIP), improvements to the deSEC provider for users with more than 500 domains, and the get-zones command now works for NAMECHEAP. We've also started using CodeQL for code analysis of JS files and fixed some bugs.

Breaking changes:

  • none

Major features:

Provider-specific changes:

  • DESEC Permit large numbers of domains (implement pagination) (#​1208)
  • DESEC: Implements support for long / multistring txt records (#​1204)
  • NAMECHEAP: Add get zone functionality (#​1207)

Other changes and improvements:

  • Re-enable CodeQL for Javascript (#​1209)
  • Bump github.com/aws/aws-sdk-go from 1.38.70 to 1.39.1 (#​1203)
  • MAINTENANCE: Less frequently Dependabot runs (#​1202)
  • MAINTENANCE: Return error instead of panic when converting RR to RC (#​1199)

v3.10.1

Compare Source

This release simply fixes the version string (3.10.0 was reporting 3.9.0... ooops!) and updates some dependencies. We also update the release engineering docs to catch this typo from happening again.

  • Version string is incorrect.
  • Update release engineering doc to verify version string.
  • Disable codeql for javascript (#​1189)
  • EXOSCALE: update client lib to v0.59.0 (#​1183)

v3.10.0

Compare Source

This release includes 1 new provider (Akamai Edge DNS), many bug fixes, and reliability improvements including MSDNS stability fixes. Thanks to all the volunteers that submitted code!

Breaking changes:

  • A minor change to SOA records should not cause any breakage but if you use the SOA() function please be on the look-out for problems.

Major features:

  • NEW PROVIDER: AkamaiEdgeDNS (#​1174)

Provider-specific changes:

  • AXFRDDNS: Fix advertisement of Get-Zones capability (#​1161)
  • CLOUDNS: Provider does not support changing the NAPTR in the API. (#​1159)
  • CLOUDNS: Update setup docs (#​1158)
  • DESEC: Clarify supported capabilities (#​1160)
  • DNSMADEEASY: Correct hard coded system nameserver TTL (#​1167)
  • DNSMADEEASY: Show actual URL to use instead of just "sandbox" (#​1166)
  • MSDNS: Add NAPTR support (#​1165)
  • MSDNS: Improve reliability of zone dump
  • NS1: Implement EnsureDomainExists (#​1157)

Other changes and improvements:

  • MAINT: Fix issues reported by CodeQL (#​1173)
  • MAINT: Add RPM/DEB license, url, and description (#​1170)
  • MAINT: Adopt go 1.16's embed feature (#​1162)
  • MAINT: upgrade dependencies
  • DOCS: SOA docs should cite BIND doc

v3.9.0

Compare Source

This release includes many small improvements and a long-awaited change to SOA handling. SOA records can now be inserted using the SOA() function (mostly affects BIND, as most providers auto-generate SOA records). CAA now works for NS1; ALIAS records now work for NS1 and NAMECHEAP. AXFRDDNS now lets you select connection protocol. POWERDNS more correctly handles complex updates. MSDNS now supports PSSession and alternative credentials.

Thanks to all the people that submitted PRs! This is truly a community-driven release!

Breaking changes:

  • SOA record handling: All changes are upward compatible but if you use BIND and manipulate SOA records some extra testing is recommended.

Major features:

  • Direct SOA record management (#​1115)

Provider-specific changes:

  • NS1: Enable support for CAA (#​1150)
  • NS1: fix ALIAS handling (#​1154)
  • POWERDNS: fix order problems of delete corrections & some cleanup (#​1153)
  • NAMECHEAP: Enable ALIAS support (#​1149)
  • AXFRDDNS: adds update/transfer connection modes support (#​1143)
  • MSDNS Fix pssession; Allow alternative credentials (#​1140)

Other changes and improvements:

  • DOCS: Fix typo: will will -> will (#​1152)
  • DEV: Add integration test for SOA (#​1147)
  • DEV: Speed up integration tests (#​1138)
  • DEV: Update deps (#​1141)

v3.8.1

Compare Source

This release includes many bug fixes and one new feature. The new feature is that instead of reading creds.json, that information can be determined by running a program instead. Simply make the file executable (chmod +x credinfo.sh) or precede it with a "!", such as --creds '!/path/to/credinfo.sh'

Breaking changes:

  • On non-Windows systems, the creds.json file should not have the executable bit set.

Major features:

  • IGNORE_NAME: Should work at domain apex (bugfix) (#​1118)
  • creds.json info can come from an executable (#​1119)

Provider-specific changes:

  • BIND: Improve SOA documentation (#​1132)
  • GANDI_V5: Add "get-zones" support (#​1117)
  • GANDI_V5: supports DS records already (#​1112)
  • HEXONET: introducing semver to HEXONET provider (#​1120)
  • OVH: Add "get-zones" support (#​1117)
  • ROUTE53: Docs should specify FQDN with dot. (#​1130)

Other changes and improvements:

  • TESTING: Improve DS comments (#​1134)
  • Maint: DS record tests should use more realistic data (#​1127)
  • DOCS: Document how to preview website (#​1133)
  • Fix doc error (#​1113)

v3.8.0

Compare Source

This release is packed with new features and improvements!

  • Two new providers! (DNS Made Easy and hosting.de)
  • A new experimental formatter for "dnsconfig.js" (dnscontrol fmt)
  • An easier way to build DMARC records (DMARC_BUILDER())
  • Sadly, the SOFTLAYER is now unmaintained. We need a volunteer. See #​1080

Some internals improvements will help future provider-authors:

  • TXT records has been completely rewritten to enable providers to indicate all their edge cases, such as not permitting long strings, or not permitting double-quotes in strings. This should make long and/or strange TXT records easier to handle in the future. The code is cleaner and more simple. Plus, it is general and supports all DNS records, not just TXT.
  • The "target" field is no longer exported. This completes a change that started many months ago to require Getters and Setters for the RecordConfig.Target field. This makes providers less brittle and prepares us for using Go's future Generics. Thanks to all the provider authors who helped test this new feature.

BREAKING CHANGES:

Thanks to the multitudes for contributing to this release!


Major features:

  • Re-engineer TXT records for simplicity and better compliance (#​1063)
  • New Feature: JS formatter and prettifier (#​917) FYI: This is an experimental feature. It depends on an external module that may not be supported in the long term.
  • NEW PROVIDER: DNS Made Easy (#​1093)
  • NEW PROVIDER: hosting.de (#​1041)
  • NEW MACRO: DMARC_BUILDER (#​1047)
  • SOFTLAYER: Mark provider as unmaintained (#​1080)

Provider-specific changes:

  • HEXONET: AuditRecord should permit TXT with long strings (#​1107)
  • CLOUDNS: Improve automated testing (#​1103)
  • CLOUDNS: Fetch permitted TTL values from API #​1078 (#​1102)
  • CLOUDNS. Enable SRV and PTR records (#​1101)
  • CLOUDNS: ClouDNS does NOT allow multiple TXT records with same name (#​1098)
  • CLOUDNS: Note that TXT records do not permit double-quotes. Fix typo (#​1094)
  • POWERDNS: allow alias-records to be parsed (#​1096)
  • HEDNS: Fix issue with domain listing on completely empty accounts
  • ROUTE53: Disable failing tests
  • CLOUDFLAREAPI: Extend timeout for CLOUDFLAREAPI
  • HEDNS: Enable automatic integration testing (#​1068)
  • HEDNS: Fix CNAME, NS and PTR record handling of trailing . (#​1064)
  • POWERDNS: Some minor fixes for ALIAS and TXTMulti and integration testing (#​1065)

Other changes and improvements:

  • "Target" RecordConfig should not be exported (#​1061)
  • IGNORE_*: Warn about fragility (#​1108)
  • DKIM is a no-op now (#​1084)
  • Update dependencies (#​1110) (#​1100)
  • Developer: Github Actions should use cache steps (#​1097)
  • Linting (#​1087)
  • DOCS: Clarify that create-domains does not purchase them (#​1086)
  • Make GCLOUD and GANDI_V5 module names consistent (#​1060) (#​1059)
  • BUG: D_EXTEND should not apply DEFAULTS{} (#​1055)

v3.7.0

Compare Source

This release introduces a major new feature: support for split horizons! The beta users give it two thumbs up, but as with any new feature please adopt it with care. Also in this release are new features for NS1, ClouDNS, and some code cleanups and bug fixes.

Split horizon DNS support introduces a new name scheme for domains: "domain!horizon", where "horizon" differentiates between multiple
instances of the same domain. Define D("example.com!inside") and D("example.com!outside"), for example. The two "example.com" domains are unrelated and must be populated individually.

Breaking changes:

  • none

Major features:

  • NEW FEATURE: Support Split Horizon DNS (#​1034)

Provider-specific changes:

  • NS1: Support NS1_URLFWD (#​1046)
  • CLOUDNS: Implement AUTOSPLIT (#​1035)
  • BIND: Specify zone filenames using a printf-like specification (#​1034)

Other changes and improvements:

  • BUG: Labels that are FQDN can cause panics (#​1040)

v3.6.0

Compare Source

This release includes 2 new providers, a new FETCH() command, and much more!

MSDNS is a new provivder for the Microsoft Windows Server DNS Server. It issues PowerShell commands to do its updates. It will eventually replace ACTIVEDIRECTORY_PS, which was becoming difficult to maintain. MSDNS is very new so test with care. Please report bugs ASAP.

ORACLE is our newest provider. Welcome to the DNSControl family!

FETCH() is a new feature that can "curl" a JSON file. Use the --allow-fetch command line flag to enable this potentially risky feature.

Thanks to all the volunteers for their contributions, especially Atma for helping improve the releng automation!

Breaking changes:

  • None

Major features:

  • NEW PROVIDER: MSDNS (#​1005)
  • NEW PROVIDER: Oracle Cloud (#​1021)
  • New feature: FETCH() permits http gets in dnsconfig.js (#​1007)

Provider-specific changes:

  • CLOUDFLAREAPI: Now works with PunyCode/IDNA (#​1019)
  • CLOUDFLAREAPI: Support Punycode for CF_REDIRECT/CF_TEMP_REDIRECT (with tests) (#​1026)
  • CLOUDNS: Add DS record support (#​1018)
  • GCCLOUD: Add TLSA Support (#​1015)
  • HEXONET: Update github.com/hexonet/go-sdk (#​1029)
  • OCTODNS: Add SPF support for RecordConfig (#​1020)
  • OVH: Enable TXTMulti (#​1003) (#​1008)

Other changes and improvements:

  • RELENG: Automate releng more (#​1006)
  • RELENG: Build RPM and DEB packages (#​1030)

v3.5.0

Compare Source

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)

v3.4.2

Compare Source

(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.

v3.3.0

Compare Source

This release brings three new providers (DNS-over-HTTPS, Hurricane Electric DNS, INWX), the ability to send notifications to Microsoft Teams, new functions (require_glob(), IGNORE_TARGET(), IGNORE_LABEL(), DU_EXTEND()), plenty of bugfixes and updates for providers, plus a lot of cleanups and documentation improvements!

Thanks to all the contributors!

Major features:

  • NEW PROVIDER: DOH: Read-only Registrar that validates NS records (#​840)
  • NEW PROVIDER: HEDNS: Hurricane Electric DNS (dns.he.net) (#​822)
  • NEW PROVIDER: INWX (#​808)
  • NEW NOTIFIER: Add support for Microsoft Teams (#​812)
  • Validation: New rules for validiating labels with underbars (#​830)
  • New feature: require_glob() (similar to require() but supports globs) (#​804)
  • New feature: IGNORE_TARGET. Rename INGORE to IGNORE_NAME (#​806)
  • New feature: IGNORE label renamed to IGNORE_LABEL (IGNORE still exists for compatibility) (#​806)
  • New feature: New features: D_EXTEND() getConfiguredDomains() to assist modifying domains (#​800)
  • SPF Optimizer: Enable the use of TXTMulti records to support longer SPF records (#​794)
  • SPF Optimizer: Make it possible to disable the raw SPF optimizer debug record (#​795)
  • SPF Optimizer: spf flattener can make first record extra short (#​781)
  • Long lists of adds/deletes are now sorted on some providers (for cosmetic reasons)
  • Provider support for DS records as children only (#​765)
  • get-certs.md: correct flag names (#​758)

Provider-specific features:

  • AZURE: Cleanup: Errorf is a pure function but its return value is ignored #​836 (#​843)
  • AZURE: Fixed bug related to having >100 Zones (#​816)
  • CLOUDFLARE: Set TTL to 1 for Cloudflare page rules (#​828)
  • BIND: Add TTL to BIND SoaInfo struct (#​820)
  • deSEC: Supports PTR records out of the box (#​801)
  • PowerDNS: Fix PowerDNS domain creation (#​786)
  • ROUTE53: Route53 uses a custom record type for SPF (#​787)
  • NS1: Fixed MX records on NS1 (#​783)
  • NS1: Added support for ALIAS, PTR, and TXTMuli (#​776)

Other cool stuff:

  • Docs: Add a page about macros and loops (#​832)
  • print-ir: print validation warnings/errors to stderr (#​841)
  • Cleanup: Remove debug line left from development (#​835) (#​839)
  • Update dependencies (#​838)
  • Cleanup: Fix many issues reported by staticcheck.io (#​837)
  • Docs: Improve install instructions (#​824)
  • Cleanup: Bubble errors up from diff instead of panic (#​799) (#​817)

v3.2.0

Compare Source

Lots of great new stuff! A new provider (PowerDNS), a new record type (DS), a new notification target (Slack), and "get-certs" now generates .PEM files.

SECURITY CHANGE:
get-certs now generates one additional file: a .pem file, which is just .crt + "\n" + .key ). While not breaking change, it does contain secrets and therefore should be protected. If you encrypt or otherwise protect the .key file, you should take the same care with the .pem file.

Major features:

  • NEW PROVIDER: PowerDNS
  • NEW RTYPE: DS (Thanks Robert and Nicolai!)
  • get-certs now generates .pem files (.crt + .key)
  • New notification target: Slack (Thanks Jan-Philipp!)

Provider-specific changes:

  • CLOUDFLAREAPI: Now supports DS records

Other stuff:

  • Lists of adds/changes/deletes are now sorted (#​755)
  • Fixed vendoring problem
  • _domainconnect is added to the whitelist
  • Update many dependencies.

v3.1.1

Compare Source

This release includes 3 new providers! deSEC (popular in Germany) NETCUP (popular in Russia), and AXFR+DNS (use the native DDNS protocol for updates). Plus many minor bug fixes, code cleanups, documentation improvements, and over course plenty of updated dependencies.

NOTE: Version v3.1.0 was not released due to a technical issue.

Major features:

Provider-specific changes:

  • OCTODNS: constant 4294967 overflows int (Issue #​736) (#​738)
  • GCLOUD: SSHFP support for Google Cloud DNS #​726
  • CLOUDFLAREAPI: CLOUDFLAREAPI now fails tests "IDNA:Internationalized_name" and "IDN_CNAME_AND_Target". These tests are skipped for now. Can I get a volunteer to help find and fix this issue?

Other changes:

  • Security: 'get-certs' permissions too open (#​745)
  • get-zones: should comment out NAMESERVER() (#​743)
  • get-zones: generate R53_ALIAS correctly (#​721)
  • Documentation: Document IP() is IPv4 only (#​744)
  • Cleanup: Fix GetNameserver() inconsistency on many providers (#​491)
  • Support RFC 7505 "null MX" (#​702) (#​703)
  • Update dependencies for: AWS (#​731), Azure (#​731), GCLOUD, digital * ocean (#​723), urfav/cli, DNSimple, and more

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/StackExchange/dnscontrol/v3](https://github.com/StackExchange/dnscontrol) | require | minor | `v3.0.0` -> `v3.27.2` | --- ### Release Notes <details> <summary>StackExchange/dnscontrol</summary> ### [`v3.27.2`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.27.2) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.27.1...v3.27.2) Another bugfix release! The bugs fixed include: - diff2 providers that use the REPORT feature always crashes on push ([#&#8203;2130](https://github.com/StackExchange/dnscontrol/issues/2130)) - DIGITALOCEAN's TXT record handling broke ([#&#8203;2128](https://github.com/StackExchange/dnscontrol/issues/2128)) - Internationalized (Unicode) zone names don't with with ListZones ([#&#8203;2096](https://github.com/StackExchange/dnscontrol/issues/2096)) ([#&#8203;2110](https://github.com/StackExchange/dnscontrol/issues/2110)) - Plus many doc improvements - (Ok, one feature slipped in: simple CNAME and R53\_ALIAS loops are detected) #### Changelog ##### Major features: - [`dde7e5d`](https://github.com/StackExchange/dnscontrol/commit/dde7e5daf786ca2a5133f0f8f492a3a617d2e54a): FEATURE: Detect simple CNAME loops ([#&#8203;2112](https://github.com/StackExchange/dnscontrol/issues/2112)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Provider-specific changes: - [`cfb24db`](https://github.com/StackExchange/dnscontrol/commit/cfb24dba77308255faa00ea374f0448b61a2ca68): AUTODNS: Convert to diff2 ([#&#8203;2102](https://github.com/StackExchange/dnscontrol/issues/2102)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`eb4af05`](https://github.com/StackExchange/dnscontrol/commit/eb4af05d319c1ee6127306cb5b450e8499ded259): DIGITALOCEAN: Improve TXT record handling ([#&#8203;2128](https://github.com/StackExchange/dnscontrol/issues/2128)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`4b37906`](https://github.com/StackExchange/dnscontrol/commit/4b379060498cefbba8a94523ea1d04ca02c02ecb): DOCS: TransIP: Fixed creds.json example ([#&#8203;2117](https://github.com/StackExchange/dnscontrol/issues/2117)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`b54c5ea`](https://github.com/StackExchange/dnscontrol/commit/b54c5eab104cfe99db0029ce0a56dab96b10523c): ROUTE53: Report R53\_ALIAS loops as an error ([#&#8203;2111](https://github.com/StackExchange/dnscontrol/issues/2111)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Other changes and improvements: - [`5d554f1`](https://github.com/StackExchange/dnscontrol/commit/5d554f1cef10e2ae1823a2bfd64545f330f6f3f5): BUG: Compare zones list to ace zone name ([#&#8203;2096](https://github.com/StackExchange/dnscontrol/issues/2096)) ([#&#8203;2110](https://github.com/StackExchange/dnscontrol/issues/2110)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`ad4b8da`](https://github.com/StackExchange/dnscontrol/commit/ad4b8daa137e74b421dc95e5e25560e2d050ead1): BUGFIX: REPORT change type always crashes on push ([#&#8203;2130](https://github.com/StackExchange/dnscontrol/issues/2130)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`1c938bb`](https://github.com/StackExchange/dnscontrol/commit/1c938bb9b63e34a86b5488317755316c77160964): Build(deps): Bump alpine from 3.17.1 to 3.17.2 ([#&#8203;2116](https://github.com/StackExchange/dnscontrol/issues/2116)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`91242d5`](https://github.com/StackExchange/dnscontrol/commit/91242d54dc79ef23f4d17f522a72af029be24137): Build(deps): Bump github.com/softlayer/softlayer-go from 1.1.0 to 1.1.2 ([#&#8203;2113](https://github.com/StackExchange/dnscontrol/issues/2113)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`ce714c1`](https://github.com/StackExchange/dnscontrol/commit/ce714c1baaac2d3a40584c6fd05849e57d5edd0b): Build(deps): Bump github.com/transip/gotransip/v6 from 6.19.0 to 6.19.1 ([#&#8203;2114](https://github.com/StackExchange/dnscontrol/issues/2114)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`36d6e88`](https://github.com/StackExchange/dnscontrol/commit/36d6e889ec2e97e6803d8f164ddc73def1901bd0): Build(deps): Bump github.com/urfave/cli/v2 from 2.24.4 to 2.25.0 ([#&#8203;2122](https://github.com/StackExchange/dnscontrol/issues/2122)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`e4450c7`](https://github.com/StackExchange/dnscontrol/commit/e4450c79e9e678cf8adc929ed0493b756f3bde59): Build(deps): Bump golang.org/x/oauth2 from 0.5.0 to 0.6.0 ([#&#8203;2124](https://github.com/StackExchange/dnscontrol/issues/2124)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`0958807`](https://github.com/StackExchange/dnscontrol/commit/095880747fc9f4c2485cb19e38a1e454bbc454ca): Build(deps): Bump golang.org/x/text from 0.7.0 to 0.8.0 ([#&#8203;2121](https://github.com/StackExchange/dnscontrol/issues/2121)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`9062b33`](https://github.com/StackExchange/dnscontrol/commit/9062b3354c6a9d40e8ea1105d73deb606bd5dc12): Build(deps): Bump google.golang.org/api from 0.110.0 to 0.111.0 ([#&#8203;2115](https://github.com/StackExchange/dnscontrol/issues/2115)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`93c77eb`](https://github.com/StackExchange/dnscontrol/commit/93c77ebe34608e8e37f763a40e909ea41b15fa6d): DOCS: Added Gitbook filenames to JSON code snippets. ([#&#8203;2119](https://github.com/StackExchange/dnscontrol/issues/2119)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`3d3f15d`](https://github.com/StackExchange/dnscontrol/commit/3d3f15d1d0d4f6845e2063a2f1cdca6e48d537be): DOCS: Correct flag name ([#&#8203;2118](https://github.com/StackExchange/dnscontrol/issues/2118)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`48a5048`](https://github.com/StackExchange/dnscontrol/commit/48a504839dd132ebb5edab29bf5dcf8b4865b91f): Doc: Fixed a bit of havoc which appears in go docs ([#&#8203;2105](https://github.com/StackExchange/dnscontrol/issues/2105)) ([@&#8203;systemcrash](https://github.com/systemcrash)) - [`894d1a5`](https://github.com/StackExchange/dnscontrol/commit/894d1a5316926092fd54744c8cd5a9d6b82d9263): Update examples.md ([#&#8203;2109](https://github.com/StackExchange/dnscontrol/issues/2109)) ([@&#8203;systemcrash](https://github.com/systemcrash)) - [`0d2a7bf`](https://github.com/StackExchange/dnscontrol/commit/0d2a7bf93e387eb0297defe286ac4a06b3a1d0ba): Update getting-started.md ([#&#8203;2108](https://github.com/StackExchange/dnscontrol/issues/2108)) ([@&#8203;systemcrash](https://github.com/systemcrash)) ### [`v3.27.1`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.27.1) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.27.0...v3.27.1) Soon after the release of v3.27.0 some minor bugs were noticed. This fixes those bugs: - GANDI_V5's diff2 emits an empty log message when creating record - Colorization doesn't work on diff2 (wasn't implemented) - CLOUDFLAREAPI emits a record-ID for deletes, but not changes - GCLOUD emits an extra newline in logs (diff1 and diff2) - Integration test `TestDualProviders` displays logs with wrong newline Meanwhile more cleanups were done: - Removed a lot of old DEBUG statements that were commented out - analyze.go contains multiple functions doing the same thing (remove the duplicates) - clarify comments - Use the more concise pattern of diff.NewCompat() (CSCGLOBAL, DIGITALOCEAN, NAMEDOTCOM) - Many minor code fixes and cleanups **At this point the `diff2` engine is ready for production testing.** Please run `dnscontrol --diff2 preview` (and `push`) to verify that it operates as expected. Please report any bugs or even minor annoyances. My hope is that diff2 will become the default in v3.29 or v3.30. When `diff2` becomes the default, a `--diff1` flag will be added to activate the old code. I'm not sure when the old code will be removed but I'm targeting May or June. #### Changelog ##### Major features: - [`e129e40`](https://github.com/StackExchange/dnscontrol/commit/e129e403136d465f4b4e5e94d7b457c8a23089a1): FEATURE: Colorize diff2 output ([#&#8203;2103](https://github.com/StackExchange/dnscontrol/issues/2103)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Other changes and improvements: - [`2586e2b`](https://github.com/StackExchange/dnscontrol/commit/2586e2b611c0054abbc25c15fe64a25d0ee7b51f): CORE: Clean up diff2 code in prep for production ([#&#8203;2104](https://github.com/StackExchange/dnscontrol/issues/2104)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`26fb0f1`](https://github.com/StackExchange/dnscontrol/commit/26fb0f1d6b8d2b2fc57589aecaa11c7092487b11): DOC: Fixed a bit of havoc which appears in go docs ([#&#8203;2101](https://github.com/StackExchange/dnscontrol/issues/2101)) ([@&#8203;systemcrash](https://github.com/systemcrash)) ### [`v3.27.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.27.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.26.0...v3.27.0) DIFF2 NEWS: The `diff2` engine is almost ready for production! The last two features have been implemented (TTL updates and NO_PURGE/IGNORE). Please run `dnscontrol --diff2 preview` (and `push`) to verify that it operates the as expected. The only remaining work to be done is (1) convert AUTODNS, (2) clean up some debug code, (3) add colorization. My hope is that diff2 will become the default in v3.29 or v3.30. I'm not sure when the old code will be removed, but I hope to remove it by May or June. New features in this release: - Colorized output (pkg/diff only; coming soon to pkg/diff2) - Improved format and warnings about mismatched TTLs - AUTODNSSEC users will get a warning if a zone's registrar and DNS provider don't match - `NO_PURGE` reports which records are not being purged (diff2 only) - `IGNORE_*` reports which records are being ignored (diff2 only) - SOA users can now define their mailbox in `user@example.com` format and DNSControl converts it to BIND format - Integration tests now permit `-end 0` to stop after the first test - Welcome willpower232 as the new maintainer of NAMECHEAP! - ...and much, much, more! #### Changelog ##### Major features: - [`fa67fcb`](https://github.com/StackExchange/dnscontrol/commit/fa67fcbc8ba5e63c6527f041bb05ff847b99baa0): NEW FEATURE: Colorize preview/push output ([#&#8203;2076](https://github.com/StackExchange/dnscontrol/issues/2076)) ([@&#8203;fritterhoff](https://github.com/fritterhoff)) ##### diff2 update Major enhancements: - [`05dc26b`](https://github.com/StackExchange/dnscontrol/commit/05dc26bf2e203a6c4d0d72a3c5a88aa93a2dd702): BUG: diff2: ttl changes don't always work ([#&#8203;2093](https://github.com/StackExchange/dnscontrol/issues/2093)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`fc3a217`](https://github.com/StackExchange/dnscontrol/commit/fc3a217dc1da17ad2d8d36640393cfdeb546ae11): Bugfixed: NO_PURGE now works on all diff2 providers ([#&#8203;2084](https://github.com/StackExchange/dnscontrol/issues/2084)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) Andthe following providers have been converted to use diff2: - [`e3dc604`](https://github.com/StackExchange/dnscontrol/commit/e3dc60424732ab65e179fe1817f3789d9c89e065): AZURE_DNS: Convert to use diff2 natively ([#&#8203;2058](https://github.com/StackExchange/dnscontrol/issues/2058)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`4eab962`](https://github.com/StackExchange/dnscontrol/commit/4eab96226c6c4b95b7e0ef9bfe75e891c7286b54): CLOUDNS: Adopt diff2 in compatibility mode ([#&#8203;1874](https://github.com/StackExchange/dnscontrol/issues/1874)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`bdeeb2c`](https://github.com/StackExchange/dnscontrol/commit/bdeeb2cf1b0a8a7f48f24b2d6158e89cd2cf727e): DNSMADEEASY: Adopt diff2 in compatibility mode ([#&#8203;1879](https://github.com/StackExchange/dnscontrol/issues/1879)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`f995f21`](https://github.com/StackExchange/dnscontrol/commit/f995f21d0efe4194be272904562e1dc53e8d4003): PACKETFRAME: Adopt diff2 in compatibility mode ([#&#8203;1898](https://github.com/StackExchange/dnscontrol/issues/1898)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`3e3d655`](https://github.com/StackExchange/dnscontrol/commit/3e3d655e772a4ff8c591a85a6633a75e667b2427): RWTH: Adopt diff2 in compatibility mode ([#&#8203;1900](https://github.com/StackExchange/dnscontrol/issues/1900)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Provider-specific changes: - [`35c0386`](https://github.com/StackExchange/dnscontrol/commit/35c0386a3ded5ff20345bb975640debbe49d34a4): CSCGLOBAL: Fix comment typo ([#&#8203;2100](https://github.com/StackExchange/dnscontrol/issues/2100)) ([@&#8203;systemcrash](https://github.com/systemcrash)) - [`4868516`](https://github.com/StackExchange/dnscontrol/commit/486851633a6b6595ea82c7b40116f82c67465b1f): HOSTINGDE: Fix modify referencing incorrect record id (fixes [#&#8203;2066](https://github.com/StackExchange/dnscontrol/issues/2066)) ([#&#8203;2092](https://github.com/StackExchange/dnscontrol/issues/2092)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`2226664`](https://github.com/StackExchange/dnscontrol/commit/222666414a9e4e33b254abf02253b5d7a4611166): HOSTINGDE: Implement SOA record (fixes [#&#8203;1972](https://github.com/StackExchange/dnscontrol/issues/1972)) ([#&#8203;2023](https://github.com/StackExchange/dnscontrol/issues/2023)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`e8ae619`](https://github.com/StackExchange/dnscontrol/commit/e8ae619f8967be830cdce23228eafd9723282471): HOSTINGDE: Remove dnssec key from domain upon autodnssec disable ([#&#8203;2055](https://github.com/StackExchange/dnscontrol/issues/2055)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`bbaee2c`](https://github.com/StackExchange/dnscontrol/commit/bbaee2cbcd2e8e6f00db93c8ebe2aabd8788f6ad): NAMECHEAP: New maintainer: willpower232 ([#&#8203;2080](https://github.com/StackExchange/dnscontrol/issues/2080)) ([@&#8203;willpower232](https://github.com/willpower232)) - [`a068aaa`](https://github.com/StackExchange/dnscontrol/commit/a068aaa1ab7e3e329dfdd92bbba5950ae65efcbb): TRANSIP: Performed the integration tests by an TransIP private key. ([#&#8203;2087](https://github.com/StackExchange/dnscontrol/issues/2087)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`8b28dd4`](https://github.com/StackExchange/dnscontrol/commit/8b28dd49b5055fea3a132736cbe088793538f797): TRANSIP: Update go module to v6.18.0 ([#&#8203;2086](https://github.com/StackExchange/dnscontrol/issues/2086)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`a381806`](https://github.com/StackExchange/dnscontrol/commit/a38180661556bd8d161da15b0703d9311ecf5f77): TRANSIP: Update go module to v6.19.0 ([#&#8203;2094](https://github.com/StackExchange/dnscontrol/issues/2094)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`c24a88d`](https://github.com/StackExchange/dnscontrol/commit/c24a88d08e1dc33b3ebae0a7e2cecf47b8d5cfd1): NAMECHEAP: fix rate limit detection ([#&#8203;2081](https://github.com/StackExchange/dnscontrol/issues/2081)) ([@&#8203;willpower232](https://github.com/willpower232)) - [`a979c57`](https://github.com/StackExchange/dnscontrol/commit/a979c57ae8d4adc4a3de4eb95edc168f69ea0e3c): NAMECHEAP: test namecheap provider against their sandbox ([#&#8203;2082](https://github.com/StackExchange/dnscontrol/issues/2082)) ([@&#8203;willpower232](https://github.com/willpower232)) ##### Other changes and improvements: - [`9eacd42`](https://github.com/StackExchange/dnscontrol/commit/9eacd42b63886eea15a0f1f0346aa0ec0b37806c): BUG: Integration test flag -end 0 doesnt stop at 0 ([#&#8203;2059](https://github.com/StackExchange/dnscontrol/issues/2059)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`43c5b17`](https://github.com/StackExchange/dnscontrol/commit/43c5b17ed81a2a065168b85e37645f961114bbaa): CHORE: Add unit test for TTL changes on SRV records ([#&#8203;2067](https://github.com/StackExchange/dnscontrol/issues/2067)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`ab872cc`](https://github.com/StackExchange/dnscontrol/commit/ab872cc13fa8c0c42694a6e6beee4f5f8c60f00d): CHORE: Go fmt ([#&#8203;2095](https://github.com/StackExchange/dnscontrol/issues/2095)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`b635dc5`](https://github.com/StackExchange/dnscontrol/commit/b635dc5f4ab7a8871a550aaebc59479f81eef603): CHORE: Update deps ([#&#8203;2085](https://github.com/StackExchange/dnscontrol/issues/2085)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`169d7c8`](https://github.com/StackExchange/dnscontrol/commit/169d7c80625b5c8b4287c5dfe95cab61eb110844): CHORE: linting ([#&#8203;2098](https://github.com/StackExchange/dnscontrol/issues/2098)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`d1dcba4`](https://github.com/StackExchange/dnscontrol/commit/d1dcba45ed602c2b04e1e9bfd6bdee41621533c9): CHORE: update deps ([#&#8203;2071](https://github.com/StackExchange/dnscontrol/issues/2071)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`7f9b165`](https://github.com/StackExchange/dnscontrol/commit/7f9b1657269b01a561873f8213c87434fc7c1dde): CHORE: update deps ([#&#8203;2099](https://github.com/StackExchange/dnscontrol/issues/2099)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`7b1b964`](https://github.com/StackExchange/dnscontrol/commit/7b1b964b760abf93c62ec158633e2141928eef6d): DOCS: Documentation inline replacements ([#&#8203;2083](https://github.com/StackExchange/dnscontrol/issues/2083)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`c012164`](https://github.com/StackExchange/dnscontrol/commit/c012164cd46da0b7034e51972da6cc51575a35d5): DOCS: Update example.md, add to comment SPF-record ([#&#8203;2073](https://github.com/StackExchange/dnscontrol/issues/2073)) ([@&#8203;dkim1970](https://github.com/dkim1970)) - [`dc02d5b`](https://github.com/StackExchange/dnscontrol/commit/dc02d5b74f0c09b10634b52b1cb5436f2632c381): Expect SOA mailbox in hostmaster@example.org format instead of hostmaster.example.org ([#&#8203;2037](https://github.com/StackExchange/dnscontrol/issues/2037)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`07a04c3`](https://github.com/StackExchange/dnscontrol/commit/07a04c36ceeffbea4abde81cd8d4a16f96097449): FIX: Release binaries don't contain semver string ([#&#8203;2078](https://github.com/StackExchange/dnscontrol/issues/2078)) ([@&#8203;cdhunt](https://github.com/cdhunt)) - [`d1afe8a`](https://github.com/StackExchange/dnscontrol/commit/d1afe8a12e2fd07cc342c1f22ba12b274ebaff7b): Fix outdated example in README ([#&#8203;2060](https://github.com/StackExchange/dnscontrol/issues/2060)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`1fda0de`](https://github.com/StackExchange/dnscontrol/commit/1fda0de4d98d6ae49729e73ad9bdbf4b57626eab): Fix parameter type for DEFAULTS ([#&#8203;2072](https://github.com/StackExchange/dnscontrol/issues/2072)) ([@&#8203;j-f1](https://github.com/j-f1)) - [`b1b24df`](https://github.com/StackExchange/dnscontrol/commit/b1b24df6cbb75960346445aa20ee7bb754db5913): Remove value check for removed AUTODNSSEC() function (we now only have AUTODNSSEC_ON and AUTODNSSEC_OFF) ([#&#8203;2091](https://github.com/StackExchange/dnscontrol/issues/2091)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`5e06c24`](https://github.com/StackExchange/dnscontrol/commit/5e06c249d62657bbdb856daf0a10b5f80a4c743e): Rename DomainCreator to the more accurate ZoneCreator ([#&#8203;2038](https://github.com/StackExchange/dnscontrol/issues/2038)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`325c886`](https://github.com/StackExchange/dnscontrol/commit/325c8868ab239bdc50586a7f317dfd4f2f850d0b): TESTING: Add test for TTL change ([#&#8203;2062](https://github.com/StackExchange/dnscontrol/issues/2062)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`17a43cb`](https://github.com/StackExchange/dnscontrol/commit/17a43cb0a9774bd8766b3df10edc9516b9e2b52d): TTL warnings should be more verbose ([#&#8203;2069](https://github.com/StackExchange/dnscontrol/issues/2069)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`7236ea8`](https://github.com/StackExchange/dnscontrol/commit/7236ea818ef206ee3774c9844d2891bf71d44ca0): Verify that registrar and dns providers match if autodnssec is enabled ([#&#8203;2056](https://github.com/StackExchange/dnscontrol/issues/2056)) ([#&#8203;2090](https://github.com/StackExchange/dnscontrol/issues/2090)) ([@&#8203;Yannik](https://github.com/Yannik)) ### [`v3.26.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.26.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.25.0...v3.26.0) This release fixes bugs in TRANSIP, MSDNS, CLOUDFLAREAPI, HOSTINGDE and adds new features to HOSTINGDE and NS1. We're also making good progress with adopting the diff2 algorithm, only 5 providers remain unconverted. The diff2 algorithm is still hidden behind the `--diff2` flag. Everyone is encouraged to test with the `--diff2` flag, as it is a major change. It will become the default soon after the remaining providers support it. diff2 news: - Providers adding support: CLOUDFLAREAPI, DESEC, HEXONET, MSDNS, AWS ROUTE53, and VULTR. - Providers still without support: AUTODNS, AZURE_DNS, DNSMADEASY, PACKETFRAME, and RWTH - diff2 improves the NO_PURGE feature by outputting what records would have been purged. (This feature is only supported on providers not using the backwards compatibility mode) - Bug fixed: BUGFIX: CREATE may produce empty log messages (ByRecordSet) ([#&#8203;2013](https://github.com/StackExchange/dnscontrol/issues/2013)) NOTE: We need help! Please try running with the `--diff2` flag and report any errors. You should find it works the same as without the flag. If there are any differences, please let us know. dnscontrol --diff2 preview dnscontrol --diff2 push Thanks to all contributors! The code base has had a lot of activity lately. It is very exciting! If you would like to contribute, please see the "call for volunteers" at the end of this message, or just start submitting PRs! #### Changelog ##### Major features: - [`de20253`](https://github.com/StackExchange/dnscontrol/commit/de202531cbfc080fbbf9b645478aa310c52828bb): NEW FEATURE: NO_PURGE reports what is not purged (diff2 only) ([#&#8203;2031](https://github.com/StackExchange/dnscontrol/issues/2031)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`a136621`](https://github.com/StackExchange/dnscontrol/commit/a1366210526caaed5469d631b21afea5214d8dcc): Improve warnings related to \_ and TTLs ([#&#8203;1989](https://github.com/StackExchange/dnscontrol/issues/1989)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Provider-specific changes: - [`222f50d`](https://github.com/StackExchange/dnscontrol/commit/222f50d9865c2ffe2a93713547fa2660a397d025): BUG: TRANSIP: Wrong SRV record content ([#&#8203;1987](https://github.com/StackExchange/dnscontrol/issues/1987)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`90a4a3b`](https://github.com/StackExchange/dnscontrol/commit/90a4a3b225fcc8d3eb4440555d661dd87f37716b): BUG: MSDNS: Fix TXT record creation ([#&#8203;2051](https://github.com/StackExchange/dnscontrol/issues/2051)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`bb88b7c`](https://github.com/StackExchange/dnscontrol/commit/bb88b7c4b0f403cf5568e99d91142ad936d17d9f): CLOUDFLAREAPI: sometime ago they bump down the min ttl to 60 second ([#&#8203;1988](https://github.com/StackExchange/dnscontrol/issues/1988)) ([@&#8203;andrewvmail](https://github.com/andrewvmail)) - [`e788491`](https://github.com/StackExchange/dnscontrol/commit/e78849142475be9f55d097d91b39508543a4f2c1): CLOUDFLAREAPI: DOCS: Clarify Cloudflare's TTL magic ([#&#8203;1986](https://github.com/StackExchange/dnscontrol/issues/1986)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`bbabf66`](https://github.com/StackExchange/dnscontrol/commit/bbabf661132f8cc29769ff2d2949a1acee1101f3): HOSTINGDE: Fix dnssec error resulting from invalid comparison three values ([#&#8203;2036](https://github.com/StackExchange/dnscontrol/issues/2036)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`1b22444`](https://github.com/StackExchange/dnscontrol/commit/1b224444c01ce1d98bd03a7022bbabc46254e7d2): HOSTINGDE: Fix pushing changes when templateValues are set (fixes [#&#8203;2024](https://github.com/StackExchange/dnscontrol/issues/2024)) ([#&#8203;2035](https://github.com/StackExchange/dnscontrol/issues/2035)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`83299e1`](https://github.com/StackExchange/dnscontrol/commit/83299e178e1c134d9ab6895574c841169fb5d890): HOSTINGDE: Implement AutoDNSSEC ([#&#8203;2022](https://github.com/StackExchange/dnscontrol/issues/2022)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`1073e04`](https://github.com/StackExchange/dnscontrol/commit/1073e0457701f29013b0dbd2527acd758efb6ac8): HOSTINGDE: Implement ListZones (fixes [#&#8203;1975](https://github.com/StackExchange/dnscontrol/issues/1975)) ([#&#8203;2019](https://github.com/StackExchange/dnscontrol/issues/2019)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`7f16c9c`](https://github.com/StackExchange/dnscontrol/commit/7f16c9ca6d72793fbcf48071184b6c36bfeb43a3): HOSTINGDE: Implement subaccount filtering feature (fixes [#&#8203;1974](https://github.com/StackExchange/dnscontrol/issues/1974)) ([#&#8203;2025](https://github.com/StackExchange/dnscontrol/issues/2025)) ([@&#8203;Yannik](https://github.com/Yannik)) - [`2679630`](https://github.com/StackExchange/dnscontrol/commit/2679630de52436528b16b041000001bcfc0acf43): INWX: Updated nrdcg/goinwx to v0.8.2 to fix inwx provider ([#&#8203;2016](https://github.com/StackExchange/dnscontrol/issues/2016)) ([@&#8203;patschi](https://github.com/patschi)) - [`7ed849d`](https://github.com/StackExchange/dnscontrol/commit/7ed849d10d31bf7d0c476425aaffc4ce2fd042e1): NS1: Improve NS1\_URLFWD handling ([#&#8203;2015](https://github.com/StackExchange/dnscontrol/issues/2015)) ([@&#8203;costasd](https://github.com/costasd)) - [`fd7e642`](https://github.com/StackExchange/dnscontrol/commit/fd7e642457ee7563a7f3927a54f35a015b20a714): TRANSIP: Audit records ([#&#8203;2008](https://github.com/StackExchange/dnscontrol/issues/2008)) ([@&#8203;cafferata](https://github.com/cafferata)) ##### diff2-related work - [`0051b41`](https://github.com/StackExchange/dnscontrol/commit/0051b41720acce3ac8437dbcec87b3e966b2edbd): BUGFIX: CREATE may produce empty log messages (ByRecordSet) ([#&#8203;2013](https://github.com/StackExchange/dnscontrol/issues/2013)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`e1ce6ff`](https://github.com/StackExchange/dnscontrol/commit/e1ce6ff34f9b1504bd06b1c881e15f4711535bc6): CLOUDFLARE: Adopt diff2 ([#&#8203;2040](https://github.com/StackExchange/dnscontrol/issues/2040)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`3793b56`](https://github.com/StackExchange/dnscontrol/commit/3793b56ec8405ef25f935804da9276a41d5e6530): DESEC: Adopt diff2 in compatibility mode ([#&#8203;1876](https://github.com/StackExchange/dnscontrol/issues/1876)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`f5e6564`](https://github.com/StackExchange/dnscontrol/commit/f5e65643186d6b8d6957d4e0865208b2a32300cd): HEXONET: Adopt diff2 in compatibility mode ([#&#8203;1889](https://github.com/StackExchange/dnscontrol/issues/1889)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`f58bab2`](https://github.com/StackExchange/dnscontrol/commit/f58bab22d6105415e94bf858ad3895210ba884c4): MSDNS: Adopt diff2 ([#&#8203;2046](https://github.com/StackExchange/dnscontrol/issues/2046)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`d8d25bf`](https://github.com/StackExchange/dnscontrol/commit/d8d25bf608f372068a431a50767b8c18e894d659): ROUTE53: Rewrite to use diff2 ([#&#8203;2012](https://github.com/StackExchange/dnscontrol/issues/2012)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`fd393e3`](https://github.com/StackExchange/dnscontrol/commit/fd393e39f5b76db7c86f6dae0e059fde144ba247): VULTR: adopt diff2 in full mode ([#&#8203;2014](https://github.com/StackExchange/dnscontrol/issues/2014)) ([@&#8203;androw](https://github.com/androw)) ##### Other changes and improvements: - [`3143bd9`](https://github.com/StackExchange/dnscontrol/commit/3143bd9e2900370ded17828b455db25c9df410bb): Build(deps): Bump alpine from 3.17.0 to 3.17.1 ([#&#8203;2045](https://github.com/StackExchange/dnscontrol/issues/2045)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`b49fe91`](https://github.com/StackExchange/dnscontrol/commit/b49fe9136fbf106a43ee7a551a8756a7057c5eea): Build(deps): Bump github.com/softlayer/softlayer-go from 1.0.6 to 1.1.0 ([#&#8203;2043](https://github.com/StackExchange/dnscontrol/issues/2043)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`510d60f`](https://github.com/StackExchange/dnscontrol/commit/510d60f116af3d694bf8ce226e1fa42d7c6709ac): CHORE: Removed `docs/_site` from .gitignore ([#&#8203;2047](https://github.com/StackExchange/dnscontrol/issues/2047)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`099a499`](https://github.com/StackExchange/dnscontrol/commit/099a4998a6dc8e1525629f739a98337db95a05d7): CHORE: Update dependencies ([#&#8203;2048](https://github.com/StackExchange/dnscontrol/issues/2048)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`77f1804`](https://github.com/StackExchange/dnscontrol/commit/77f1804b4b1781608254cc60614d524189ee50a9): CHORE: update ns1-go module to latest version ([#&#8203;2049](https://github.com/StackExchange/dnscontrol/issues/2049)) ([@&#8203;costasd](https://github.com/costasd)) - [`833cddf`](https://github.com/StackExchange/dnscontrol/commit/833cddfbcd942e9b51d090f3e15704fd518d6407): DOCS: Added RRPPRoxy to the requested providers. ([#&#8203;1993](https://github.com/StackExchange/dnscontrol/issues/1993)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`db71b02`](https://github.com/StackExchange/dnscontrol/commit/db71b022d6ac02e8b2c35bc031d3f8f6b1e251a3): DOCS: Getting started fixed Docker run command ([#&#8203;1997](https://github.com/StackExchange/dnscontrol/issues/1997)) ([@&#8203;Aartsie](https://github.com/Aartsie)) - [`39f0bf6`](https://github.com/StackExchange/dnscontrol/commit/39f0bf6009e0620737e6e2547eb56a1f42908d27): DOCS: GitHub pull request template ([#&#8203;2006](https://github.com/StackExchange/dnscontrol/issues/2006)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`9e4deb3`](https://github.com/StackExchange/dnscontrol/commit/9e4deb382c20d9701238db09cbd0e613beb409d8): DOCS: GitHub username updated ([#&#8203;2011](https://github.com/StackExchange/dnscontrol/issues/2011)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`0bb5431`](https://github.com/StackExchange/dnscontrol/commit/0bb54318f0da5bec85a9a86f2b5627cacb31972b): DOCS: `NAMESERVER_TTL` wrong domain-modifiers name ([#&#8203;1994](https://github.com/StackExchange/dnscontrol/issues/1994)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`8a63ac9`](https://github.com/StackExchange/dnscontrol/commit/8a63ac9739b7e76817021f06e1b1339e9b5832c4): DOCS: Providers remove anchor ([#&#8203;1990](https://github.com/StackExchange/dnscontrol/issues/1990)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`e5b7870`](https://github.com/StackExchange/dnscontrol/commit/e5b7870bb6fb6fe53e81f2181a3a2988af14b1fd): DOCS: Pull request template: Fixed `go mod tidy` command ([#&#8203;2021](https://github.com/StackExchange/dnscontrol/issues/2021)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`430568c`](https://github.com/StackExchange/dnscontrol/commit/430568c8f89b08fa0461843590a908e1561dbf74): DOCS: Replace stackexchange.github.io ([#&#8203;2004](https://github.com/StackExchange/dnscontrol/issues/2004)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`e2577d8`](https://github.com/StackExchange/dnscontrol/commit/e2577d8b95e8e9eae923586ec4301aaf5b45c298): DOCS: Requested provider SynergyWholesale ([#&#8203;1992](https://github.com/StackExchange/dnscontrol/issues/1992)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`8d3de65`](https://github.com/StackExchange/dnscontrol/commit/8d3de65e82bfa5e4ff940fb6a4047b64b060427c): DOCS: `SPF_BUILDER` GitBook hint block ([#&#8203;1995](https://github.com/StackExchange/dnscontrol/issues/1995)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`f9be836`](https://github.com/StackExchange/dnscontrol/commit/f9be836e315766021e37ed6bfec5985ef3fef52c): DOCS: Split out debugging / integration Tests ([#&#8203;2007](https://github.com/StackExchange/dnscontrol/issues/2007)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`6cc260e`](https://github.com/StackExchange/dnscontrol/commit/6cc260ee17a8198b9f4a87cf74694a5a2b942a68): DOCS: Typo `dnscontrol` = `DNSControl` ([#&#8203;2005](https://github.com/StackExchange/dnscontrol/issues/2005)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`981987e`](https://github.com/StackExchange/dnscontrol/commit/981987e80cca4bb8ca67d6292e46803604acef20): DOCS: \[AXFR+DDNS] Fixed broken GitHub link. ([#&#8203;1991](https://github.com/StackExchange/dnscontrol/issues/1991)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`45ad35e`](https://github.com/StackExchange/dnscontrol/commit/45ad35e68ac37449349b6e549ee8fb7af474c7de): DOCS: \[GitBook] Code block caption ([#&#8203;1999](https://github.com/StackExchange/dnscontrol/issues/1999)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`947efef`](https://github.com/StackExchange/dnscontrol/commit/947efef6125158c6c3dfcf4686ff0ce97bda6ba9): DOCS: \[GitBook] Code block syntax ([#&#8203;2000](https://github.com/StackExchange/dnscontrol/issues/2000)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`2c8fdf5`](https://github.com/StackExchange/dnscontrol/commit/2c8fdf5bce04791de1910d1537e232786d7e7bff): DOCS: \[README] Fixed Changelog v3.16.0 URL ([#&#8203;2003](https://github.com/StackExchange/dnscontrol/issues/2003)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`8249a4b`](https://github.com/StackExchange/dnscontrol/commit/8249a4b95b762ad6d232b68d51c4ff7955af4d04): Linting ([#&#8203;1996](https://github.com/StackExchange/dnscontrol/issues/1996)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`83252ef`](https://github.com/StackExchange/dnscontrol/commit/83252ef6417e1d85da6187d689e650c53783255a): Remove all template tag lines from the .d.ts file ([#&#8203;2030](https://github.com/StackExchange/dnscontrol/issues/2030)) ([@&#8203;j-f1](https://github.com/j-f1)) - [`8ec4e26`](https://github.com/StackExchange/dnscontrol/commit/8ec4e26703fa70799ac92ee68fa9b9c3f6df6d65): go generate ([#&#8203;2029](https://github.com/StackExchange/dnscontrol/issues/2029)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`37aa9fc`](https://github.com/StackExchange/dnscontrol/commit/37aa9fc838b70084c413bb0ecf330391d9961fed): ROUTE53: (CHORE) Rename variables for clarity ([#&#8203;2010](https://github.com/StackExchange/dnscontrol/issues/2010)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) #### Deprecation warnings (updated 2023-01-18) - **Call for new volunteer maintainers for NAMECHEAP, 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 [issues/1400](https://github.com/StackExchange/dnscontrol/issues/1400) - **get-zones syntax changes in v3.16** Starting in [v3.16](documentation/v316.md), the command line arguments for `dnscontrol get-zones` changes. For backwards compatibility change `provider` to `-`. See documentation for details. ### [`v3.25.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.25.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.24.0...v3.25.0) This release moves all documentation to a new format and continues to add support for the "diff2 algorithm" (still hidden behind a flag). Plus, many small bugs and documentation updates have been completed. Thanks to all contributors! Documentation: This release moves all documentation to Gitbook under the URL https://docs.dnscontrol.org. The new format looks better and it is easier to find the information you need. The homepage remains on [dnscontrol.org](http://dnscontrol.org/). This is all thanks to a huge effort by Jeffrey Cafferata who proposed the project, created the new format and migrated all the old information! Thank you, Jeffrey, for this major contribution to the project! We couldn't have done it without you! Next steps: If you find bugs, broken links, etc. please file a bug report or a PR. Moving to diff2: This release continues to add support for the diff2 algorithm (still hidden behind the `--diff2` flag). - The following providers have gained support: AKAMAIEDGEDNS, EXOSCALE, GCLOUD, HOSTINGDE, LINODE, NAMECHEAP, NETCUP, NETLIFY, POWERDNS, VULTR. - The following providers are still incomplete: [AUTODNS](https://github.com/StackExchange/dnscontrol/issues/1904), [AZUREDNS](https://github.com/StackExchange/dnscontrol/issues/1907), [CLOUDFLARE](https://github.com/StackExchange/dnscontrol/issues/1906), [CLOUDNS](https://github.com/StackExchange/dnscontrol/pull/1874/files?diff=split\&w=1), [DESEC](https://github.com/StackExchange/dnscontrol/pull/1876/files?diff=split\&w=1), [DNSMADEEASY](https://github.com/StackExchange/dnscontrol/pull/1879/files?diff=split\&w=1), [HEXONET](https://github.com/StackExchange/dnscontrol/pull/1889/files?diff=split\&w=1), [PACKETFRAME](https://github.com/StackExchange/dnscontrol/pull/1898/files?diff=split\&w=1), [ROUTE53](https://github.com/StackExchange/dnscontrol/issues/1908), [RWTH](https://github.com/StackExchange/dnscontrol/pull/1900/files?diff=split\&w=1), [TRANSIP](https://github.com/StackExchange/dnscontrol/pull/1860). PLEASE try your usual `dnscontrol preview` and `push` commands with the `--diff2` flag and report any bugs. This code will become the default in a few months. #### Changelog ##### diff2-related changes: Current status is tracked in https://github.com/StackExchange/dnscontrol/issues/1854 - [`22c6797`](https://github.com/StackExchange/dnscontrol/commit/22c6797f837f8701efd0829d822e07f24b1166a1): AKAMAIEDGEDNS: Adopt diff2 in compatibility mode ([#&#8203;1872](https://github.com/StackExchange/dnscontrol/issues/1872)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`43af16a`](https://github.com/StackExchange/dnscontrol/commit/43af16aad2a16147297aee633e7313f5fb684a92): EXOSCALE: Adopt diff2 in compatibility mode ([#&#8203;1881](https://github.com/StackExchange/dnscontrol/issues/1881)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`cb88bdd`](https://github.com/StackExchange/dnscontrol/commit/cb88bdd068da8ea756e048ef784f11f8c57daa78): GCLOUD: Adopt diff2 in compatibility mode ([#&#8203;1982](https://github.com/StackExchange/dnscontrol/issues/1982)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`8c8d08b`](https://github.com/StackExchange/dnscontrol/commit/8c8d08b72f665a09637392ff44cdd6331a9a1dba): HOSTINGDE: Adopt diff2 in compatibility mode ([#&#8203;1890](https://github.com/StackExchange/dnscontrol/issues/1890)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`b6ee716`](https://github.com/StackExchange/dnscontrol/commit/b6ee7161a5041c5ae9fc467ea7f77329c673851d): LINODE: Adopt diff2 in compatibility mode ([#&#8203;1892](https://github.com/StackExchange/dnscontrol/issues/1892)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`77df64d`](https://github.com/StackExchange/dnscontrol/commit/77df64d497be8b148970510c8b3005373144db9c): NAMECHEAP: Adopt diff2 in compatibility mode ([#&#8203;1894](https://github.com/StackExchange/dnscontrol/issues/1894)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`572f2ce`](https://github.com/StackExchange/dnscontrol/commit/572f2ce28cc61bb15722e7ebd05b03e58822e127): NETCUP: Adopt diff2 in compatibility mode ([#&#8203;1895](https://github.com/StackExchange/dnscontrol/issues/1895)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`b4cbd12`](https://github.com/StackExchange/dnscontrol/commit/b4cbd1299f58d955a75832e462c2531a4a76ac6b): POWERDNS: Adopt diff2 in compatibility mode ([#&#8203;1899](https://github.com/StackExchange/dnscontrol/issues/1899)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`8f09e3b`](https://github.com/StackExchange/dnscontrol/commit/8f09e3b03f4d88a010b861962be0010aea0a2c4f): VULTR: Adopt diff2 in compatibility mode and fix handling of some integrations tests ([#&#8203;1981](https://github.com/StackExchange/dnscontrol/issues/1981)) ([@&#8203;androw](https://github.com/androw)) - [`02431b5`](https://github.com/StackExchange/dnscontrol/commit/02431b5ffcf21667a080153388b0306ed35a87f6): NETLIFY: Adopt diff2 in compatibility mode ([#&#8203;1896](https://github.com/StackExchange/dnscontrol/issues/1896)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Provider-specific changes: - [`4d7a43d`](https://github.com/StackExchange/dnscontrol/commit/4d7a43d3dff463b844cbb842433babe1dbaede1d): CLOUDFLARE: DOCS: Clarify API key instructions ([#&#8203;1959](https://github.com/StackExchange/dnscontrol/issues/1959)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`a1b24a2`](https://github.com/StackExchange/dnscontrol/commit/a1b24a2e82c839dd316a961a1d063475ecc86b3f): GANDI_V5: Temporarily disable ListDomains ([#&#8203;1962](https://github.com/StackExchange/dnscontrol/issues/1962)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`83b4a30`](https://github.com/StackExchange/dnscontrol/commit/83b4a301dc68dce28fefc6cb71f770e0866ab69c): HOSTINGDE: Add simple exponential back-off retry ([#&#8203;1937](https://github.com/StackExchange/dnscontrol/issues/1937)) ([@&#8203;juliusrickert](https://github.com/juliusrickert)) - [`8344f5c`](https://github.com/StackExchange/dnscontrol/commit/8344f5c7c92e95dcc7482a0b4349d77156bcb06f): HOSTINGDE: BUG: PTR records aren't working ([#&#8203;1946](https://github.com/StackExchange/dnscontrol/issues/1946)) ([@&#8203;juliusrickert](https://github.com/juliusrickert)) - [`2ebdda6`](https://github.com/StackExchange/dnscontrol/commit/2ebdda69715489ea5c692686b5972edc34da532e): HOSTINGDE: Fix & simplify string quoting ([#&#8203;1945](https://github.com/StackExchange/dnscontrol/issues/1945)) ([@&#8203;juliusrickert](https://github.com/juliusrickert)) - [`261961c`](https://github.com/StackExchange/dnscontrol/commit/261961c5b8559d65483d3b3a697eed36a6400d4c): NETCUP: Handle CNAMEs with a single @&#8203; as destination correctly ([#&#8203;1947](https://github.com/StackExchange/dnscontrol/issues/1947)) ([@&#8203;kordianbruck](https://github.com/kordianbruck)) - [`b9b35d5`](https://github.com/StackExchange/dnscontrol/commit/b9b35d516e68fef9817a2d64878bcc5a23797450): TRANSIP: Implementation get-zones all ([#&#8203;1980](https://github.com/StackExchange/dnscontrol/issues/1980)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`178ec45`](https://github.com/StackExchange/dnscontrol/commit/178ec4525423f764ea6fbaf425cfd033430c6f4b): VULTR: fix failing integration tests ([#&#8203;1956](https://github.com/StackExchange/dnscontrol/issues/1956)) ([@&#8203;androw](https://github.com/androw)) ##### Other changes and improvements: - [`3a7b150`](https://github.com/StackExchange/dnscontrol/commit/3a7b150a2d1e45aaba2cfaffa303ada617f80db2): BUG: TypeScript typing: Renamed directory ([#&#8203;1979](https://github.com/StackExchange/dnscontrol/issues/1979)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`810eed0`](https://github.com/StackExchange/dnscontrol/commit/810eed08225d1fa8005e0ad1fdf700152b5aaba5): BUG: TypeScript typing: missing parameter ([#&#8203;1970](https://github.com/StackExchange/dnscontrol/issues/1970)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`97d9c58`](https://github.com/StackExchange/dnscontrol/commit/97d9c5889b9095b6e61cf382b66f13c351bbe77a): BUILD SYSTEM: Skip unused integration tests faster ([#&#8203;1939](https://github.com/StackExchange/dnscontrol/issues/1939)) ([@&#8203;cdhunt](https://github.com/cdhunt)) - [`f4388dd`](https://github.com/StackExchange/dnscontrol/commit/f4388dd6adb0b7371543dee8d35170f2313547ae): CHORE: Fix broken merge ([#&#8203;1957](https://github.com/StackExchange/dnscontrol/issues/1957)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`9bb38c4`](https://github.com/StackExchange/dnscontrol/commit/9bb38c4526dcdd426f52727843dc2051da71518e): CHORE: Remove references to TXTMulti ([#&#8203;1953](https://github.com/StackExchange/dnscontrol/issues/1953)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`3a6b488`](https://github.com/StackExchange/dnscontrol/commit/3a6b488b8a25a47ca2481bebbc20cad77e1c5f4b): CHORE: Update deps ([#&#8203;1984](https://github.com/StackExchange/dnscontrol/issues/1984)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`c1532d9`](https://github.com/StackExchange/dnscontrol/commit/c1532d90a037e333d7f0d25c8ea6492cb01362ad): CORE: Fix matrix generator ([#&#8203;1958](https://github.com/StackExchange/dnscontrol/issues/1958)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`03d782d`](https://github.com/StackExchange/dnscontrol/commit/03d782dcbc02d2e9e5cb07dccad4a5e9ed690337): Create CNAME ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`ec1d91a`](https://github.com/StackExchange/dnscontrol/commit/ec1d91ae885009e4b227e2e34bf556dff51b5083): DEV: Disable CodeQL ([#&#8203;1977](https://github.com/StackExchange/dnscontrol/issues/1977)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`1ab73aa`](https://github.com/StackExchange/dnscontrol/commit/1ab73aad3722d86b0d69ba555eeb919807801b86): DOCS: Clarify BYO CCI ([#&#8203;1951](https://github.com/StackExchange/dnscontrol/issues/1951)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`035455e`](https://github.com/StackExchange/dnscontrol/commit/035455e0422c82729f328d9b0a19ec400b816fad): DOCS: Fix release engineering docs ([#&#8203;1949](https://github.com/StackExchange/dnscontrol/issues/1949)) ([@&#8203;j-f1](https://github.com/j-f1)) - [`f912b15`](https://github.com/StackExchange/dnscontrol/commit/f912b15adc9b016a358909a87650a3e4f8e424f5): DOCS: Migrated documentation website to Gitbook ([#&#8203;1809](https://github.com/StackExchange/dnscontrol/issues/1809)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`437dc5f`](https://github.com/StackExchange/dnscontrol/commit/437dc5f60ddb454fc3fd14f6502d115a0438b43a): DOCS: Organize the assets by page or provider ([#&#8203;1964](https://github.com/StackExchange/dnscontrol/issues/1964)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`aed4197`](https://github.com/StackExchange/dnscontrol/commit/aed4197984df9a363195a0f166d3bc53caece4c6): DOCS: Renamed directory docs to documentation ([#&#8203;1966](https://github.com/StackExchange/dnscontrol/issues/1966)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`1ea69eb`](https://github.com/StackExchange/dnscontrol/commit/1ea69eb262dc2ddde3648a680da3e59db79ecf7d): DOCS: Revise typescript docs to be user-centric ([#&#8203;1940](https://github.com/StackExchange/dnscontrol/issues/1940)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`9bda481`](https://github.com/StackExchange/dnscontrol/commit/9bda481e7e2e605550cc811c92947afd58e805dc): DOCS: Typo `Dnscontrol` = `DNSControl`. ([#&#8203;1969](https://github.com/StackExchange/dnscontrol/issues/1969)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`c74a527`](https://github.com/StackExchange/dnscontrol/commit/c74a527bf9ae3b0c80552725fc7a9998d5a86f2e): DOCS: \[CAA] General improvements ([#&#8203;1971](https://github.com/StackExchange/dnscontrol/issues/1971)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`35105a0`](https://github.com/StackExchange/dnscontrol/commit/35105a0ff5f76db4a21e4e1e33530f8e71743474): DOCS: \[Cloudflare] Example permissions configuration image ([#&#8203;1963](https://github.com/StackExchange/dnscontrol/issues/1963)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`d532607`](https://github.com/StackExchange/dnscontrol/commit/d53260703e4c98f846f2f55f32c9f549465c5ed3): DOCS: \[DEFAULTS] General improvements ([#&#8203;1968](https://github.com/StackExchange/dnscontrol/issues/1968)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`7fe9e91`](https://github.com/StackExchange/dnscontrol/commit/7fe9e91d1e4066aa4d851d6245d4c79a044c8506): DOCS: \[Gitlab CI/CD] Corrected the bad asset URLs. ([#&#8203;1965](https://github.com/StackExchange/dnscontrol/issues/1965)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`4c3583c`](https://github.com/StackExchange/dnscontrol/commit/4c3583cd5aefbfebf3da7b05f41dfa4fef689c40): Domains flag should accept simple wildcards ([#&#8203;1983](https://github.com/StackExchange/dnscontrol/issues/1983)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`9b3ad81`](https://github.com/StackExchange/dnscontrol/commit/9b3ad81b1d15d5dac75a4ffef4d2481f066cb5ba): Embed types-dnscontrol.d.ts into the binary instead of fetching it via HTTP ([#&#8203;1942](https://github.com/StackExchange/dnscontrol/issues/1942)) ([@&#8203;j-f1](https://github.com/j-f1)) - [`81f75ed`](https://github.com/StackExchange/dnscontrol/commit/81f75ed1545c9b797a384b7afbeb5c862c1497c7): Fix GitHub Pages build failure ([#&#8203;1941](https://github.com/StackExchange/dnscontrol/issues/1941)) ([@&#8203;j-f1](https://github.com/j-f1)) - [`e73982c`](https://github.com/StackExchange/dnscontrol/commit/e73982c6998fc3b4454c546d39772dc0630d9080): NETLIFY: Fix TXT record handling ([#&#8203;1955](https://github.com/StackExchange/dnscontrol/issues/1955)) ([@&#8203;SphericalKat](https://github.com/SphericalKat)) - [`32c7703`](https://github.com/StackExchange/dnscontrol/commit/32c770370206f483803f646b0a8b54c4565b249e): get-zones: improve error message for unsupported providers ([#&#8203;1978](https://github.com/StackExchange/dnscontrol/issues/1978)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) #### Deprecation warnings (updated 2023-01-18) - **Call for new volunteer maintainers for NAMECHEAP, 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. If a new maintainer is not found soon, the provider may be disabled. - **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 [issues/1400](https://github.com/StackExchange/dnscontrol/issues/1400) - **get-zones syntax changes in v3.16** Starting in [v3.16](https://docs.dnscontrol.org/release/v316), the command line arguments for `dnscontrol get-zones` changes. For backwards compatibility change `provider` to `-`. See documentation for details. ### [`v3.24.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.24.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.23.0...v3.24.0) You may want to skip this release. More details below. This is an exciting release. We're adding two major experimental features and fixing a number of small bugs: - **TypeScript typings**: Your IDE now knows the dnsconfig.js file format and can offer autocomplete suggestions! See https://docs.dnscontrol.org/getting-started/typescript - **diff2**: We've added a new differencing engine. This is the code that computes what DNS records have changed when doing `preview` and `push`. The new code is cleaner and easier to maintain, which will make it easier to add new features in the future. In particular, it greatly increases my confidence in features such as IGNORE() which are currently marked as "use with caution". diff2 is disabled by default; add the `--diff2` flag to enable it. Once the code is stable, we plan on making diff2 the default and removing the old diff code from the project. NOTE: We need help! Please try running with the `--diff2` flag and report any errors. You should find it works the same as without the flag. If there are any differences, please let us know. dnscontrol --diff2 preview dnscontrol --diff2 push Diff2 is implemented by these providers: AXFRDDNS, CSCGLOBAL, DIGITALOCEAN, DNSIMPLE, DOMAINNAMESHOP, GCORE, HEDNS, HETZNER, INWX, MSDNS, NS1, ORACLE, OVH, PORKBUN, SOFTLAYER. Diff2 is NOT implemented (as of this writing) by these providers: AKAMAIEDGEDNS, AUTODNS, CLOUDFLARE, CLOUDNS, DESEC, DNSMADEEASY, GCLOUD, HEXONET, HOSTINGDE, LINODE, NAMECHEAP, NETCUP, NETLIFY, PACKETFRAME, POWERDNS, ROUTE53, RWTH, TRANSIP, VULTR. NOTE: Support for diff2 in `AZURE_DNS` is currently broken. https://github.com/StackExchange/dnscontrol/issues/1907 For the current status of diff2 please refer to https://github.com/StackExchange/dnscontrol/issues/1854 #### Why skip this release? A few reasons: 1. The build is broken and didn't generate all the binary artifacts we usually release. This should be fixed in 3.24.1 (or maybe .2 or .3!). 2. The features added are experimental. You might want to use this version in your test environment but not your production environment. 3. The non-experimental changes might not affect you. #### Changelog ##### Major features: - [`54fc2e9`](https://github.com/StackExchange/dnscontrol/commit/54fc2e9ce334ff6cee0012f9a162ed36df0f7c56): NEW FEATURE: diff2: A better "diff" mechanism ([#&#8203;1852](https://github.com/StackExchange/dnscontrol/issues/1852)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`1e337ab`](https://github.com/StackExchange/dnscontrol/commit/1e337abcdf192e7625aac83f06bc69636cc693bd): Provide TypeScript typings for dnsconfig.js ([#&#8203;1830](https://github.com/StackExchange/dnscontrol/issues/1830)) ([@&#8203;j-f1](https://github.com/j-f1)) - [`481137d`](https://github.com/StackExchange/dnscontrol/commit/481137d964dea23406658477c694b1f2fccf12ec): OCTODNS: Remove OctoDNS provider ([#&#8203;1921](https://github.com/StackExchange/dnscontrol/issues/1921)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`bec7e1e`](https://github.com/StackExchange/dnscontrol/commit/bec7e1e86560e48e45057cb92b6cf4185963711c): OCTODNS: Remove octodns provider ([#&#8203;1910](https://github.com/StackExchange/dnscontrol/issues/1910)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`bf0badf`](https://github.com/StackExchange/dnscontrol/commit/bf0badf2f27566e59a07531db42ee607b4f6e7b3): BUG: SPF split doesn't produce consistent output ([#&#8203;1865](https://github.com/StackExchange/dnscontrol/issues/1865)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`ca5273b`](https://github.com/StackExchange/dnscontrol/commit/ca5273b6179117afb67f27440a178ee45aab054a): DOC: Document how to BYO secrets ([#&#8203;1927](https://github.com/StackExchange/dnscontrol/issues/1927)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Provider-specific changes in this release: - [`4cf4d34`](https://github.com/StackExchange/dnscontrol/commit/4cf4d34ca6db590e09a405fa4f8ff64aa83a6328): AXFRDDNS: Add missing MD5 support ([#&#8203;1866](https://github.com/StackExchange/dnscontrol/issues/1866)) ([@&#8203;fritterhoff](https://github.com/fritterhoff)) - [`9b6a69c`](https://github.com/StackExchange/dnscontrol/commit/9b6a69c4c53909638e53823506c9fce8ce91ec29): AZURE_DNS: Defend against nil targets ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`fa52b4f`](https://github.com/StackExchange/dnscontrol/commit/fa52b4f2aed6809af3afaae8dadcbb9089b69eb7): GANDI_V5: Gandi now supports null MX ([#&#8203;1847](https://github.com/StackExchange/dnscontrol/issues/1847)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`7ad98a6`](https://github.com/StackExchange/dnscontrol/commit/7ad98a67f931b8e4ad18178309db50242da13f6e): NS2: Update ns1 to 2.7.2 ([#&#8203;1857](https://github.com/StackExchange/dnscontrol/issues/1857)) ([@&#8203;costasd](https://github.com/costasd)) - [`6f2b183`](https://github.com/StackExchange/dnscontrol/commit/6f2b183b25c89ebec1242d40ee3952e484b867d0): ORACLE: resolve "change to A" test fail ([#&#8203;1912](https://github.com/StackExchange/dnscontrol/issues/1912)) ([@&#8203;kallsyms](https://github.com/kallsyms)) - [`0403b2c`](https://github.com/StackExchange/dnscontrol/commit/0403b2c82d0163e8e4c940ae364ba25247618dfd): TRANSIP: Fix quoting of TXT records ([#&#8203;1918](https://github.com/StackExchange/dnscontrol/issues/1918)) ([@&#8203;blackshadev](https://github.com/blackshadev)) - [`01829a2`](https://github.com/StackExchange/dnscontrol/commit/01829a2dc0d3cf8aee2147c6eea669d319cae285): TRANSIP: For modifications always remove and re-add records ([#&#8203;1920](https://github.com/StackExchange/dnscontrol/issues/1920)) ([@&#8203;blackshadev](https://github.com/blackshadev)) - [`47e9fe0`](https://github.com/StackExchange/dnscontrol/commit/47e9fe067824eda218e3f3b7b20f98389f95f683): CLOUDFLAREAPI: DOCS: Clarify API instructions ([#&#8203;1932](https://github.com/StackExchange/dnscontrol/issues/1932)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### diff2-related changes: - Implement diff2: - [`b0f2945`](https://github.com/StackExchange/dnscontrol/commit/b0f2945510494a7675d9fdc92449d046eb921a94): REFACTOR: Add diff2 enable flag to all DNS providers ([#&#8203;1851](https://github.com/StackExchange/dnscontrol/issues/1851)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`397ce10`](https://github.com/StackExchange/dnscontrol/commit/397ce107e504801bf0c50b29ef8d6979676c5997): REFACTOR: Add a backwards compatible interface to diff2 ([#&#8203;1870](https://github.com/StackExchange/dnscontrol/issues/1870)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`214eaeb`](https://github.com/StackExchange/dnscontrol/commit/214eaeb84d183341e3bce75d7689c7bf71fb668f): DOCS: Clarify ByRecord() assertions ([#&#8203;1931](https://github.com/StackExchange/dnscontrol/issues/1931)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`d765ced`](https://github.com/StackExchange/dnscontrol/commit/d765ced927bb5332ecf7cbd97a68362bad60c32c): CHORE: Make Test_filterBy more readable ([#&#8203;1869](https://github.com/StackExchange/dnscontrol/issues/1869)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - Providers supporting the native diff2 module: - [`99a0eb8`](https://github.com/StackExchange/dnscontrol/commit/99a0eb84f648d528822cb02c959309ff44de609b): HEDNS: Add full Diff2 support ([#&#8203;1915](https://github.com/StackExchange/dnscontrol/issues/1915)) ([@&#8203;rblenkinsopp](https://github.com/rblenkinsopp)) - [`7654107`](https://github.com/StackExchange/dnscontrol/commit/7654107614bbf56a61e3a37fda11fc9254313325): NS1: Add support for diff2 ([#&#8203;1858](https://github.com/StackExchange/dnscontrol/issues/1858)) ([@&#8203;costasd](https://github.com/costasd)) - [`6947388`](https://github.com/StackExchange/dnscontrol/commit/6947388dc1f85d8bc4cb8c5551185104af1b9ebf): OVH: Adopt diff2 ([#&#8203;1861](https://github.com/StackExchange/dnscontrol/issues/1861)) ([@&#8203;masterzen](https://github.com/masterzen)) - [`87c32df`](https://github.com/StackExchange/dnscontrol/commit/87c32df0c9cc38bfd5fb1bf735ad95592fc580f7): PORKBUN: support diff2 and two small changes ([#&#8203;1855](https://github.com/StackExchange/dnscontrol/issues/1855)) ([@&#8203;imlonghao](https://github.com/imlonghao)) - Providers using diff2's backwards compatibility mode: - [`8f8c0ab`](https://github.com/StackExchange/dnscontrol/commit/8f8c0abaf3e94dc5184ef590d04f02068b11db39): AXFRDDNS: Adopt diff2 in compatibility mode ([#&#8203;1905](https://github.com/StackExchange/dnscontrol/issues/1905)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`48f642c`](https://github.com/StackExchange/dnscontrol/commit/48f642cd54c1f47075d3e2dfae17118c3610cb45): CSCGLOBAL: Adopt diff2 in compatibility mode ([#&#8203;1875](https://github.com/StackExchange/dnscontrol/issues/1875)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`cc132b7`](https://github.com/StackExchange/dnscontrol/commit/cc132b7268ee8fb3dba45d2c8d7ee0e859103a69): DIGITALOCEAN: Adopt diff2 in compatibility mode ([#&#8203;1877](https://github.com/StackExchange/dnscontrol/issues/1877)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`a498679`](https://github.com/StackExchange/dnscontrol/commit/a498679c7214af800321916c21c138e40389cf17): DNSIMPLE: Adopt diff2 in compatibility mode ([#&#8203;1878](https://github.com/StackExchange/dnscontrol/issues/1878)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`e0fef39`](https://github.com/StackExchange/dnscontrol/commit/e0fef398be58bca286ec5a930b0e8d6455450718): DOMAINNAMESHOP: Adopt diff2 in compatibility mode ([#&#8203;1880](https://github.com/StackExchange/dnscontrol/issues/1880)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`801aae7`](https://github.com/StackExchange/dnscontrol/commit/801aae725b76df655e47848693736d294c03da4f): GCORE: Implement diff2 and greatly improve performance for getting record sets ([#&#8203;1867](https://github.com/StackExchange/dnscontrol/issues/1867)) ([@&#8203;xddxdd](https://github.com/xddxdd)) - [`f8fd853`](https://github.com/StackExchange/dnscontrol/commit/f8fd853a0272740f3312f7acb5b2005fc35b34b7): HEDNS: Adopt diff2 in compatibility mode ([#&#8203;1887](https://github.com/StackExchange/dnscontrol/issues/1887)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`4083a0c`](https://github.com/StackExchange/dnscontrol/commit/4083a0ce7ec3314909713448dd8848a4e2d5153d): HETZNER: Adopt diff2 in compatibility mode ([#&#8203;1888](https://github.com/StackExchange/dnscontrol/issues/1888)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`30c653e`](https://github.com/StackExchange/dnscontrol/commit/30c653eebae2a4066ab1972f2ef6cf41d5b6b35d): INWX: Adopt diff2 in compatibility mode ([#&#8203;1891](https://github.com/StackExchange/dnscontrol/issues/1891)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`c62a85a`](https://github.com/StackExchange/dnscontrol/commit/c62a85a003f7d007555641a9bcded84a115820ce): MSDNS: Adopt diff2 in compatibility mode ([#&#8203;1893](https://github.com/StackExchange/dnscontrol/issues/1893)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`347808f`](https://github.com/StackExchange/dnscontrol/commit/347808f030e18f74d5885242c723b40fd658ee00): ORACLE: Adopt diff2 in compatibility mode ([#&#8203;1897](https://github.com/StackExchange/dnscontrol/issues/1897)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`5f2dd2f`](https://github.com/StackExchange/dnscontrol/commit/5f2dd2fdf22238e62653acda693e836c2d24db0d): SOFTLAYER: Adopt diff2 in compatibility mode ([#&#8203;1901](https://github.com/StackExchange/dnscontrol/issues/1901)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Other changes and improvements in this release: - [`daf23b8`](https://github.com/StackExchange/dnscontrol/commit/daf23b855008eabff459f4659a87fcaa9a9c9c23): CHORE: Update deps ([#&#8203;1911](https://github.com/StackExchange/dnscontrol/issues/1911)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`46d5666`](https://github.com/StackExchange/dnscontrol/commit/46d5666df703474495604d73561e3898f8b430df): CHORE: Update deps ([#&#8203;1936](https://github.com/StackExchange/dnscontrol/issues/1936)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`fe03b29`](https://github.com/StackExchange/dnscontrol/commit/fe03b29ab29a7617cf55f5ec8b79a4406d12382b): CHORE: format helpers.js ([#&#8203;1848](https://github.com/StackExchange/dnscontrol/issues/1848)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`96e4e88`](https://github.com/StackExchange/dnscontrol/commit/96e4e88fc5da6ad0e5eaeec9af381e2ac11b94aa): Cleanups ([#&#8203;1871](https://github.com/StackExchange/dnscontrol/issues/1871)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`358ae77`](https://github.com/StackExchange/dnscontrol/commit/358ae77e29e23a85535c63c385c016361f519ec6): DOCS: Akamai: Updated the Akamai URLs ([#&#8203;1926](https://github.com/StackExchange/dnscontrol/issues/1926)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`ba505a2`](https://github.com/StackExchange/dnscontrol/commit/ba505a25dce93dfd538370434bf97a7892413be4): DOCS: Fixed wrong Route53 Markdown link ([#&#8203;1925](https://github.com/StackExchange/dnscontrol/issues/1925)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`5c0801f`](https://github.com/StackExchange/dnscontrol/commit/5c0801f4a8acd3313bc7e0b8785993828ff795a2): DOCS: Improve pkg/diff2 documentation ([#&#8203;1903](https://github.com/StackExchange/dnscontrol/issues/1903)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`446855e`](https://github.com/StackExchange/dnscontrol/commit/446855eac619ad89877f4030698366e577d43827): DOCS: Typo `CloudFlare` ([#&#8203;1923](https://github.com/StackExchange/dnscontrol/issues/1923)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`0e3c4db`](https://github.com/StackExchange/dnscontrol/commit/0e3c4db3015e4a5f299cae7e20ebe18b323baa8d): Delete CNAME ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`a68d073`](https://github.com/StackExchange/dnscontrol/commit/a68d07320eb87569e7a34e19372a9bb975d3ab99): GANDI_V5: Wrong directory name in OWNERS ([#&#8203;1922](https://github.com/StackExchange/dnscontrol/issues/1922)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`80fcc52`](https://github.com/StackExchange/dnscontrol/commit/80fcc5232e388b9a2a4e721f0326321c9d4cf4a2): GCLOUD: DOCS: Clarify and fix formatting ([#&#8203;1924](https://github.com/StackExchange/dnscontrol/issues/1924)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ### [`v3.23.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.23.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.22.1...v3.23.0) What an exciting release! Three new providers (Gcore, Netlify, and PORKBUN) and tons of bugfixes! The feature matrix displays better on the website. Thanks to all the contributors! #### Changelog ##### Major features: - [`3581829`](https://github.com/StackExchange/dnscontrol/commit/35818299c0c80c1581c590cd6e51c9d91352c0a0): NEW PROVIDER: Gcore DNS ([#&#8203;1816](https://github.com/StackExchange/dnscontrol/issues/1816)) ([@&#8203;xddxdd](https://github.com/xddxdd)) - [`1618ace`](https://github.com/StackExchange/dnscontrol/commit/1618aceb2a8c9677d5130aa60a721c102050faf8): NEW PROVIDER: Netlify ([#&#8203;1820](https://github.com/StackExchange/dnscontrol/issues/1820)) ([@&#8203;SphericalKat](https://github.com/SphericalKat)) - [`d90ca15`](https://github.com/StackExchange/dnscontrol/commit/d90ca157e49e4fa3ba168bff032c56159e7c572c): PORKBUN: New provider ([#&#8203;1819](https://github.com/StackExchange/dnscontrol/issues/1819)) ([@&#8203;imlonghao](https://github.com/imlonghao)) - [`cfc93bf`](https://github.com/StackExchange/dnscontrol/commit/cfc93bff46a569c53f632498dbc9b55ff645b9fd): Improve layout and display of the feature matrix table ([#&#8203;1824](https://github.com/StackExchange/dnscontrol/issues/1824)) ([@&#8203;j-f1](https://github.com/j-f1)) ##### Provider-specific changes: - [`caf7467`](https://github.com/StackExchange/dnscontrol/commit/caf7467cdd228dfd960382c3cd1e04ff6209d109): VULTR: BUGFIX: Wrong records are occasionally modified ([#&#8203;1822](https://github.com/StackExchange/dnscontrol/issues/1822)) ([@&#8203;androw](https://github.com/androw)) - [`f209111`](https://github.com/StackExchange/dnscontrol/commit/f20911172875bf7c99f5e02a3f0f907865cbf42c): VULTR: Use keyed fields for govultr struct literals ([#&#8203;1818](https://github.com/StackExchange/dnscontrol/issues/1818)) ([@&#8203;pgaskin](https://github.com/pgaskin)) - [`627108e`](https://github.com/StackExchange/dnscontrol/commit/627108ee03364129435a1b44ac5a9eeaf699e173): DOCBUG: Fix the title of the Namecheap docs, remove false statement that there is no DNS provider implementation ([#&#8203;1826](https://github.com/StackExchange/dnscontrol/issues/1826)) ([@&#8203;j-f1](https://github.com/j-f1)) - [`f17600a`](https://github.com/StackExchange/dnscontrol/commit/f17600a21c2ee303a4598b7647bf30b31c86be7d): RWTH: DOCFIX: Incorrect name of API key in example ([#&#8203;1821](https://github.com/StackExchange/dnscontrol/issues/1821)) ([@&#8203;nemunaire](https://github.com/nemunaire)) ##### Other changes and improvements: - [`ec5c4ab`](https://github.com/StackExchange/dnscontrol/commit/ec5c4abbd6870bdffff53903e660d218006bd245): BUGFIX: PrettySort helper doesn't sort ([#&#8203;1838](https://github.com/StackExchange/dnscontrol/issues/1838)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`ca69049`](https://github.com/StackExchange/dnscontrol/commit/ca6904968ecc0cee876b89740bb30eaf3b7143ff): CHORE: Bump alpine from 3.16.2 to 3.17.0 ([#&#8203;1833](https://github.com/StackExchange/dnscontrol/issues/1833)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`d818900`](https://github.com/StackExchange/dnscontrol/commit/d818900f61a875e085792be78029e45e934eb9de): CHORE: Upgrade otto to v0.2.0 ([#&#8203;1840](https://github.com/StackExchange/dnscontrol/issues/1840)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`38f24ea`](https://github.com/StackExchange/dnscontrol/commit/38f24ea7aab697fae3cfbdd0b707b1e67b0e8964): CHORE: go generate ([#&#8203;1841](https://github.com/StackExchange/dnscontrol/issues/1841)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`fd5f5a0`](https://github.com/StackExchange/dnscontrol/commit/fd5f5a09631411a7e5d39ff40c1ee5e667e28e63): CHORE: update deps ([#&#8203;1839](https://github.com/StackExchange/dnscontrol/issues/1839)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`9f100c7`](https://github.com/StackExchange/dnscontrol/commit/9f100c79666e7eb7daaab5bc0e3ca1b00b81fa02): Create CNAME ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`cc2fb89`](https://github.com/StackExchange/dnscontrol/commit/cc2fb89b002b1aa7cb5d1542f083c8faecd3c676): DOCS: Remove Cannot() records for Azure and R53 ALIAS records ([#&#8203;1827](https://github.com/StackExchange/dnscontrol/issues/1827)) ([@&#8203;j-f1](https://github.com/j-f1)) - [`5b95c09`](https://github.com/StackExchange/dnscontrol/commit/5b95c099f60839945382895dfc8512109f899928): NETLIFY: bugfix: append . to records which point to hosts ([#&#8203;1828](https://github.com/StackExchange/dnscontrol/issues/1828)) ([@&#8203;SphericalKat](https://github.com/SphericalKat)) - [`d90ca15`](https://github.com/StackExchange/dnscontrol/commit/d90ca157e49e4fa3ba168bff032c56159e7c572c): PORKBUN: New provider ([#&#8203;1819](https://github.com/StackExchange/dnscontrol/issues/1819)) ([@&#8203;imlonghao](https://github.com/imlonghao)) - [`4ab577e`](https://github.com/StackExchange/dnscontrol/commit/4ab577eab62e61f894ca6d8ccf6b7da420a1a443): Update CNAME ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ### [`v3.22.1`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.22.1) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.22.0...v3.22.1) This point release fixes an incompatibility with Go 1.19. #### Changelog - [`1705906`](https://github.com/StackExchange/dnscontrol/commit/1705906be5cf167918144c6ba4ef94ad337d7407): BUG: Fix incompatibility with go 1.19 on Linux/FreeBSD systems ([#&#8203;1814](https://github.com/StackExchange/dnscontrol/issues/1814)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Other changes and improvements: - n/a #### Deprecation warnings (updated 2022-06-04) - **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 [issues/1400](https://github.com/StackExchange/dnscontrol/issues/1400) - **Provider OCTODNS is frozen and will be removed after Nov 1, 2022.** It was written as a joke and nobody laughed. It's time to remove the code and move on. - **get-zones syntax changes in v3.16** Starting in v3.16, the command line arguments for `dnscontrol get-zones` changes. For backwards compatibility change `provider` to `-`. See documentation for details. ### [`v3.22.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.22.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.21.0...v3.22.0) This release adds new functionality to the `IGNORE_NAME()` function, supports DNSimple's API change, and improves documentation. `IGNORE_NAME()` is now more flexible about what it can ignore. You can now restrict its ignorance (ignorefullness?) to specific DNS resource types. For example, instead of ignoring all DNS records at `foo.example.com`, you can ignore just the `A` records, or just the `A` and `TXT` records. Thanks to [@&#8203;bits01](https://github.com/bits01) for this contribution! #### Changelog ##### Major features: - [`6851602`](https://github.com/StackExchange/dnscontrol/commit/68516025a507152630452f9a0e7bac3ead495c20): FEATURE: Add rTypes restrictions to IGNORE_NAME ([#&#8203;1808](https://github.com/StackExchange/dnscontrol/issues/1808)) ([@&#8203;bits01](https://github.com/bits01)) ##### Provider-specific changes: - [`a6043df`](https://github.com/StackExchange/dnscontrol/commit/a6043df648856d34c88a33127615f3a08d060f0e): DNSIMPLE: Support new name server handling changes ([#&#8203;1806](https://github.com/StackExchange/dnscontrol/issues/1806)) ([@&#8203;onlyhavecans](https://github.com/onlyhavecans)) ##### Other changes and improvements: - [`7fd35e8`](https://github.com/StackExchange/dnscontrol/commit/7fd35e85f8a14b2a18a0ae39edd828657db3fb95): DOCS: Fix typos, word usage, and inline code in docs ([#&#8203;1805](https://github.com/StackExchange/dnscontrol/issues/1805)) ([@&#8203;andrewimeson](https://github.com/andrewimeson)) - [`4b3d8f7`](https://github.com/StackExchange/dnscontrol/commit/4b3d8f724e2fce7e9efe86484d583d95c0d03748): DOCS: Remove double hyphen ([#&#8203;1807](https://github.com/StackExchange/dnscontrol/issues/1807)) ([@&#8203;cafferata](https://github.com/cafferata)) ### [`v3.21.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.21.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.20.0...v3.21.0) This release contains no major features or new providers. However it cleans up a number of bugs, standardizes a ton of documentation issues, and has been updated to use newer dependencies and APIs. There are small improvements to the `check` and `get-zones` subcommands. The integration tests have been optimized: they now run significantly faster for most providers. ##### Highlights - In an effort to better support CI/CD pipelines, `dnscontrol check` now reports problems to stdout, not stderr. These same problems are still reported to stderr by `dnscontrol preview` and `dnscontrol push`. - `dnscontrol get-zones` deals with CNAMEs at the apex better by including a comment warning that manual editing may be required. - Shout out to [@&#8203;cafferata](https://github.com/cafferata) for combing through the documentation to find and fix many errors and inconsistencies. The documentation now includes a table of contents for the DSL language features and works much better on mobile platforms. - The documentation now includes examples of doing DNS updates via a CI/CD pipeline a.k.a. the [GitOps pattern](https://queue.acm.org/detail.cfm?id=3237207). - The JavaScript interpreter ([otto](https://github.com/robertkrimen/otto)) has been upgraded from the 2021-10-24 release to the 2022-10-25 release. This has many stability improvements and no compatibility issues (we hope!) - DESEC's authentication is improved. DIGITALOCEAN's CAA implementation supports semicolons. DNSIMPLE, EXOSCALE, and VULTR now support their newer APIs. ##### Breaking changes - The above-mentioned change to `dnscontrol check` may break some pipelines. Please verify after upgrading. More likely these pipelines are redirecting stderr to stdout which is no longer needed. #### Changelog ##### Major features: - [`b821f49`](https://github.com/StackExchange/dnscontrol/commit/b821f4914fd9ee2b6b31fb23387de35284585a55): FEATURE: "check" subcommand should send to stdout ([#&#8203;1755](https://github.com/StackExchange/dnscontrol/issues/1755)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`391622f`](https://github.com/StackExchange/dnscontrol/commit/391622ff55fa96a9616c58ff35421e948234038f): FEATURE: get-zones now outputs a comment about CNAMEs at apex ([#&#8203;1732](https://github.com/StackExchange/dnscontrol/issues/1732)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`ee2c7ad`](https://github.com/StackExchange/dnscontrol/commit/ee2c7adb059a491c12f76574e5eb90d2121cbcfa): FEATURE: Added a tutorial/example of a Gitlab CI/CD setup to the documentation. ([#&#8203;1766](https://github.com/StackExchange/dnscontrol/issues/1766)) ([@&#8203;cafferata](https://github.com/cafferata)) ##### Provider-specific changes: - [`639a447`](https://github.com/StackExchange/dnscontrol/commit/639a4473d7593838dd4593c0c50198aada3702a4): DESEC: Check authentication via domains API ([#&#8203;1723](https://github.com/StackExchange/dnscontrol/issues/1723)) ([@&#8203;glueckself](https://github.com/glueckself)) - [`49590df`](https://github.com/StackExchange/dnscontrol/commit/49590df8bf491908093d68d7ac4c9a5a3de10c37): DIGITALOCEAN: semicolon as CAA target is now supported ([#&#8203;1749](https://github.com/StackExchange/dnscontrol/issues/1749)) ([@&#8203;tresni](https://github.com/tresni)) - [`1c726a0`](https://github.com/StackExchange/dnscontrol/commit/1c726a08ad3e4481fc29355463fca95acf124ec4): DNSimple: Update to 1.0.0 Client & expose error attributes ([#&#8203;1756](https://github.com/StackExchange/dnscontrol/issues/1756)) ([@&#8203;onlyhavecans](https://github.com/onlyhavecans)) - [`128e075`](https://github.com/StackExchange/dnscontrol/commit/128e07506624ed66eefb223919178f13afb83982): EXOSCALE: Migrate to v2 API ([#&#8203;1748](https://github.com/StackExchange/dnscontrol/issues/1748)) ([@&#8203;kobajagi](https://github.com/kobajagi)) - [`2898fba`](https://github.com/StackExchange/dnscontrol/commit/2898fbad727dac3abe8a9d3505ff30be400a19e4): VULTR: use API v2 ([#&#8203;1768](https://github.com/StackExchange/dnscontrol/issues/1768)) ([@&#8203;androw](https://github.com/androw)) ##### Other changes and improvements: - [`61e500b`](https://github.com/StackExchange/dnscontrol/commit/61e500b7dc0ffa5039ca7fb62abca9c446a02778): DEV: Optimize integration tests ([#&#8203;1742](https://github.com/StackExchange/dnscontrol/issues/1742)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`b66af29`](https://github.com/StackExchange/dnscontrol/commit/b66af29aec391e58ed64fd3a66b7bda97c94cf2e): BUG: Re-introducing the `cloudflare/cloudflare-go` import ([#&#8203;1795](https://github.com/StackExchange/dnscontrol/issues/1795)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`3743c7d`](https://github.com/StackExchange/dnscontrol/commit/3743c7de031f5d5d3d35c3734f337357f7cf5877): Bump cloudflare/cloudflare-go from 0.46 to 0.49 ([#&#8203;1746](https://github.com/StackExchange/dnscontrol/issues/1746)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`dea9466`](https://github.com/StackExchange/dnscontrol/commit/dea94665e8b297baf040c15b7fd1161dfbc0dfe5): CHORE: Bump bruceadams/get-release from 1.2.3 to 1.3.1 ([#&#8203;1772](https://github.com/StackExchange/dnscontrol/issues/1772)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`010ba56`](https://github.com/StackExchange/dnscontrol/commit/010ba5682af0af99d65ae79737bd38fb9cf834ac): CHORE: Bump bruceadams/get-release from 1.3.1 to 1.3.2 ([#&#8203;1797](https://github.com/StackExchange/dnscontrol/issues/1797)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`944b702`](https://github.com/StackExchange/dnscontrol/commit/944b702edeb326cdee8036d42aef057d29387355): CHORE: Bump github.com/aws/aws-sdk-go-v2/service/route53 from 1.21.7 to 1.21.9 ([#&#8203;1734](https://github.com/StackExchange/dnscontrol/issues/1734)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`505e021`](https://github.com/StackExchange/dnscontrol/commit/505e021054c80979a5225038af33138ebdfe493b): CHORE: Bump github.com/urfave/cli/v2 from 2.11.2 to 2.14.0 ([#&#8203;1737](https://github.com/StackExchange/dnscontrol/issues/1737)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`4328c80`](https://github.com/StackExchange/dnscontrol/commit/4328c8033577c82d35ff7641f07ea38f9c762fa5): CHORE: Update dependencies of providers with automated tests ([#&#8203;1743](https://github.com/StackExchange/dnscontrol/issues/1743)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`c56002e`](https://github.com/StackExchange/dnscontrol/commit/c56002e835de22da7a9af1d4ffa8408bf654bb07): CHORE: Update deps ([#&#8203;1754](https://github.com/StackExchange/dnscontrol/issues/1754)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`da17a54`](https://github.com/StackExchange/dnscontrol/commit/da17a54cdb2abe004febc1d81c0f9eda3ced0350): CHORE: Update deps ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`dc86519`](https://github.com/StackExchange/dnscontrol/commit/dc86519365bdd3a09fe98f2b69d90f83413f6afa): CHORE: Update deps that have automated tests ([#&#8203;1801](https://github.com/StackExchange/dnscontrol/issues/1801)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`ab026c3`](https://github.com/StackExchange/dnscontrol/commit/ab026c31cd8ac34cbf183723daf6e3fa77a5678b): CHORE: Upgrade otto release ([#&#8203;1774](https://github.com/StackExchange/dnscontrol/issues/1774)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`fc678d8`](https://github.com/StackExchange/dnscontrol/commit/fc678d8820ee8aa05814a0bb0f74f2ceb53b98a1): DOC: Split the Google Workspace example ([#&#8203;1796](https://github.com/StackExchange/dnscontrol/issues/1796)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`c9b166f`](https://github.com/StackExchange/dnscontrol/commit/c9b166ff0f4b8d3af1eeb8585d1e3aece21d9771): DOCS: Add MacPorts to Install section ([#&#8203;1729](https://github.com/StackExchange/dnscontrol/issues/1729)) ([@&#8203;ajhall](https://github.com/ajhall)) - [`1a94ab6`](https://github.com/StackExchange/dnscontrol/commit/1a94ab6b23eaafe73cd8d5cb38f404dd21b31f4f): DOCS: Add a dynamic macro example (Fastmail) ([#&#8203;1759](https://github.com/StackExchange/dnscontrol/issues/1759)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`5ba66fa`](https://github.com/StackExchange/dnscontrol/commit/5ba66fac52ebdcd587a4c0e257ff63e7a28057e2): DOCS: Add missing record modifiers ([#&#8203;1793](https://github.com/StackExchange/dnscontrol/issues/1793)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`ffdb4b6`](https://github.com/StackExchange/dnscontrol/commit/ffdb4b62716fe36970e665612308c9f9850c1462): DOCS: Add page for how to maintain docs ([#&#8203;1780](https://github.com/StackExchange/dnscontrol/issues/1780)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`cc433fd`](https://github.com/StackExchange/dnscontrol/commit/cc433fd1048d829537852d40122d40d84a5b9a14): DOCS: Added link to the alternative GitHub action ([#&#8203;1802](https://github.com/StackExchange/dnscontrol/issues/1802)) ([@&#8203;tarampampam](https://github.com/tarampampam)) - [`cd80a7f`](https://github.com/StackExchange/dnscontrol/commit/cd80a7f157cc17fa2bab77faed89cedadf04171c): DOCS: Aligned/improved installation section package manager ([#&#8203;1788](https://github.com/StackExchange/dnscontrol/issues/1788)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`fd42485`](https://github.com/StackExchange/dnscontrol/commit/fd42485d7db032eba9527177ebc2dc291d2ceb3e): DOCS: Automatically make a table of contents (TOC) ([#&#8203;1778](https://github.com/StackExchange/dnscontrol/issues/1778)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`490db87`](https://github.com/StackExchange/dnscontrol/commit/490db87ce6f22ff13a266f95cbef33e3f59c31aa): DOCS: Clarify IPv6 variables are strings ([#&#8203;1775](https://github.com/StackExchange/dnscontrol/issues/1775)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`705e3a0`](https://github.com/StackExchange/dnscontrol/commit/705e3a03ab3f477c9ba52fb5181247ae280a3e4f): DOCS: Clarify Jekyll documentation ([#&#8203;1790](https://github.com/StackExchange/dnscontrol/issues/1790)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`b3e6843`](https://github.com/StackExchange/dnscontrol/commit/b3e684326a11449a0c9e900ca0293873c6727755): DOCS: Clean up formatting and punctuation ([#&#8203;1776](https://github.com/StackExchange/dnscontrol/issues/1776)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`a18710b`](https://github.com/StackExchange/dnscontrol/commit/a18710b28491507ba96fd257e33a23ffccf8abe9): DOCS: Clean up old docs and scripts ([#&#8203;1728](https://github.com/StackExchange/dnscontrol/issues/1728)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`c6011fe`](https://github.com/StackExchange/dnscontrol/commit/c6011fe3f8c7b21032fea51a5b0ea9fdd146e9c7): DOCS: Converted README.txt to .gitkeep ([#&#8203;1785](https://github.com/StackExchange/dnscontrol/issues/1785)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`27ec220`](https://github.com/StackExchange/dnscontrol/commit/27ec220814496c3aef8527779d9388539fdf04e8): DOCS: Correct closing parens in AXFRDDNS doc ([#&#8203;1752](https://github.com/StackExchange/dnscontrol/issues/1752)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`3f760cd`](https://github.com/StackExchange/dnscontrol/commit/3f760cdd2541c1f894153fc272e02342062e6498): DOCS: Documentation improvements ([#&#8203;1786](https://github.com/StackExchange/dnscontrol/issues/1786)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`67bbbb3`](https://github.com/StackExchange/dnscontrol/commit/67bbbb35965c2c1225f17c7c1cbc5de4802760c0): DOCS: Fix DSL table of contents ([#&#8203;1783](https://github.com/StackExchange/dnscontrol/issues/1783)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`b968cd6`](https://github.com/StackExchange/dnscontrol/commit/b968cd694da17848e27669325f48c0d68a271272): DOCS: Fix dns.he.net link ([#&#8203;1758](https://github.com/StackExchange/dnscontrol/issues/1758)) ([@&#8203;Firefishy](https://github.com/Firefishy)) - [`1aca045`](https://github.com/StackExchange/dnscontrol/commit/1aca045d5b559edce0ac1d648e659b2273fa4e80): DOCS: Fix many small typos ([#&#8203;1794](https://github.com/StackExchange/dnscontrol/issues/1794)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`dad1d4c`](https://github.com/StackExchange/dnscontrol/commit/dad1d4c2c5a5013263bff9a98e8ef289e74564ec): DOCS: Fixed typo "deprecation" ([#&#8203;1739](https://github.com/StackExchange/dnscontrol/issues/1739)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`975463e`](https://github.com/StackExchange/dnscontrol/commit/975463ef33b02e02233568d9ad42f7adc4a73ecb): DOCS: Increase provider number ([#&#8203;1804](https://github.com/StackExchange/dnscontrol/issues/1804)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`ae1eb97`](https://github.com/StackExchange/dnscontrol/commit/ae1eb970f558d9e6c0a9af1b5754cc90ba873a5d): DOCS: Inline creds.json.tpl-example.txt example ([#&#8203;1784](https://github.com/StackExchange/dnscontrol/issues/1784)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`e95c122`](https://github.com/StackExchange/dnscontrol/commit/e95c122c48fb8869007231650bd04a9131400cae): DOCS: Merge toc and index ([#&#8203;1789](https://github.com/StackExchange/dnscontrol/issues/1789)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`eb809cd`](https://github.com/StackExchange/dnscontrol/commit/eb809cd0264e365ad075c730348f27123cc7fa28): DOCS: Provider TransIP improvements ([#&#8203;1791](https://github.com/StackExchange/dnscontrol/issues/1791)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`2f50c74`](https://github.com/StackExchange/dnscontrol/commit/2f50c740f9d0580ec24d5b0337f1563e2e2ede1e): DOCS: Updated Go Package URL's to latest version ([#&#8203;1803](https://github.com/StackExchange/dnscontrol/issues/1803)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`c6851c9`](https://github.com/StackExchange/dnscontrol/commit/c6851c9d7f3b9f7a340625c9adf8a477c8d94f3e): DOCS: fix default_ns example for hosting.de ([#&#8203;1750](https://github.com/StackExchange/dnscontrol/issues/1750)) ([@&#8203;saz](https://github.com/saz)) - [`46b742d`](https://github.com/StackExchange/dnscontrol/commit/46b742d09f67646c2b33937f254c1c73b6bb3383): DOCS: fix docker usage in "Getting Started" ([#&#8203;1767](https://github.com/StackExchange/dnscontrol/issues/1767)) ([@&#8203;saz](https://github.com/saz)) - [`ad8f436`](https://github.com/StackExchange/dnscontrol/commit/ad8f4363300bf935ed07cd3dd51a8ef1c5e46b26): DOCS: fix docker usage in README ([#&#8203;1751](https://github.com/StackExchange/dnscontrol/issues/1751)) ([@&#8203;saz](https://github.com/saz)) - [`e9f4200`](https://github.com/StackExchange/dnscontrol/commit/e9f4200739c79eb3f1cd45ba245bb01feb08e2b5): Update deps ([#&#8203;1747](https://github.com/StackExchange/dnscontrol/issues/1747)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`39aa553`](https://github.com/StackExchange/dnscontrol/commit/39aa55368635066f8624177379efd4dfbe21b7a7): Update deps ([#&#8203;1773](https://github.com/StackExchange/dnscontrol/issues/1773)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ### [`v3.20.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.20.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.19.0...v3.20.0) #### Changelog This release changes the output format to be more brief and fixes a number of small bugs. **New format:** The format of `preview` and `push` is now more brief and works better for CI/CD systems. The old output is available by specifying the `--verbose` flag. You probably only want to use the old format when debugging authentication issues or during initial setup when it is useful to help understand how DNSControl works. ##### Breaking changes: - n/a ##### Major features: - [`8bb63be`](https://github.com/StackExchange/dnscontrol/commit/8bb63be8f5ed996a7ae0a21091954fcab996621b): Add --verbose flag, default to less verbose output ([#&#8203;1721](https://github.com/StackExchange/dnscontrol/issues/1721)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Provider-specific changes: - [`d1a63ab`](https://github.com/StackExchange/dnscontrol/commit/d1a63abc0d80928ecc4312b23f9535550d4bff1c): CLOUDFLARE: Increase retry limits ([#&#8203;1713](https://github.com/StackExchange/dnscontrol/issues/1713)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`0d9bdc2`](https://github.com/StackExchange/dnscontrol/commit/0d9bdc2ddcad2c9c3231fe89f8d32f47cfd9805c): DOMAINNAMESHOP: Domainnameshop documentation update ([#&#8203;1726](https://github.com/StackExchange/dnscontrol/issues/1726)) ([@&#8203;SimenBai](https://github.com/SimenBai)) - [`b2af433`](https://github.com/StackExchange/dnscontrol/commit/b2af4332f13c73d081b56559810e40a4219b5de9): MSDNS: MSDNS auto-disable message is now more accurate ([#&#8203;1719](https://github.com/StackExchange/dnscontrol/issues/1719)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Other changes and improvements: - [`70e08fe`](https://github.com/StackExchange/dnscontrol/commit/70e08fe4b857cdc536c508d1ea1555c1ad826711): CHORE: Bump actions/setup-go from 2 to 3 ([#&#8203;1712](https://github.com/StackExchange/dnscontrol/issues/1712)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`7dfd664`](https://github.com/StackExchange/dnscontrol/commit/7dfd664a946c476191581cf989c1df5f411e3773): CHORE: Decrease the dependabot docker frequency ([#&#8203;1714](https://github.com/StackExchange/dnscontrol/issues/1714)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`6eeec2f`](https://github.com/StackExchange/dnscontrol/commit/6eeec2f9999ffc6611251371d9687deb9ced1fdd): CHORE: Define Release parameters ([#&#8203;1724](https://github.com/StackExchange/dnscontrol/issues/1724)) ([@&#8203;cdhunt](https://github.com/cdhunt)) - [`30146e8`](https://github.com/StackExchange/dnscontrol/commit/30146e86421961de2c99cd0ea668e9f9547e78cc): CHORE: Update dependencies ([#&#8203;1718](https://github.com/StackExchange/dnscontrol/issues/1718)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`d907cdd`](https://github.com/StackExchange/dnscontrol/commit/d907cdd2c2501a6b1aa5fbe211c4803e1fea571c): CHORE: gofmt ([#&#8203;1727](https://github.com/StackExchange/dnscontrol/issues/1727)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) #### 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 [issues/1400](https://github.com/StackExchange/dnscontrol/issues/1400) - **Provider OCTODNS is frozen and will be removed after Nov 1, 2022.** It was written as a joke and nobody laughed. It's time to remove the code and move on. - **get-zones syntax changes in v3.16** Starting in v3.16, the command line arguments for `dnscontrol get-zones` changes. For backwards compatibility change `provider` to `-`. See documentation for details. ### [`v3.19.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.19.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.18.2...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 [@&#8203;cdhunt](https://github.com/cdhunt) and [@&#8203;cafferata](https://github.com/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`](https://github.com/StackExchange/dnscontrol/commit/09a53b4d68a242b55fba9c26cd9b3a17b27cb499): CLOUDFLAREAPI: Clarify source of error in message ([#&#8203;1700](https://github.com/StackExchange/dnscontrol/issues/1700)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`5e8bb6e`](https://github.com/StackExchange/dnscontrol/commit/5e8bb6e46157b294204d4d95c33f6035775badae): AZURE_DNS: Adopt new "armdns" SDK ([#&#8203;1701](https://github.com/StackExchange/dnscontrol/issues/1701)) ([@&#8203;vatsalyagoel](https://github.com/vatsalyagoel)) - [`f24c250`](https://github.com/StackExchange/dnscontrol/commit/f24c250c461fe071e1f618a294c75e8c40cc75d6): CLOUDFLARE: Error messages should indicate which cred entry ([#&#8203;1690](https://github.com/StackExchange/dnscontrol/issues/1690)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`83a4b6a`](https://github.com/StackExchange/dnscontrol/commit/83a4b6a2f4c092c8fce919434ff9f95d57e37f8a): Remove ACTIVEDIRECTORY_PS ([#&#8203;1680](https://github.com/StackExchange/dnscontrol/issues/1680)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) ##### Other changes and improvements: - [`2673217`](https://github.com/StackExchange/dnscontrol/commit/2673217e3cdc3cb3d02aead9003436f19365462e): Updated the Circle CI multi-arch environment variable. ([#&#8203;1686](https://github.com/StackExchange/dnscontrol/issues/1686)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`31723ad`](https://github.com/StackExchange/dnscontrol/commit/31723ad146acb1ec46b7791ddf55b9126f401af6): PERFORMANCE: Refactor auditrecords.go to loop only once [#&#8203;1570](https://github.com/StackExchange/dnscontrol/issues/1570) ([#&#8203;1658](https://github.com/StackExchange/dnscontrol/issues/1658)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`3d69495`](https://github.com/StackExchange/dnscontrol/commit/3d694956cab7e01c2aaf054f76b0bfd8e3d123d1): CHORE: Update dependencies ([#&#8203;1697](https://github.com/StackExchange/dnscontrol/issues/1697)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`443b99a`](https://github.com/StackExchange/dnscontrol/commit/443b99aa59663c0776def69af11802724f1f7dbc): CHORE: Remove duplicate ToDiff code ([#&#8203;1684](https://github.com/StackExchange/dnscontrol/issues/1684)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`55fbbf3`](https://github.com/StackExchange/dnscontrol/commit/55fbbf335572a7070565e3446ef63f3c375984ca): CHORE: Bump golang from `f8e128f` to `0eb08c8` ([#&#8203;1676](https://github.com/StackExchange/dnscontrol/issues/1676)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot]) - [`619758a`](https://github.com/StackExchange/dnscontrol/commit/619758a978aca595ab50ff8a15b949a9f5f72891): Create SECURITY.md ([#&#8203;1685](https://github.com/StackExchange/dnscontrol/issues/1685)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`9eda756`](https://github.com/StackExchange/dnscontrol/commit/9eda756a1be3e96546106bad12c489ead565eb2b): CHORE: Update AZUREDNS deps, ([#&#8203;1706](https://github.com/StackExchange/dnscontrol/issues/1706)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`b4ebe5b`](https://github.com/StackExchange/dnscontrol/commit/b4ebe5b54b2622a2e381f88417c03a3e5192d91c): maint: Update GoReleaser and CircleCI configs to publish multi-arch Docker image ([#&#8203;1682](https://github.com/StackExchange/dnscontrol/issues/1682)) ([@&#8203;cdhunt](https://github.com/cdhunt)) - [`bd04894`](https://github.com/StackExchange/dnscontrol/commit/bd048944a38f51be84153d41ed4ae75a580cc985): Make the Docker image build version DOCKER_IMAGE_VERSION aware of the configured version in main.go. ([#&#8203;1694](https://github.com/StackExchange/dnscontrol/issues/1694)) ([@&#8203;cafferata](https://github.com/cafferata)) - [`ccb582b`](https://github.com/StackExchange/dnscontrol/commit/ccb582b2781a36dcf5698c61da30ab1db2007bca): CHORE: Linting ([#&#8203;1704](https://github.com/StackExchange/dnscontrol/issues/1704)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`cd61c2c`](https://github.com/StackExchange/dnscontrol/commit/cd61c2c7666659d9f77a2e39572aaeaef4c302dc): CHORE: Remove deprecated io/ioutil ([#&#8203;1699](https://github.com/StackExchange/dnscontrol/issues/1699)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`cfc82c8`](https://github.com/StackExchange/dnscontrol/commit/cfc82c8e13c2bc4e0ff4fb75c3452dec13825018): DOCS: Update with new release process ([#&#8203;1707](https://github.com/StackExchange/dnscontrol/issues/1707)) ([@&#8203;cdhunt](https://github.com/cdhunt)) - [`e1b6b16`](https://github.com/StackExchange/dnscontrol/commit/e1b6b163d750ea19f0e349606fb079d08a083a98): DOCS: Revert jquery update to version supported by bootstrap ([#&#8203;1703](https://github.com/StackExchange/dnscontrol/issues/1703)) ([@&#8203;Firefishy](https://github.com/Firefishy)) - [`e49f743`](https://github.com/StackExchange/dnscontrol/commit/e49f743846bac5084691f111a56c0826894cd4a3): CHORE: Remove convertzone ([#&#8203;1683](https://github.com/StackExchange/dnscontrol/issues/1683)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`f3767f2`](https://github.com/StackExchange/dnscontrol/commit/f3767f2f0cddfd5241e387a9c165f65f97437a04): Announce OctoDNS decomm. ([#&#8203;1679](https://github.com/StackExchange/dnscontrol/issues/1679)) ([@&#8203;tlimoncelli](https://github.com/tlimoncelli)) - [`fd96acb`](https://github.com/StackExchange/dnscontrol/commit/fd96acbc060b3ef747ce31747d5cfffc80b79c43): Change INWX maintainer to patschi ([#&#8203;1692](https://github.com/StackExchange/dnscontrol/issues/1692)) ([@&#8203;patschi](https://github.com/patschi)) ### [`v3.18.2`](https://github.com/StackExchange/dnscontrol/compare/v3.18.1...v3.18.2) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.18.1...v3.18.2) ### [`v3.18.1`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.18.1) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.18.0...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 ([#&#8203;1671](https://github.com/StackExchange/dnscontrol/issues/1671)) - CSCGLOBAL: Improve performance by waiting less ([#&#8203;1669](https://github.com/StackExchange/dnscontrol/issues/1669)) #### Other changes and improvements: - CHORE: Bump alpine from 3.16.1 to 3.16.2 ([#&#8203;1670](https://github.com/StackExchange/dnscontrol/issues/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 https://github.com/StackExchange/dnscontrol/issues/1400 - convertzone is frozen and will be removed after June 30, 2022. The `convertzone` stand-alone program is replaced by the `get-zone` subcommand of DNSControl. It does everything `convertzone` 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 change `provider` to `-`. See documentation for details. ### [`v3.18.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.18.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.17.0...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 ([#&#8203;1625](https://github.com/StackExchange/dnscontrol/issues/1625)) (Simen Bai) #### Provider-specific changes: - CSCGLOBAL: Support TXT records that are long or include double-quotes ([#&#8203;1631](https://github.com/StackExchange/dnscontrol/issues/1631)) - DIGITALOCEAN: Bump github.com/digitalocean/godo from 1.80.0 to 1.81.0 ([#&#8203;1560](https://github.com/StackExchange/dnscontrol/issues/1560)) - DNSIMPLE: Fix TXT Handling ([#&#8203;1624](https://github.com/StackExchange/dnscontrol/issues/1624)) - DNSIMPLE: do not support unpaired double quotes in TXT ([#&#8203;1610](https://github.com/StackExchange/dnscontrol/issues/1610)) - DNSIMPLE: do not support spaces in CAA records. ([#&#8203;1606](https://github.com/StackExchange/dnscontrol/issues/1606)) - DNSIMPLE: Update dnsimple module to 0.71.1 ([#&#8203;1607](https://github.com/StackExchange/dnscontrol/issues/1607)) - DNSIMPLE: do not support DS records ([#&#8203;1608](https://github.com/StackExchange/dnscontrol/issues/1608)) - DNSIMPLE: Change code owner/maintainer ([#&#8203;1609](https://github.com/StackExchange/dnscontrol/issues/1609)) - EXOSCALE: CHORE: Update Exoscale dependency ([#&#8203;1626](https://github.com/StackExchange/dnscontrol/issues/1626)) - GANDI_V5: Improve error handling ([#&#8203;1639](https://github.com/StackExchange/dnscontrol/issues/1639)) - GCLOUD: Enable ADC for Gcloud provider ([#&#8203;1583](https://github.com/StackExchange/dnscontrol/issues/1583)) - HEXONET: CHORE: upgrade dependency go-sdk to v3.5.4 ([#&#8203;1580](https://github.com/StackExchange/dnscontrol/issues/1580)) - HETZNER: do not support spaces in CAA records ([#&#8203;1577](https://github.com/StackExchange/dnscontrol/issues/1577)) - HETZNER: Bug: Populate zone in provider may fail ([#&#8203;1642](https://github.com/StackExchange/dnscontrol/issues/1642)) - MSDNS: Add missing newline to PS warning ([#&#8203;1614](https://github.com/StackExchange/dnscontrol/issues/1614)) - NAMEDOTCOM: Better estimate TXT length restrictions ([#&#8203;1627](https://github.com/StackExchange/dnscontrol/issues/1627)) - POWERDNS: Cleanup and fix parsing of TXT records ([#&#8203;1569](https://github.com/StackExchange/dnscontrol/issues/1569)) - POWERDNS: MAINT: Restructuring of the PowerDNS DSP based on the layout of CSCGlobal ([#&#8203;1549](https://github.com/StackExchange/dnscontrol/issues/1549)) - ROUTE53: Bug: Populate zone in provider may fail ([#&#8203;1642](https://github.com/StackExchange/dnscontrol/issues/1642)) #### Other changes and improvements: - AuditRecords should report the provider name ([#&#8203;1628](https://github.com/StackExchange/dnscontrol/issues/1628)) - get-zones "js" format should generate pretty DSP variable ([#&#8203;1630](https://github.com/StackExchange/dnscontrol/issues/1630)) - Upgrade many dependencies ([#&#8203;1648](https://github.com/StackExchange/dnscontrol/issues/1648)) ([#&#8203;1591](https://github.com/StackExchange/dnscontrol/issues/1591)) ([#&#8203;1561](https://github.com/StackExchange/dnscontrol/issues/1561)) ([#&#8203;1552](https://github.com/StackExchange/dnscontrol/issues/1552)) - CHORE: Upgrade jquery 2.1.4 to 3.6.0 ([#&#8203;1637](https://github.com/StackExchange/dnscontrol/issues/1637)) - CHORE: flattener: Recompile with latest gopherjs ([#&#8203;1635](https://github.com/StackExchange/dnscontrol/issues/1635)) - CHORE: Run go fmt after build, so deps are there ([#&#8203;1557](https://github.com/StackExchange/dnscontrol/issues/1557)) - CHORE: Move IGNORE\* tests to the end ([#&#8203;1623](https://github.com/StackExchange/dnscontrol/issues/1623)) - DOCS: Add tips about TXT records ([#&#8203;1622](https://github.com/StackExchange/dnscontrol/issues/1622)) - DOCS: Use HTTPS for git endpoint for cloning ([#&#8203;1572](https://github.com/StackExchange/dnscontrol/issues/1572)) - DOCS: Add creds.json.tpl file to documentation ([#&#8203;1554](https://github.com/StackExchange/dnscontrol/issues/1554)) - MAINT: Update TXT docs, suggest not using TxtNoLen255 ([#&#8203;1548](https://github.com/StackExchange/dnscontrol/issues/1548)) - MAINT: Configure Dependabot to update Docker image ([#&#8203;1553](https://github.com/StackExchange/dnscontrol/issues/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 https://github.com/StackExchange/dnscontrol/issues/1400 - **convertzone is frozen and will be removed after June 30, 2022.** The `convertzone` stand-alone program is replaced by the `get-zone` subcommand of DNSControl. It does everything `convertzone` 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 change `provider` to `-`. See documentation for details. ### [`v3.17.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.17.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.16.2...v3.17.0) This release includes many new features and bug fixes: Some highlights: - An elusive bug in CLOUDFLAREAPI was fixed ([#&#8203;1543](https://github.com/StackExchange/dnscontrol/issues/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 like `dnscontrol 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 ([@&#8203;riyadhalnur](https://github.com/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 ([#&#8203;1516](https://github.com/StackExchange/dnscontrol/issues/1516)) (experimental) - FEATURE: --creds can refer to a command line to execute in addition to a file or script ([#&#8203;1521](https://github.com/StackExchange/dnscontrol/issues/1521)) - MAINT: New Dockerfile (fix [#&#8203;1459](https://github.com/StackExchange/dnscontrol/issues/1459)) ([#&#8203;1537](https://github.com/StackExchange/dnscontrol/issues/1537)) - GCLOUD: Welcome riyadhalnur as the new owner for GCLOUD ([#&#8203;1525](https://github.com/StackExchange/dnscontrol/issues/1525)) #### Provider-specific changes: - CLOUDFLAREAPI: Fix TXT quoting bug ([#&#8203;1538](https://github.com/StackExchange/dnscontrol/issues/1538)) ([#&#8203;1543](https://github.com/StackExchange/dnscontrol/issues/1543)) - GANDI: DOCS: Document sharing_id errors ([#&#8203;1542](https://github.com/StackExchange/dnscontrol/issues/1542)) - CSCGLOBAL: Enable CAA records ([#&#8203;1536](https://github.com/StackExchange/dnscontrol/issues/1536)) - VULTR: Enable long TXT ([#&#8203;1518](https://github.com/StackExchange/dnscontrol/issues/1518)) #### Other changes and improvements: - MAINT: Unify provider outputs to pkg/printer ([#&#8203;1546](https://github.com/StackExchange/dnscontrol/issues/1546)) - MAINT: Enforcing formatted code ([#&#8203;1544](https://github.com/StackExchange/dnscontrol/issues/1544)) - MAINT: Put some target-related warnings behind a flag ([#&#8203;1541](https://github.com/StackExchange/dnscontrol/issues/1541)) - CLOUDFLAREAPI: FIX: Preventing segfault when Cloudflare API limit is reached ([#&#8203;1530](https://github.com/StackExchange/dnscontrol/issues/1530)) - NEW FEATURE: Add deprecation notice to create-domains command ([#&#8203;1529](https://github.com/StackExchange/dnscontrol/issues/1529)) - CHORE: update provider maintainer message ([#&#8203;1526](https://github.com/StackExchange/dnscontrol/issues/1526)) - MAINT: docker: Add CA certificates to Docker image ([#&#8203;1523](https://github.com/StackExchange/dnscontrol/issues/1523)) - MAINT: Bump github.com/tdewolff/minify/v2 from 2.11.5 to 2.11.7 ([#&#8203;1520](https://github.com/StackExchange/dnscontrol/issues/1520)) - SOFTLAYER: Bump github.com/softlayer/softlayer-go from 1.0.4 to 1.0.5 ([#&#8203;1519](https://github.com/StackExchange/dnscontrol/issues/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 https://github.com/StackExchange/dnscontrol/issues/1400 - **convertzone is frozen and will be removed after June 30, 2022.** The `convertzone` stand-alone program is replaced by the `get-zone` subcommand of DNSControl. It does everything `convertzone` 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 change `provider` to `-`. See documentation for details. ### [`v3.16.2`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.16.2) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.16.1...v3.16.2) This release fixes another bug (https://github.com/StackExchange/dnscontrol/issues/1507#issuecomment-1140176866) in the `dnscontrol check` subcommand related to the https://github.com/StackExchange/dnscontrol/issues/1457 proposal. Thanks to [@&#8203;riku22](https://github.com/riku22) for reporting the bug! #### Breaking changes: - none #### Major features: - none #### Provider-specific changes: - none #### Other changes and improvements: - Fix https://github.com/StackExchange/dnscontrol/issues/1507#issuecomment-1140176866 BUG: With TYPE in creds.json, CAA compatibility check breaks ([#&#8203;1514](https://github.com/StackExchange/dnscontrol/issues/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 https://github.com/StackExchange/dnscontrol/issues/1400 - **convertzone is frozen and will be removed after June 30, 2022.** The `convertzone` stand-alone program is replaced by the `get-zone` subcommand of DNSControl. It does everything `convertzone` 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 change `provider` to `-`. See documentation for details. ### [`v3.16.1`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.16.1) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.16.0...v3.16.1) This release fixes one minor bug in the `dnscontrol check` subcommand related to the https://github.com/StackExchange/dnscontrol/issues/1457 proposal. Also many dependencies are upgraded. #### Breaking changes: - none #### Major features: - none #### Provider-specific changes: - none #### Other changes and improvements: - Fix [#&#8203;1507](https://github.com/StackExchange/dnscontrol/issues/1507): Skip AuditRecords when running dnscontrol check ([#&#8203;1508](https://github.com/StackExchange/dnscontrol/issues/1508)) #### 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 https://github.com/StackExchange/dnscontrol/issues/1400 - **convertzone is frozen and will be removed after June 30, 2022.** The `convertzone` stand-alone program is replaced by the `get-zone` subcommand of DNSControl. It does everything `convertzone` 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 change `provider` to `-`. See documentation for details. ### [`v3.16.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.16.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.15.0...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](https://github.com/StackExchange/dnscontrol/issues/1457) 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 [@&#8203;tresni](https://github.com/tresni) for stepping up and volunteering to maintain CLOUDFLAREAPI and ROUTE53! #### Breaking changes: - none intended (See above) #### Major features: - NEW PROVIDER: AutoDNS ([#&#8203;1336](https://github.com/StackExchange/dnscontrol/issues/1336)) (Thanks, [@&#8203;arnoschoon](https://github.com/arnoschoon)!) - NEW FEATURE: Emit warning in case of label having multiple TTLs ([#&#8203;1489](https://github.com/StackExchange/dnscontrol/issues/1489)) - NEW FEATURE: Provider TYPE is moving from dnsconfig.js to creds.json ([#&#8203;1500](https://github.com/StackExchange/dnscontrol/issues/1500)) ([#&#8203;1499](https://github.com/StackExchange/dnscontrol/issues/1499)) - BUG FIX: creds.json should not be executable under Windows ([#&#8203;1456](https://github.com/StackExchange/dnscontrol/issues/1456)) - Welcome maintainers for CLOUDFLAREAPI, ROUTE53 #### Provider-specific changes: - AUTODNS: Fix autodns documentation example javascript. ([#&#8203;1470](https://github.com/StackExchange/dnscontrol/issues/1470)) - CLOUDFLARE: Add support for PTR records ([#&#8203;1496](https://github.com/StackExchange/dnscontrol/issues/1496)) - CLOUDNS: Fix creation of intra-zone NS records (see [#&#8203;1263](https://github.com/StackExchange/dnscontrol/issues/1263)) ([#&#8203;1469](https://github.com/StackExchange/dnscontrol/issues/1469)) - DNSIMPLE: bug-fix, allow non-apex NS records ([#&#8203;1468](https://github.com/StackExchange/dnscontrol/issues/1468)) - DOH: Clarify DOH does not reference whois data ([#&#8203;1413](https://github.com/StackExchange/dnscontrol/issues/1413)) - GANDI_V5: Fix DS test / Eliminate SHA1 use in DS_Child tests ([#&#8203;1502](https://github.com/StackExchange/dnscontrol/issues/1502)) - HEXONET: Fix error format string ([#&#8203;1462](https://github.com/StackExchange/dnscontrol/issues/1462)) - HEXONET: Adapt to new OTE endpoint ([#&#8203;1463](https://github.com/StackExchange/dnscontrol/issues/1463)) - LINODE: Add support for CAA records and implement get-zones ([#&#8203;1454](https://github.com/StackExchange/dnscontrol/issues/1454)) - LINODE: Skip CAA flag test ([#&#8203;1455](https://github.com/StackExchange/dnscontrol/issues/1455)) - NETCUP: Autosplit long TXT records ([#&#8203;1481](https://github.com/StackExchange/dnscontrol/issues/1481)) - NS1: enable autoDNSSEC capability ([#&#8203;1450](https://github.com/StackExchange/dnscontrol/issues/1450)) #### Other changes and improvements: - Refactor: Rewrite GetDNSConfig ([#&#8203;1466](https://github.com/StackExchange/dnscontrol/issues/1466)) - Refactor: Rename providers/config to pkg/credsfile ([#&#8203;1494](https://github.com/StackExchange/dnscontrol/issues/1494)) - Refactor: Move creds.json processing out of InitializeProviders ([#&#8203;1495](https://github.com/StackExchange/dnscontrol/issues/1495)) - Cleanup: Eliminate models.StringsToNameservers() ([#&#8203;1486](https://github.com/StackExchange/dnscontrol/issues/1486)) - Cleanup: Make skip_fqdn_check error message easier to understand and fix ([#&#8203;1477](https://github.com/StackExchange/dnscontrol/issues/1477)) - DOCS: Update maintainers for Route53 and Cloudflare ([#&#8203;1501](https://github.com/StackExchange/dnscontrol/issues/1501)) - TESTING: pkg/js/parse_tests: fix a broken test ([#&#8203;1498](https://github.com/StackExchange/dnscontrol/issues/1498)) - DOCS: fix a forgotten "VOLUNTEER NEEDED" ([#&#8203;1488](https://github.com/StackExchange/dnscontrol/issues/1488)) - Cleanup: Guard against nil ([#&#8203;1452](https://github.com/StackExchange/dnscontrol/issues/1452)) - MAINT: Minimum go version is now 1.18 ([#&#8203;1464](https://github.com/StackExchange/dnscontrol/issues/1464)) - TESTING: "DUPLICATE E_RECORD" no longer a hard error ([#&#8203;1465](https://github.com/StackExchange/dnscontrol/issues/1465)) - Update dependencies ([#&#8203;1490](https://github.com/StackExchange/dnscontrol/issues/1490)) ([#&#8203;1478](https://github.com/StackExchange/dnscontrol/issues/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 https://github.com/StackExchange/dnscontrol/issues/1400 - **convertzone is frozen and will be removed after June 30, 2022.** The `convertzone` stand-alone program is replaced by the `get-zone` subcommand of DNSControl. It does everything `convertzone` 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 change `provider` to `-`. See documentation for details. ### [`v3.15.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.15.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.14.0...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 [@&#8203;costasd](https://github.com/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) ([#&#8203;1421](https://github.com/StackExchange/dnscontrol/issues/1421)) #### Provider-specific changes: - AZURE_DNS: GetZones error should report subscription id ([#&#8203;1415](https://github.com/StackExchange/dnscontrol/issues/1415)) - BIND: Bug: DefaultNS strips last char ([#&#8203;1411](https://github.com/StackExchange/dnscontrol/issues/1411)) - BIND: Fix test that fails on second run ([#&#8203;1434](https://github.com/StackExchange/dnscontrol/issues/1434)) - CLOUDFLARE: Bug: crash when SRV is missing target ([#&#8203;1437](https://github.com/StackExchange/dnscontrol/issues/1437)) - EASYNAME: Source filename should conform to standard ([#&#8203;1422](https://github.com/StackExchange/dnscontrol/issues/1422)) - GCLOUD: Stop using deprecated New() call ([#&#8203;1409](https://github.com/StackExchange/dnscontrol/issues/1409)) - HOSTINGDE: Customizing nameservers for hosting.de provider ([#&#8203;1396](https://github.com/StackExchange/dnscontrol/issues/1396)) - NS1: Enable DS & DSForChildren support ([#&#8203;1446](https://github.com/StackExchange/dnscontrol/issues/1446)) - NS1: add support for TLSA and NAPTR ([#&#8203;1405](https://github.com/StackExchange/dnscontrol/issues/1405)) - NS1: fix multivalue CAA handling ([#&#8203;1404](https://github.com/StackExchange/dnscontrol/issues/1404)) - NS1: ignore DNSKEY & RRSIG entries ([#&#8203;1443](https://github.com/StackExchange/dnscontrol/issues/1443)) - NS1: new maintainer for ns1 ([#&#8203;1403](https://github.com/StackExchange/dnscontrol/issues/1403)) - POWERDNS: Add support for DS records ([#&#8203;1414](https://github.com/StackExchange/dnscontrol/issues/1414)) - ROUTE53: Fix shortname bug for get-zones ([#&#8203;1418](https://github.com/StackExchange/dnscontrol/issues/1418)) #### Other changes and improvements: - DOCS: Fix examples in documentation ([#&#8203;1435](https://github.com/StackExchange/dnscontrol/issues/1435)) - DOCS: Replace Jekyll highlight tags with fenced code blocks ([#&#8203;1412](https://github.com/StackExchange/dnscontrol/issues/1412)) - DOCS: Update README with GHA and LE news ([#&#8203;1428](https://github.com/StackExchange/dnscontrol/issues/1428)) - DOCS: fix typo ([#&#8203;1419](https://github.com/StackExchange/dnscontrol/issues/1419)) - MAINT: Make staticcheck more strict and fix new warnings ([#&#8203;1408](https://github.com/StackExchange/dnscontrol/issues/1408)) - MAINT: Sort various lists ([#&#8203;1433](https://github.com/StackExchange/dnscontrol/issues/1433)) - MAINT: Update dependencies GANDIV5, CLOUDFLAREAPI([#&#8203;1439](https://github.com/StackExchange/dnscontrol/issues/1439)) ([#&#8203;1438](https://github.com/StackExchange/dnscontrol/issues/1438)) ([#&#8203;1431](https://github.com/StackExchange/dnscontrol/issues/1431)) ([#&#8203;1432](https://github.com/StackExchange/dnscontrol/issues/1432)) ([#&#8203;1429](https://github.com/StackExchange/dnscontrol/issues/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 https://github.com/StackExchange/dnscontrol/issues/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. ### [`v3.14.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.14.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.13.1...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: - NEW PROVIDER: Packetframe ([#&#8203;1347](https://github.com/StackExchange/dnscontrol/issues/1347)) - NS1: Enable get-zones ([#&#8203;1373](https://github.com/StackExchange/dnscontrol/issues/1373)) #### Provider-specific changes: - AKAMAIEDGEDNS: fix staticcheck warnings/errors ([#&#8203;1346](https://github.com/StackExchange/dnscontrol/issues/1346)) - CLOUDFLARE: Clarify universal SSL docs ([#&#8203;1358](https://github.com/StackExchange/dnscontrol/issues/1358)) - CLOUDFLARE: fix CloudFlare documentation for CF_WORKER_ROUTE ([#&#8203;1351](https://github.com/StackExchange/dnscontrol/issues/1351)) - CLOUDNS: Fix name server updates [#&#8203;1263](https://github.com/StackExchange/dnscontrol/issues/1263) ([#&#8203;1303](https://github.com/StackExchange/dnscontrol/issues/1303)) - HETZNER: handle a 404 from listing zones gracefully ([#&#8203;1371](https://github.com/StackExchange/dnscontrol/issues/1371)) - HEXONET: Changing test domain - NAMEDOTCOM: Increase timeout ([#&#8203;1382](https://github.com/StackExchange/dnscontrol/issues/1382)) - NS1: Enable get-zones ([#&#8203;1373](https://github.com/StackExchange/dnscontrol/issues/1373)) - NS1: Rename ns1provider.go to ns1Provider.go ([#&#8203;1350](https://github.com/StackExchange/dnscontrol/issues/1350)) - ORACLE: fix nameserver trailing dot issue, and resolve staticcheck warnings ([#&#8203;1341](https://github.com/StackExchange/dnscontrol/issues/1341)) - OVH: Fix [#&#8203;1338](https://github.com/StackExchange/dnscontrol/issues/1338) - OVH provider should work when domain is not registered ([#&#8203;1340](https://github.com/StackExchange/dnscontrol/issues/1340)) - TRANSIP: Bump github.com/transip/gotransip/v6 from 6.11.0 to 6.14.0 ([#&#8203;1392](https://github.com/StackExchange/dnscontrol/issues/1392)) #### Other changes and improvements: - DOCS: Clarify docker command for docs. ([#&#8203;1398](https://github.com/StackExchange/dnscontrol/issues/1398)) ([#&#8203;1397](https://github.com/StackExchange/dnscontrol/issues/1397)) - DOCS: Add DOH example ([#&#8203;1393](https://github.com/StackExchange/dnscontrol/issues/1393)) - DOCS: Fix formatting/rewrite docs/nameservers.md ([#&#8203;1391](https://github.com/StackExchange/dnscontrol/issues/1391)) - DOCS: Clarify nameserver examples ([#&#8203;1390](https://github.com/StackExchange/dnscontrol/issues/1390)) - MAINT: Update dependencies ([#&#8203;1388](https://github.com/StackExchange/dnscontrol/issues/1388)) - MAINT: Update dependencies - MAINT: Linting ([#&#8203;1380](https://github.com/StackExchange/dnscontrol/issues/1380)) - MAINT: Fix many golint/staticcheck issues - MAINT: Fix comment ([#&#8203;1379](https://github.com/StackExchange/dnscontrol/issues/1379)) - BUGFIX: CAA records may include quoted spaces [#&#8203;1374](https://github.com/StackExchange/dnscontrol/issues/1374) ([#&#8203;1377](https://github.com/StackExchange/dnscontrol/issues/1377)) - DOCS: Improve docs/writing-providers.md wrt registrars and testing ([#&#8203;1366](https://github.com/StackExchange/dnscontrol/issues/1366)) - DOCS: Clarify responsibilities of maintainers ([#&#8203;1364](https://github.com/StackExchange/dnscontrol/issues/1364)) - BUG: Support RFC2317 by allowing slash in CNAME target ([#&#8203;1360](https://github.com/StackExchange/dnscontrol/issues/1360)) - MAINT: Update dependencies ([#&#8203;1361](https://github.com/StackExchange/dnscontrol/issues/1361)) - CLEANUP: Skip DualProvider tests if Cannot(DocDualHost) ([#&#8203;1345](https://github.com/StackExchange/dnscontrol/issues/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 https://github.com/StackExchange/dnscontrol/issues/1400 ### [`v3.13.1`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.13.1) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.13.0...v3.13.1) #### What's Changed - DNSMADEEASY: Fix staticcheck errors by [@&#8203;vojtad](https://github.com/vojtad) in https://github.com/StackExchange/dnscontrol/pull/1316 - ROUTE53: Adopt aws-sdk-go-v2 by [@&#8203;jtdoepke](https://github.com/jtdoepke) in https://github.com/StackExchange/dnscontrol/pull/1321 - Upgrade dependencies by [@&#8203;tlimoncelli](https://github.com/tlimoncelli) in https://github.com/StackExchange/dnscontrol/pull/1324 - DIGITALOCEAN: Upgrade to godo 1.73.0 by [@&#8203;tlimoncelli](https://github.com/tlimoncelli) in https://github.com/StackExchange/dnscontrol/pull/1325 - DNSMADEEASY: always override NS records TTL to be 86400 by [@&#8203;vojtad](https://github.com/vojtad) in https://github.com/StackExchange/dnscontrol/pull/1317 - fix issues found by staticcheck by [@&#8203;blackshadev](https://github.com/blackshadev) in https://github.com/StackExchange/dnscontrol/pull/1337 - Fix simple staticcheck items by [@&#8203;tlimoncelli](https://github.com/tlimoncelli) in https://github.com/StackExchange/dnscontrol/pull/1329 - DOCS: Improve cli-variables.md by [@&#8203;tlimoncelli](https://github.com/tlimoncelli) in https://github.com/StackExchange/dnscontrol/pull/1328 - Migrate Build and Integration Tests to CircleCI by [@&#8203;cdhunt](https://github.com/cdhunt) in https://github.com/StackExchange/dnscontrol/pull/1292 #### New Contributors - [@&#8203;jtdoepke](https://github.com/jtdoepke) made their first contribution in https://github.com/StackExchange/dnscontrol/pull/1321 **Full Changelog**: https://github.com/StackExchange/dnscontrol/commits/v3.13.1 ### [`v3.13.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.13.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.12.0...v3.13.0) This release includes many small bugfixes, Cloudflare Worker Routes are now managed, plus one new registrar: EASYNAME. Breaking changes: - n/a Major features: - NEW PROVIDER: EASYNAME ([#&#8203;1277](https://github.com/StackExchange/dnscontrol/issues/1277)) - Add support for Cloudflare "workers routes" ([#&#8203;1243](https://github.com/StackExchange/dnscontrol/issues/1243)) - Fix bug that can occur when updating DNS resource records (GANDI_V5 and DESEC) ([#&#8203;1296](https://github.com/StackExchange/dnscontrol/issues/1296)) Provider-specific changes: - CLOUDFLAREAPI: Fix bug with long TXT records (SplitSingleLongTxt is not needed) ([#&#8203;1265](https://github.com/StackExchange/dnscontrol/issues/1265)) - CLOUDFLAREAPI: Stop requiring accountname ([#&#8203;1280](https://github.com/StackExchange/dnscontrol/issues/1280)) - CLOUDFLAREAPI: Use cloudflare-go ([#&#8203;1267](https://github.com/StackExchange/dnscontrol/issues/1267)) - CLOUDFLAREAPI: Adds CF_WORKER_ROUTE ([#&#8203;1243](https://github.com/StackExchange/dnscontrol/issues/1243)) - CLOUDNS: Permit TXT records that are any length, but not multiple strings. - GANDI_V5 , DESEC: correctly handle multiple RR in a RRset ([#&#8203;1296](https://github.com/StackExchange/dnscontrol/issues/1296)) - HEXONET: Support long TXT records and fix whitespace bug ([#&#8203;1283](https://github.com/StackExchange/dnscontrol/issues/1283)) - ORACLE: Fix training dot on nameserver updates - OVH: Improve TXT with long strings. Other changes and improvements: - Improve support for IDN domains - BUILD: Implement job concurrency on build ([#&#8203;1281](https://github.com/StackExchange/dnscontrol/issues/1281)) - DOCS: add clarity around named profiles ([#&#8203;1262](https://github.com/StackExchange/dnscontrol/issues/1262)) - DOCS: improve releng docs ([#&#8203;1253](https://github.com/StackExchange/dnscontrol/issues/1253)) - Upgrade otto to [`2021092`](https://github.com/StackExchange/dnscontrol/commit/20210927222213) ([#&#8203;1279](https://github.com/StackExchange/dnscontrol/issues/1279)) - Update deps ([#&#8203;1301](https://github.com/StackExchange/dnscontrol/issues/1301)) ### [`v3.12.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.12.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.11.0...v3.12.0) This release includes many features and improvements including new macros for delegating domains elsewhere, more conformant DMARC_BUILDER, the ability to INCLUDE a domain's records in another domain, and SPF-Flatten on non-apex domains. Route53 users can now specify a R53\_ZONE on a domain or record, VULTR users now have better TXT quoting support. And as always, dependencies have been updated. Breaking changes: - none Major features: - NEW MACROS: DOMAIN_ELSEWHERE and DOMAIN_ELSEWHERE_AUTO ([#&#8203;1237](https://github.com/StackExchange/dnscontrol/issues/1237)) - DMARC_BUILDER: specify version, use values when specified ([#&#8203;1236](https://github.com/StackExchange/dnscontrol/issues/1236)) - NEW FEATURE: Add INCLUDE statement to include records from other domains ([#&#8203;1219](https://github.com/StackExchange/dnscontrol/issues/1219)) - SPF Flatten now works on non apex domains ([#&#8203;1220](https://github.com/StackExchange/dnscontrol/issues/1220)) Provider-specific changes: - ROUTE53: Add R53\_ZONE as an domain identifier ([#&#8203;1241](https://github.com/StackExchange/dnscontrol/issues/1241)) - INWX: fix apex domains ([#&#8203;1221](https://github.com/StackExchange/dnscontrol/issues/1221)) ([#&#8203;1242](https://github.com/StackExchange/dnscontrol/issues/1242)) - VULTR: Fix TXT quoting issue ([#&#8203;1239](https://github.com/StackExchange/dnscontrol/issues/1239)) Other changes and improvements: - Document how to ignore the NS records of a domain ([#&#8203;1234](https://github.com/StackExchange/dnscontrol/issues/1234)) - Update dependencie - Improve release eng doc ([#&#8203;1216](https://github.com/StackExchange/dnscontrol/issues/1216)) ### [`v3.11.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.11.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.10.1...v3.11.0) This release includes a new provider (TRANSIP), improvements to the deSEC provider for users with more than 500 domains, and the get-zones command now works for NAMECHEAP. We've also started using CodeQL for code analysis of JS files and fixed some bugs. Breaking changes: - none Major features: - NEW PROVIDER: TRANSIP ([#&#8203;1196](https://github.com/StackExchange/dnscontrol/issues/1196)) Provider-specific changes: - DESEC Permit large numbers of domains (implement pagination) ([#&#8203;1208](https://github.com/StackExchange/dnscontrol/issues/1208)) - DESEC: Implements support for long / multistring txt records ([#&#8203;1204](https://github.com/StackExchange/dnscontrol/issues/1204)) - NAMECHEAP: Add get zone functionality ([#&#8203;1207](https://github.com/StackExchange/dnscontrol/issues/1207)) Other changes and improvements: - Re-enable CodeQL for Javascript ([#&#8203;1209](https://github.com/StackExchange/dnscontrol/issues/1209)) - Bump github.com/aws/aws-sdk-go from 1.38.70 to 1.39.1 ([#&#8203;1203](https://github.com/StackExchange/dnscontrol/issues/1203)) - MAINTENANCE: Less frequently Dependabot runs ([#&#8203;1202](https://github.com/StackExchange/dnscontrol/issues/1202)) - MAINTENANCE: Return error instead of panic when converting RR to RC ([#&#8203;1199](https://github.com/StackExchange/dnscontrol/issues/1199)) ### [`v3.10.1`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.10.1) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.10.0...v3.10.1) This release simply fixes the version string (3.10.0 was reporting 3.9.0... ooops!) and updates some dependencies. We also update the release engineering docs to catch this typo from happening again. - Version string is incorrect. - Update release engineering doc to verify version string. - Disable codeql for javascript ([#&#8203;1189](https://github.com/StackExchange/dnscontrol/issues/1189)) - EXOSCALE: update client lib to v0.59.0 ([#&#8203;1183](https://github.com/StackExchange/dnscontrol/issues/1183)) ### [`v3.10.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.10.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.9.0...v3.10.0) This release includes 1 new provider (Akamai Edge DNS), many bug fixes, and reliability improvements including MSDNS stability fixes. Thanks to all the volunteers that submitted code! Breaking changes: - A minor change to SOA records should not cause any breakage but if you use the SOA() function please be on the look-out for problems. Major features: - NEW PROVIDER: AkamaiEdgeDNS ([#&#8203;1174](https://github.com/StackExchange/dnscontrol/issues/1174)) Provider-specific changes: - AXFRDDNS: Fix advertisement of Get-Zones capability ([#&#8203;1161](https://github.com/StackExchange/dnscontrol/issues/1161)) - CLOUDNS: Provider does not support changing the NAPTR in the API. ([#&#8203;1159](https://github.com/StackExchange/dnscontrol/issues/1159)) - CLOUDNS: Update setup docs ([#&#8203;1158](https://github.com/StackExchange/dnscontrol/issues/1158)) - DESEC: Clarify supported capabilities ([#&#8203;1160](https://github.com/StackExchange/dnscontrol/issues/1160)) - DNSMADEEASY: Correct hard coded system nameserver TTL ([#&#8203;1167](https://github.com/StackExchange/dnscontrol/issues/1167)) - DNSMADEEASY: Show actual URL to use instead of just "sandbox" ([#&#8203;1166](https://github.com/StackExchange/dnscontrol/issues/1166)) - MSDNS: Add NAPTR support ([#&#8203;1165](https://github.com/StackExchange/dnscontrol/issues/1165)) - MSDNS: Improve reliability of zone dump - NS1: Implement EnsureDomainExists ([#&#8203;1157](https://github.com/StackExchange/dnscontrol/issues/1157)) Other changes and improvements: - MAINT: Fix issues reported by CodeQL ([#&#8203;1173](https://github.com/StackExchange/dnscontrol/issues/1173)) - MAINT: Add RPM/DEB license, url, and description ([#&#8203;1170](https://github.com/StackExchange/dnscontrol/issues/1170)) - MAINT: Adopt go 1.16's embed feature ([#&#8203;1162](https://github.com/StackExchange/dnscontrol/issues/1162)) - MAINT: upgrade dependencies - DOCS: SOA docs should cite BIND doc ### [`v3.9.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.9.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.8.1...v3.9.0) This release includes many small improvements and a long-awaited change to SOA handling. SOA records can now be inserted using the SOA() function (mostly affects BIND, as most providers auto-generate SOA records). CAA now works for NS1; ALIAS records now work for NS1 and NAMECHEAP. AXFRDDNS now lets you select connection protocol. POWERDNS more correctly handles complex updates. MSDNS now supports PSSession and alternative credentials. Thanks to all the people that submitted PRs! This is truly a community-driven release! Breaking changes: - SOA record handling: All changes are upward compatible but if you use BIND and manipulate SOA records some extra testing is recommended. Major features: - Direct SOA record management ([#&#8203;1115](https://github.com/StackExchange/dnscontrol/issues/1115)) Provider-specific changes: - NS1: Enable support for CAA ([#&#8203;1150](https://github.com/StackExchange/dnscontrol/issues/1150)) - NS1: fix ALIAS handling ([#&#8203;1154](https://github.com/StackExchange/dnscontrol/issues/1154)) - POWERDNS: fix order problems of delete corrections & some cleanup ([#&#8203;1153](https://github.com/StackExchange/dnscontrol/issues/1153)) - NAMECHEAP: Enable ALIAS support ([#&#8203;1149](https://github.com/StackExchange/dnscontrol/issues/1149)) - AXFRDDNS: adds update/transfer connection modes support ([#&#8203;1143](https://github.com/StackExchange/dnscontrol/issues/1143)) - MSDNS Fix pssession; Allow alternative credentials ([#&#8203;1140](https://github.com/StackExchange/dnscontrol/issues/1140)) Other changes and improvements: - DOCS: Fix typo: will will -> will ([#&#8203;1152](https://github.com/StackExchange/dnscontrol/issues/1152)) - DEV: Add integration test for SOA ([#&#8203;1147](https://github.com/StackExchange/dnscontrol/issues/1147)) - DEV: Speed up integration tests ([#&#8203;1138](https://github.com/StackExchange/dnscontrol/issues/1138)) - DEV: Update deps ([#&#8203;1141](https://github.com/StackExchange/dnscontrol/issues/1141)) ### [`v3.8.1`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.8.1) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.8.0...v3.8.1) This release includes many bug fixes and one new feature. The new feature is that instead of reading `creds.json`, that information can be determined by running a program instead. Simply make the file executable (`chmod +x credinfo.sh`) or precede it with a "!", such as `--creds '!/path/to/credinfo.sh'` Breaking changes: - On non-Windows systems, the creds.json file should not have the executable bit set. Major features: - IGNORE_NAME: Should work at domain apex (bugfix) ([#&#8203;1118](https://github.com/StackExchange/dnscontrol/issues/1118)) - creds.json info can come from an executable ([#&#8203;1119](https://github.com/StackExchange/dnscontrol/issues/1119)) Provider-specific changes: - BIND: Improve SOA documentation ([#&#8203;1132](https://github.com/StackExchange/dnscontrol/issues/1132)) - GANDI_V5: Add "get-zones" support ([#&#8203;1117](https://github.com/StackExchange/dnscontrol/issues/1117)) - GANDI_V5: supports DS records already ([#&#8203;1112](https://github.com/StackExchange/dnscontrol/issues/1112)) - HEXONET: introducing semver to HEXONET provider ([#&#8203;1120](https://github.com/StackExchange/dnscontrol/issues/1120)) - OVH: Add "get-zones" support ([#&#8203;1117](https://github.com/StackExchange/dnscontrol/issues/1117)) - ROUTE53: Docs should specify FQDN with dot. ([#&#8203;1130](https://github.com/StackExchange/dnscontrol/issues/1130)) Other changes and improvements: - TESTING: Improve DS comments ([#&#8203;1134](https://github.com/StackExchange/dnscontrol/issues/1134)) - Maint: DS record tests should use more realistic data ([#&#8203;1127](https://github.com/StackExchange/dnscontrol/issues/1127)) - DOCS: Document how to preview website ([#&#8203;1133](https://github.com/StackExchange/dnscontrol/issues/1133)) - Fix doc error ([#&#8203;1113](https://github.com/StackExchange/dnscontrol/issues/1113)) ### [`v3.8.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.8.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.7.0...v3.8.0) This release is packed with new features and improvements! - Two new providers! (DNS Made Easy and hosting.de) - A new experimental formatter for "dnsconfig.js" (`dnscontrol fmt`) - An easier way to build DMARC records (DMARC_BUILDER()) - Sadly, the SOFTLAYER is now unmaintained. We need a volunteer. See [#&#8203;1080](https://github.com/StackExchange/dnscontrol/issues/1080) Some internals improvements will help future provider-authors: - TXT records has been completely rewritten to enable providers to indicate all their edge cases, such as not permitting long strings, or not permitting double-quotes in strings. This should make long and/or strange TXT records easier to handle in the future. The code is cleaner and more simple. Plus, it is general and supports all DNS records, not just TXT. - The "target" field is no longer exported. This completes a change that started many months ago to require Getters and Setters for the RecordConfig.Target field. This makes providers less brittle and prepares us for using Go's future Generics. Thanks to all the provider authors who helped test this new feature. BREAKING CHANGES: - DESEC: Long txt records may break, especially if the string includes double quotes. If you use DeSEC you may want to skip this release. See https://github.com/StackExchange/dnscontrol/issues/996 Thanks to the multitudes for contributing to this release! *** Major features: - Re-engineer TXT records for simplicity and better compliance ([#&#8203;1063](https://github.com/StackExchange/dnscontrol/issues/1063)) - New Feature: JS formatter and prettifier ([#&#8203;917](https://github.com/StackExchange/dnscontrol/issues/917)) FYI: This is an experimental feature. It depends on an external module that may not be supported in the long term. - NEW PROVIDER: DNS Made Easy ([#&#8203;1093](https://github.com/StackExchange/dnscontrol/issues/1093)) - NEW PROVIDER: hosting.de ([#&#8203;1041](https://github.com/StackExchange/dnscontrol/issues/1041)) - NEW MACRO: DMARC_BUILDER ([#&#8203;1047](https://github.com/StackExchange/dnscontrol/issues/1047)) - SOFTLAYER: Mark provider as unmaintained ([#&#8203;1080](https://github.com/StackExchange/dnscontrol/issues/1080)) Provider-specific changes: - HEXONET: AuditRecord should permit TXT with long strings ([#&#8203;1107](https://github.com/StackExchange/dnscontrol/issues/1107)) - CLOUDNS: Improve automated testing ([#&#8203;1103](https://github.com/StackExchange/dnscontrol/issues/1103)) - CLOUDNS: Fetch permitted TTL values from API [#&#8203;1078](https://github.com/StackExchange/dnscontrol/issues/1078) ([#&#8203;1102](https://github.com/StackExchange/dnscontrol/issues/1102)) - CLOUDNS. Enable SRV and PTR records ([#&#8203;1101](https://github.com/StackExchange/dnscontrol/issues/1101)) - CLOUDNS: ClouDNS does NOT allow multiple TXT records with same name ([#&#8203;1098](https://github.com/StackExchange/dnscontrol/issues/1098)) - CLOUDNS: Note that TXT records do not permit double-quotes. Fix typo ([#&#8203;1094](https://github.com/StackExchange/dnscontrol/issues/1094)) - POWERDNS: allow alias-records to be parsed ([#&#8203;1096](https://github.com/StackExchange/dnscontrol/issues/1096)) - HEDNS: Fix issue with domain listing on completely empty accounts - ROUTE53: Disable failing tests - CLOUDFLAREAPI: Extend timeout for CLOUDFLAREAPI - HEDNS: Enable automatic integration testing ([#&#8203;1068](https://github.com/StackExchange/dnscontrol/issues/1068)) - HEDNS: Fix CNAME, NS and PTR record handling of trailing . ([#&#8203;1064](https://github.com/StackExchange/dnscontrol/issues/1064)) - POWERDNS: Some minor fixes for ALIAS and TXTMulti and integration testing ([#&#8203;1065](https://github.com/StackExchange/dnscontrol/issues/1065)) Other changes and improvements: - "Target" RecordConfig should not be exported ([#&#8203;1061](https://github.com/StackExchange/dnscontrol/issues/1061)) - IGNORE_\*: Warn about fragility ([#&#8203;1108](https://github.com/StackExchange/dnscontrol/issues/1108)) - DKIM is a no-op now ([#&#8203;1084](https://github.com/StackExchange/dnscontrol/issues/1084)) - Update dependencies ([#&#8203;1110](https://github.com/StackExchange/dnscontrol/issues/1110)) ([#&#8203;1100](https://github.com/StackExchange/dnscontrol/issues/1100)) - Developer: Github Actions should use cache steps ([#&#8203;1097](https://github.com/StackExchange/dnscontrol/issues/1097)) - Linting ([#&#8203;1087](https://github.com/StackExchange/dnscontrol/issues/1087)) - DOCS: Clarify that create-domains does not purchase them ([#&#8203;1086](https://github.com/StackExchange/dnscontrol/issues/1086)) - Make GCLOUD and GANDI_V5 module names consistent ([#&#8203;1060](https://github.com/StackExchange/dnscontrol/issues/1060)) ([#&#8203;1059](https://github.com/StackExchange/dnscontrol/issues/1059)) - BUG: D_EXTEND should not apply DEFAULTS{} ([#&#8203;1055](https://github.com/StackExchange/dnscontrol/issues/1055)) ### [`v3.7.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.7.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.6.0...v3.7.0) This release introduces a major new feature: support for split horizons! The beta users give it two thumbs up, but as with any new feature please adopt it with care. Also in this release are new features for NS1, ClouDNS, and some code cleanups and bug fixes. Split horizon DNS support introduces a new name scheme for domains: "domain!horizon", where "horizon" differentiates between multiple instances of the same domain. Define D("example.com!inside") and D("example.com!outside"), for example. The two "example.com" domains are unrelated and must be populated individually. Breaking changes: - none Major features: - NEW FEATURE: Support Split Horizon DNS ([#&#8203;1034](https://github.com/StackExchange/dnscontrol/issues/1034)) Provider-specific changes: - NS1: Support NS1\_URLFWD ([#&#8203;1046](https://github.com/StackExchange/dnscontrol/issues/1046)) - CLOUDNS: Implement AUTOSPLIT ([#&#8203;1035](https://github.com/StackExchange/dnscontrol/issues/1035)) - BIND: Specify zone filenames using a printf-like specification ([#&#8203;1034](https://github.com/StackExchange/dnscontrol/issues/1034)) Other changes and improvements: - BUG: Labels that are FQDN can cause panics ([#&#8203;1040](https://github.com/StackExchange/dnscontrol/issues/1040)) ### [`v3.6.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.6.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.5.0...v3.6.0) This release includes 2 new providers, a new FETCH() command, and much more! MSDNS is a new provivder for the Microsoft Windows Server DNS Server. It issues PowerShell commands to do its updates. It will eventually replace ACTIVEDIRECTORY_PS, which was becoming difficult to maintain. MSDNS is very new so test with care. Please report bugs ASAP. ORACLE is our newest provider. Welcome to the DNSControl family! FETCH() is a new feature that can "curl" a JSON file. Use the --allow-fetch command line flag to enable this potentially risky feature. Thanks to all the volunteers for their contributions, especially Atma for helping improve the releng automation! Breaking changes: - None Major features: - NEW PROVIDER: MSDNS ([#&#8203;1005](https://github.com/StackExchange/dnscontrol/issues/1005)) - NEW PROVIDER: Oracle Cloud ([#&#8203;1021](https://github.com/StackExchange/dnscontrol/issues/1021)) - New feature: FETCH() permits http gets in dnsconfig.js ([#&#8203;1007](https://github.com/StackExchange/dnscontrol/issues/1007)) Provider-specific changes: - CLOUDFLAREAPI: Now works with PunyCode/IDNA ([#&#8203;1019](https://github.com/StackExchange/dnscontrol/issues/1019)) - CLOUDFLAREAPI: Support Punycode for CF_REDIRECT/CF_TEMP_REDIRECT (with tests) ([#&#8203;1026](https://github.com/StackExchange/dnscontrol/issues/1026)) - CLOUDNS: Add DS record support ([#&#8203;1018](https://github.com/StackExchange/dnscontrol/issues/1018)) - GCCLOUD: Add TLSA Support ([#&#8203;1015](https://github.com/StackExchange/dnscontrol/issues/1015)) - HEXONET: Update github.com/hexonet/go-sdk ([#&#8203;1029](https://github.com/StackExchange/dnscontrol/issues/1029)) - OCTODNS: Add SPF support for RecordConfig ([#&#8203;1020](https://github.com/StackExchange/dnscontrol/issues/1020)) - OVH: Enable TXTMulti ([#&#8203;1003](https://github.com/StackExchange/dnscontrol/issues/1003)) ([#&#8203;1008](https://github.com/StackExchange/dnscontrol/issues/1008)) Other changes and improvements: - RELENG: Automate releng more ([#&#8203;1006](https://github.com/StackExchange/dnscontrol/issues/1006)) - RELENG: Build RPM and DEB packages ([#&#8203;1030](https://github.com/StackExchange/dnscontrol/issues/1030)) ### [`v3.5.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.5.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.4.2...v3.5.0) This release includes so many updates and fixes it is difficult to summarize them all! Major features: - NEW PROVIDER: HETZNER DNS Console ([#&#8203;904](https://github.com/StackExchange/dnscontrol/issues/904)) - NEW FEATURE: You can now set variables through flags on the command line ([#&#8203;918](https://github.com/StackExchange/dnscontrol/issues/918)) ([#&#8203;913](https://github.com/StackExchange/dnscontrol/issues/913)) - BREAKING CHANGE: Long TXT records require AUTOSPLIT to be split ([#&#8203;957](https://github.com/StackExchange/dnscontrol/issues/957)) and are checked are check/preview time ([#&#8203;947](https://github.com/StackExchange/dnscontrol/issues/947)) (See below) - ENHANCEMENT: "dnscontrol get-zones" now outputs the "orange cloud" flag for CloudFlare ([#&#8203;952](https://github.com/StackExchange/dnscontrol/issues/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 ([#&#8203;943](https://github.com/StackExchange/dnscontrol/issues/943)) - CLOUDFLAREAPI: get-zones now outputs "orange cloud" status ([#&#8203;952](https://github.com/StackExchange/dnscontrol/issues/952)) - CLOUDFLAREAPI: Support TXTMulti and empty TXT targets ([#&#8203;978](https://github.com/StackExchange/dnscontrol/issues/978)) - DIGITALOCEAN: Abide by rate limits ([#&#8203;934](https://github.com/StackExchange/dnscontrol/issues/934)) - DIGITALOCEAN: Support TXTMulti with caveats ([#&#8203;949](https://github.com/StackExchange/dnscontrol/issues/949)) - GCLOUD: Don't panic() on unknown domain name ([#&#8203;944](https://github.com/StackExchange/dnscontrol/issues/944)) - GCLOUD: Retry on ratelimit ([#&#8203;946](https://github.com/StackExchange/dnscontrol/issues/946)) and 502 ([#&#8203;984](https://github.com/StackExchange/dnscontrol/issues/984)) - HETZNER: Allow TXTMulti ([#&#8203;963](https://github.com/StackExchange/dnscontrol/issues/963)) - HETZNER: better rate limit handling ([#&#8203;936](https://github.com/StackExchange/dnscontrol/issues/936)) ([#&#8203;926](https://github.com/StackExchange/dnscontrol/issues/926))A - HETZNER: create and modify multiple records in batches ([#&#8203;925](https://github.com/StackExchange/dnscontrol/issues/925)) ([#&#8203;789](https://github.com/StackExchange/dnscontrol/issues/789)) - HEXONET: Add GHA tests. Update docs. ([#&#8203;942](https://github.com/StackExchange/dnscontrol/issues/942)) - INWX: Guard against single-quote TXT targets ([#&#8203;971](https://github.com/StackExchange/dnscontrol/issues/971)) - INWX: enable multi txt support ([#&#8203;981](https://github.com/StackExchange/dnscontrol/issues/981)) - POWERDNS: Fix documentation: config keys use camel case ([#&#8203;962](https://github.com/StackExchange/dnscontrol/issues/962)) - ROUTE53: Fix R53\_ALIAS creation failure ([#&#8203;938](https://github.com/StackExchange/dnscontrol/issues/938)) Code maintenance: - TESTING: Enable Bring-Your-Own-Secrets ([#&#8203;982](https://github.com/StackExchange/dnscontrol/issues/982)) ([#&#8203;977](https://github.com/StackExchange/dnscontrol/issues/977)) - TESTING: js_test.go now generates zonefiles and tests them ([#&#8203;986](https://github.com/StackExchange/dnscontrol/issues/986)) - BUG: Fix REV and PTR when used together or with D_EXTEND ([#&#8203;979](https://github.com/StackExchange/dnscontrol/issues/979)) - BUG: Refactored R53\_ALIAS code to be more predictably correct, and fix many bugs along the way ([#&#8203;938](https://github.com/StackExchange/dnscontrol/issues/938)) - BUG: Unknown rtypes should return errors, not a panic ([#&#8203;945](https://github.com/StackExchange/dnscontrol/issues/945)) - CODE HEALTH: Reduce the use of panic(): Unknown rtypes return errors, not panic ([#&#8203;945](https://github.com/StackExchange/dnscontrol/issues/945)) - CODE HEALTH: Rename provider handles to \*Provider ([#&#8203;914](https://github.com/StackExchange/dnscontrol/issues/914)) ([#&#8203;911](https://github.com/StackExchange/dnscontrol/issues/911)) - CODE HEALTH: deps updates and linting ([#&#8203;905](https://github.com/StackExchange/dnscontrol/issues/905)) - DOCS: Fix golint and vendoring notes ([#&#8203;948](https://github.com/StackExchange/dnscontrol/issues/948)) - DOCS: Update install instructions ([#&#8203;951](https://github.com/StackExchange/dnscontrol/issues/951)) - MAINT: Add a .editorconfig file ([#&#8203;921](https://github.com/StackExchange/dnscontrol/issues/921)) - MAINT: Fix parse_test numbering ([#&#8203;985](https://github.com/StackExchange/dnscontrol/issues/985)) - MAINT: Many deps updated ([#&#8203;988](https://github.com/StackExchange/dnscontrol/issues/988)) - MAINT: gofmt -s all the things! ([#&#8203;983](https://github.com/StackExchange/dnscontrol/issues/983)) ### [`v3.4.2`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.4.2) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.3.0...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 ([#&#8203;827](https://github.com/StackExchange/dnscontrol/issues/827)) - New function: D_EXTEND adds records to an existing D(); possibly in a subdomain ([#&#8203;885](https://github.com/StackExchange/dnscontrol/issues/885)) (thanks to [@&#8203;ad8-bdl](https://github.com/ad8-bdl)!) - AUTODNSSEC is now AUTODNSSEC_ON ([#&#8203;863](https://github.com/StackExchange/dnscontrol/issues/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 ([#&#8203;868](https://github.com/StackExchange/dnscontrol/issues/868)) - NAMESERVER() validity check fixed ([#&#8203;866](https://github.com/StackExchange/dnscontrol/issues/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 ([#&#8203;901](https://github.com/StackExchange/dnscontrol/issues/901)) - INWX: Support creating domains ([#&#8203;855](https://github.com/StackExchange/dnscontrol/issues/855)) - INWX: add additional documentation about 2FA ([#&#8203;865](https://github.com/StackExchange/dnscontrol/issues/865)) - PowerDNS: Implemented AUTODNSSEC ([#&#8203;856](https://github.com/StackExchange/dnscontrol/issues/856)) - VULTR: Update govultr to v1.0.0 (fixes [#&#8203;892](https://github.com/StackExchange/dnscontrol/issues/892)) ([#&#8203;897](https://github.com/StackExchange/dnscontrol/issues/897)) - VULTR: Null MX records are not supported ([#&#8203;702](https://github.com/StackExchange/dnscontrol/issues/702)) ([#&#8203;894](https://github.com/StackExchange/dnscontrol/issues/894)) - GANDI_V5: Use github.com/go-gandi/go-gandi, not github.com/tiramiseb/go-gandi ([#&#8203;883](https://github.com/StackExchange/dnscontrol/issues/883)) Help wanted: - [#&#8203;873](https://github.com/StackExchange/dnscontrol/issues/873): NS1 has no maintainer. Volunteer needed or we may have to remove this provider. - [#&#8203;874](https://github.com/StackExchange/dnscontrol/issues/874): Anyone interested in making a fmt tool for dnsconfig.js? - Requests for providers for RcodeZero [#&#8203;884](https://github.com/StackExchange/dnscontrol/issues/884), Joker.com [#&#8203;854](https://github.com/StackExchange/dnscontrol/issues/854), Constellix (DNSMadeEasy) [#&#8203;842](https://github.com/StackExchange/dnscontrol/issues/842), and others. Project changes: - No "vendoring". Remove vendoring notes from release-engineering. - Go modules now required. Remove support for pre-module builds. ### [`v3.3.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.3.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.2.0...v3.3.0) This release brings three new providers (DNS-over-HTTPS, Hurricane Electric DNS, INWX), the ability to send notifications to Microsoft Teams, new functions (require_glob(), IGNORE_TARGET(), IGNORE_LABEL(), DU_EXTEND()), plenty of bugfixes and updates for providers, plus a lot of cleanups and documentation improvements! Thanks to all the contributors! Major features: - NEW PROVIDER: DOH: Read-only Registrar that validates NS records ([#&#8203;840](https://github.com/StackExchange/dnscontrol/issues/840)) - NEW PROVIDER: HEDNS: Hurricane Electric DNS (dns.he.net) ([#&#8203;822](https://github.com/StackExchange/dnscontrol/issues/822)) - NEW PROVIDER: INWX ([#&#8203;808](https://github.com/StackExchange/dnscontrol/issues/808)) - NEW NOTIFIER: Add support for Microsoft Teams ([#&#8203;812](https://github.com/StackExchange/dnscontrol/issues/812)) - Validation: New rules for validiating labels with underbars ([#&#8203;830](https://github.com/StackExchange/dnscontrol/issues/830)) - New feature: require_glob() (similar to require() but supports globs) ([#&#8203;804](https://github.com/StackExchange/dnscontrol/issues/804)) - New feature: IGNORE_TARGET. Rename INGORE to IGNORE_NAME ([#&#8203;806](https://github.com/StackExchange/dnscontrol/issues/806)) - New feature: IGNORE label renamed to IGNORE_LABEL (IGNORE still exists for compatibility) ([#&#8203;806](https://github.com/StackExchange/dnscontrol/issues/806)) - New feature: New features: D_EXTEND() getConfiguredDomains() to assist modifying domains ([#&#8203;800](https://github.com/StackExchange/dnscontrol/issues/800)) - SPF Optimizer: Enable the use of TXTMulti records to support longer SPF records ([#&#8203;794](https://github.com/StackExchange/dnscontrol/issues/794)) - SPF Optimizer: Make it possible to disable the raw SPF optimizer debug record ([#&#8203;795](https://github.com/StackExchange/dnscontrol/issues/795)) - SPF Optimizer: spf flattener can make first record extra short ([#&#8203;781](https://github.com/StackExchange/dnscontrol/issues/781)) - Long lists of adds/deletes are now sorted on some providers (for cosmetic reasons) - Provider support for DS records as children only ([#&#8203;765](https://github.com/StackExchange/dnscontrol/issues/765)) - get-certs.md: correct flag names ([#&#8203;758](https://github.com/StackExchange/dnscontrol/issues/758)) Provider-specific features: - AZURE: Cleanup: Errorf is a pure function but its return value is ignored [#&#8203;836](https://github.com/StackExchange/dnscontrol/issues/836) ([#&#8203;843](https://github.com/StackExchange/dnscontrol/issues/843)) - AZURE: Fixed bug related to having >100 Zones ([#&#8203;816](https://github.com/StackExchange/dnscontrol/issues/816)) - CLOUDFLARE: Set TTL to 1 for Cloudflare page rules ([#&#8203;828](https://github.com/StackExchange/dnscontrol/issues/828)) - BIND: Add TTL to BIND SoaInfo struct ([#&#8203;820](https://github.com/StackExchange/dnscontrol/issues/820)) - deSEC: Supports PTR records out of the box ([#&#8203;801](https://github.com/StackExchange/dnscontrol/issues/801)) - PowerDNS: Fix PowerDNS domain creation ([#&#8203;786](https://github.com/StackExchange/dnscontrol/issues/786)) - ROUTE53: Route53 uses a custom record type for SPF ([#&#8203;787](https://github.com/StackExchange/dnscontrol/issues/787)) - NS1: Fixed MX records on NS1 ([#&#8203;783](https://github.com/StackExchange/dnscontrol/issues/783)) - NS1: Added support for ALIAS, PTR, and TXTMuli ([#&#8203;776](https://github.com/StackExchange/dnscontrol/issues/776)) Other cool stuff: - Docs: Add a page about macros and loops ([#&#8203;832](https://github.com/StackExchange/dnscontrol/issues/832)) - print-ir: print validation warnings/errors to stderr ([#&#8203;841](https://github.com/StackExchange/dnscontrol/issues/841)) - Cleanup: Remove debug line left from development ([#&#8203;835](https://github.com/StackExchange/dnscontrol/issues/835)) ([#&#8203;839](https://github.com/StackExchange/dnscontrol/issues/839)) - Update dependencies ([#&#8203;838](https://github.com/StackExchange/dnscontrol/issues/838)) - Cleanup: Fix many issues reported by staticcheck.io ([#&#8203;837](https://github.com/StackExchange/dnscontrol/issues/837)) - Docs: Improve install instructions ([#&#8203;824](https://github.com/StackExchange/dnscontrol/issues/824)) - Cleanup: Bubble errors up from diff instead of panic ([#&#8203;799](https://github.com/StackExchange/dnscontrol/issues/799)) ([#&#8203;817](https://github.com/StackExchange/dnscontrol/issues/817)) ### [`v3.2.0`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.2.0) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.1.1...v3.2.0) Lots of great new stuff! A new provider (PowerDNS), a new record type (DS), a new notification target (Slack), and "get-certs" now generates .PEM files. SECURITY CHANGE: `get-certs` now generates one additional file: a .pem file, which is just .crt + "\n" + .key ). While not breaking change, it does contain secrets and therefore should be protected. If you encrypt or otherwise protect the .key file, you should take the same care with the .pem file. Major features: - NEW PROVIDER: PowerDNS - NEW RTYPE: DS (Thanks Robert and Nicolai!) - get-certs now generates .pem files (.crt + .key) - New notification target: Slack (Thanks Jan-Philipp!) Provider-specific changes: - CLOUDFLAREAPI: Now supports DS records Other stuff: - Lists of adds/changes/deletes are now sorted ([#&#8203;755](https://github.com/StackExchange/dnscontrol/issues/755)) - Fixed vendoring problem - \_domainconnect is added to the whitelist - Update many dependencies. ### [`v3.1.1`](https://github.com/StackExchange/dnscontrol/releases/tag/v3.1.1) [Compare Source](https://github.com/StackExchange/dnscontrol/compare/v3.0.0...v3.1.1) This release includes 3 new providers! deSEC (popular in Germany) NETCUP (popular in Russia), and AXFR+DNS (use the native DDNS protocol for updates). Plus many minor bug fixes, code cleanups, documentation improvements, and over course plenty of updated dependencies. NOTE: Version v3.1.0 was not released due to a technical issue. Major features: - NEW PROVIDER: AXFR+DDNS ([#&#8203;259](https://github.com/StackExchange/dnscontrol/issues/259)) ([#&#8203;729](https://github.com/StackExchange/dnscontrol/issues/729)) - NEW PROVIDER: deSEC ([#&#8203;725](https://github.com/StackExchange/dnscontrol/issues/725)) - NEW PROVIDER: NETCUP (DNS) ([#&#8203;718](https://github.com/StackExchange/dnscontrol/issues/718)) - Documentation: Clarify dev docs ([#&#8203;734](https://github.com/StackExchange/dnscontrol/issues/734)) Provider-specific changes: - OCTODNS: constant [`4294967`](https://github.com/StackExchange/dnscontrol/commit/4294967295) overflows int (Issue [#&#8203;736](https://github.com/StackExchange/dnscontrol/issues/736)) ([#&#8203;738](https://github.com/StackExchange/dnscontrol/issues/738)) - GCLOUD: SSHFP support for Google Cloud DNS [#&#8203;726](https://github.com/StackExchange/dnscontrol/issues/726) - CLOUDFLAREAPI: CLOUDFLAREAPI now fails tests "IDNA:Internationalized_name" and "IDN_CNAME_AND_Target". These tests are skipped for now. Can I get a volunteer to help find and fix this issue? Other changes: - Security: 'get-certs' permissions too open ([#&#8203;745](https://github.com/StackExchange/dnscontrol/issues/745)) - get-zones: should comment out NAMESERVER() ([#&#8203;743](https://github.com/StackExchange/dnscontrol/issues/743)) - get-zones: generate R53\_ALIAS correctly ([#&#8203;721](https://github.com/StackExchange/dnscontrol/issues/721)) - Documentation: Document IP() is IPv4 only ([#&#8203;744](https://github.com/StackExchange/dnscontrol/issues/744)) - Cleanup: Fix GetNameserver() inconsistency on many providers ([#&#8203;491](https://github.com/StackExchange/dnscontrol/issues/491)) - Support RFC 7505 "null MX" ([#&#8203;702](https://github.com/StackExchange/dnscontrol/issues/702)) ([#&#8203;703](https://github.com/StackExchange/dnscontrol/issues/703)) - Update dependencies for: AWS ([#&#8203;731](https://github.com/StackExchange/dnscontrol/issues/731)), Azure ([#&#8203;731](https://github.com/StackExchange/dnscontrol/issues/731)), GCLOUD, digital \* ocean ([#&#8203;723](https://github.com/StackExchange/dnscontrol/issues/723)), urfav/cli, DNSimple, and more </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuMTU3LjEifQ==-->
renovate-bot force-pushed renovate/github.com-stackexchange-dnscontrol-v3-3.x from 24c2281d24 to 5f0440bc2d 2023-01-25 23:15:38 +00:00 Compare
renovate-bot changed title from chore(deps): update module github.com/stackexchange/dnscontrol/v3 to v3.24.0 to chore(deps): update module github.com/stackexchange/dnscontrol/v3 to v3.25.0 2023-01-25 23:15:44 +00:00
renovate-bot force-pushed renovate/github.com-stackexchange-dnscontrol-v3-3.x from 5f0440bc2d to f13eb1b70f 2023-02-03 18:15:09 +00:00 Compare
renovate-bot changed title from chore(deps): update module github.com/stackexchange/dnscontrol/v3 to v3.25.0 to chore(deps): update module github.com/stackexchange/dnscontrol/v3 to v3.26.0 2023-02-03 18:15:14 +00:00
renovate-bot force-pushed renovate/github.com-stackexchange-dnscontrol-v3-3.x from f13eb1b70f to fee1822974 2023-02-21 12:20:09 +00:00 Compare
renovate-bot force-pushed renovate/github.com-stackexchange-dnscontrol-v3-3.x from fee1822974 to d02032b6e4 2023-02-21 17:20:00 +00:00 Compare
renovate-bot force-pushed renovate/github.com-stackexchange-dnscontrol-v3-3.x from d02032b6e4 to 126910dc28 2023-02-28 03:17:30 +00:00 Compare
renovate-bot changed title from chore(deps): update module github.com/stackexchange/dnscontrol/v3 to v3.26.0 to chore(deps): update module github.com/stackexchange/dnscontrol/v3 to v3.27.0 2023-02-28 03:17:39 +00:00
renovate-bot force-pushed renovate/github.com-stackexchange-dnscontrol-v3-3.x from 126910dc28 to 16ef851782 2023-02-28 17:16:30 +00:00 Compare
renovate-bot changed title from chore(deps): update module github.com/stackexchange/dnscontrol/v3 to v3.27.0 to chore(deps): update module github.com/stackexchange/dnscontrol/v3 to v3.27.1 2023-02-28 17:16:39 +00:00
renovate-bot force-pushed renovate/github.com-stackexchange-dnscontrol-v3-3.x from 16ef851782 to 5fd9894c8f 2023-03-09 07:15:53 +00:00 Compare
renovate-bot changed title from chore(deps): update module github.com/stackexchange/dnscontrol/v3 to v3.27.1 to chore(deps): update module github.com/stackexchange/dnscontrol/v3 to v3.27.2 2023-03-09 07:16:01 +00:00
nemunaire force-pushed renovate/github.com-stackexchange-dnscontrol-v3-3.x from 5fd9894c8f to 99caf1db9f 2023-03-12 15:18:17 +00:00 Compare
Author
Collaborator

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.

### Edited/Blocked Notification Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. ⚠ **Warning**: custom changes will be lost.
nemunaire closed this pull request 2023-04-10 15:31:45 +00:00
All checks were successful
continuous-integration/drone/push Build is passing

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: happyDomain/happyDomain#137
No description provided.