Skip to content

Releases: StackExchange/dnscontrol

v4.14.3

07 Nov 23:47
5c68ccb
Compare
Choose a tag to compare

Hi DNSControl fans!

Another bugfix release that only affects very few users.

  • NS1 is in the process of removing support for URLFWD, which means our integration tests for that feature have started to fail. I've removed integration tests for URLFWD, but but the feature continues to exist in our code in case anyone still has access to the feature (#3195) (@tlimoncelli)
  • IMPORT_TRANSFORM (a feature only for use by Stack Overflow) now lets you skip individual records (#3193) (@tlimoncelli)
  • And of course, updated the dependences (#3197) (@tlimoncelli)

Changelog

Provider-specific changes:

Dependencies:

Other changes and improvements:

Deprecation warnings

Warning

  • REV() will switch from RFC2317 to RFC4183 in v5.0. This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
  • MSDNS maintainer needed! Without a new volunteer, this DNS provider will lose support after April 2025. See #2878
  • NAMEDOTCOM and SOFTLAYER need maintainers! 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.
  • get-certs/ACME support is frozen and will be removed without notice between now and July 2025. It has been unsupported since December 2022. If you don't use this feature, do not start. If you do use this feature, migrate ASAP. See discussion in issues/1400

Install

macOS and Linux

Install with Homebrew (recommended)
brew install dnscontrol
Using with Docker

You can use the Docker image from Docker hub or GitHub Container Registry.

docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol preview

Anywhere else

Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.

Or, if you have Go installed, you can install the latest version of DNSControl with the following command:

go install github.com/StackExchange/dnscontrol/v4@main

Update

Update to the latest version depends on how you choose to install dnscontrol on your machine.

Update with Homebrew

brew upgrade dnscontrol

Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.

v4.14.2

05 Nov 14:46
8a6912b
Compare
Choose a tag to compare

Greetings DNSControl Fans!

This is a bugfix release. The bug only affects one user of DNSControl (you know who you are) therefore adopting this release isn't urgent. This release also bumps modules for HUAWEICLOUD, ORACLE, and SOFTLAYER.

Changelog

CI/CD:

Other changes and improvements:

Deprecation warnings

Warning

  • REV() will switch from RFC2317 to RFC4183 in v5.0. This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
  • MSDNS maintainer needed! Without a new volunteer, this DNS provider will lose support after April 2025. See #2878
  • NAMEDOTCOM and SOFTLAYER need maintainers! 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.
  • get-certs/ACME support is frozen and will be removed without notice between now and July 2025. It has been unsupported since December 2022. If you don't use this feature, do not start. If you do use this feature, migrate ASAP. See discussion in issues/1400

Install

macOS and Linux

Install with Homebrew (recommended)
brew install dnscontrol
Using with Docker

You can use the Docker image from Docker hub or GitHub Container Registry.

docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol preview

Anywhere else

Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.

Or, if you have Go installed, you can install the latest version of DNSControl with the following command:

go install github.com/StackExchange/dnscontrol/v4@main

Update

Update to the latest version depends on how you choose to install dnscontrol on your machine.

Update with Homebrew

brew upgrade dnscontrol

Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.

v4.14.1

01 Nov 13:49
a0f7123
Compare
Choose a tag to compare

Greetings DNSControl Fans!

This is a bugfix release, though one new feature is included (GCORE gains support for GeoDNS/Failover thanks to @xddxdd).

  • NS1 no longer fails if it sees a REDIRECT (#3167) (@kabenin)
  • ORACLE no longer gives invalid warnings in one situation (#3178) (@fabienmazieres)
  • ORACLE supports more than 50 zones (was only seeing the first 50) (#3179) (@fabienmazieres)
  • ORACLE now properly handles the API's inconsistent handling of "trailing dot" on NS records (#3170) (@fabienmazieres)
  • M365_BUILDER no longer fails on second level domains (#3165) (@CJFelto)
  • Security fix: github.com/go-acme/lego to v4 to resolve security issue (#3169) (@jauderho)
  • Integration test TestDualProviders cleans up after itself better (#3171) (@fabienmazieres)

Thanks to everyone for their contributions! This is a community-driven project and we couldn't do it without all your PRs, reviews, and other support!

Here's the details:

Changelog

Provider-specific changes:

CI/CD:

Dependencies:

Other changes and improvements:

Deprecation warnings

Warning

  • REV() will switch from RFC2317 to RFC4183 in v5.0. This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
  • MSDNS maintainer needed! Without a new volunteer, this DNS provider will lose support after April 2025. See #2878
  • NAMEDOTCOM and SOFTLAYER need maintainers! 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.
  • get-certs/ACME support is frozen and will be removed without notice between now and July 2025. It has been unsupported since December 2022. If you don't use this feature, do not start. If you do use this feature, migrate ASAP. See discussion in issues/1400

Install

macOS and Linux

Install with Homebrew (recommended)
brew install dnscontrol
Using with Docker

You can use the Docker image from Docker hub or GitHub Container Registry.

docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol preview

Anywhere else

Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.

Or, if you have Go installed, you can install the latest version of DNSControl with the following command:

go install github.com/StackExchange/dnscontrol/v4@main

Update

Update to the latest version depends on how you choose to install dnscontrol on your machine.

Update with Homebrew

brew upgrade dnscontrol

Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.

v4.14.0

16 Oct 18:39
2bb0d87
Compare
Choose a tag to compare

Hello DNS Fans!

The big news is that the concurrent data gathering feature is stable and will become the default in the next release. Instead of new commands (ppreview/ppush) the functionality is enabled using the --cmode flag.

  • v4.14: --cmode defaults to legacy (old code, data gathering is done serially)
  • v4.15: --cmode defaults to concurrent (new code, data gathering is done concurrently)
  • v4.16: The legacy mode is removed

Any use of the old, legacy, code prints a warning:

WARN: In v4.15 --cmode will default to "concurrent". Please test and report any bugs ASAP. 
In v4.16 or later, "legacy" will go away. See https://docs.dnscontrol.org/commands/preview-push

Any use of the ppreview/ppush commands prints a warning similar to:

WARN: ppreview is going away in v4.16 or later. Use "preview --cmode=concurrent" instead.

Other major changes/improvements:

  • --report now works in preview, not just push.
  • CLOUDNS now supports LOC and AutoDNSSEC.
  • The "# of corrections" count was wrong for some providers. It should now be accurate for all providers.

Thanks to everyone for their contributions! This is a community project and we couldn't do it without all your help!

Tom

Changelog

Major features:

Provider-specific changes:

Documentation:

CI/CD:

Dependencies:

Other changes and improvements:

Deprecation warnings

Warning

  • REV() will switch from RFC2317 to RFC4183 in v5.0. This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
  • MSDNS maintainer needed! Without a new volunteer, this DNS provider will lose support after April 2025. See #2878
  • NAMEDOTCOM and SOFTLAYER need maintainers! 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.
  • get-certs/ACME support is frozen and will be removed without notice between now and July 2025. It has been unsupported since December 2022. If you don't use this feature, do not start. If you do use this feature, migrate ASAP. See discussion in issues/1400

Install

macOS and Linux

Install with Homebrew (recommended)
brew install dnscontrol
Using with Docker

You can use the Docker image from Docker hub or GitHub Container Registry.

docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol preview

Anywhere else

Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.

Or, if you have Go installed, you can install the latest version of DNSControl with the following command:

go install github.com/StackExchange/dnscontrol/v4@main

Update

Update to the latest version depends on how you choose to install dnscontrol on your machine.

Update with Homebrew

brew upgrade dnscontrol

Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.

v4.13.0

03 Sep 22:12
74826d3
Compare
Choose a tag to compare

Hello DNS fans!

This release introduces one new provider and many small fixes and improvements.

  • NEW PROVIDER: Sakura Cloud (SAKURACLOUD) (thanks to @ttkzw!)
  • NEW FEATURE: The HASH() function can generate hash strings. (thanks to @fuero!)
  • Improvements to providers: AUTODNS now supports PTR records, GANDI_V5 supports their new authentication system, HUAWEICLOUD has better DNSSEC support, NS1 documents that NS1_URLFWD is going away, ORACLE now abides by rate- limits automatically, PORKBUN now supports URL forwarding, and POWERDNS has added some reliability improvements.

Some big changes are coming:

  • #3108 the "change count" is moving out of the individual provider code, into the main code. This will make the "# corrections" count more accurate.
  • #3082 investigates making it easier to add new DNS types (A, MX, etc).

Learning Go? Interested in a starter project? Please email tlimoncelli at stackoverflow dot com.

  • 23 providers still use diff.NewCompat() instead of the new diff2.By* functions. There's nothing wrong with that, but upgrade will make the code cleaner, more simple, and might make the "preview" output cleaner.
  • I have a few other refactoring ideas that will clean up the code. Interested? Let me know!

Thanks to everyone for their contributions! This is a community effort and it wouldn't be a success without all your help!

Changelog

Major features:

Provider-specific changes:

Documentation:

CI/CD:

Dependencies:

Other changes and improvements:

Deprecation warnings

Warning

  • REV() will switch from RFC2317 to RFC4183 in v5.0. This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
  • MSDNS maintainer needed! Without a new volunteer, this DNS provider will lose support after April 2025. See #2878
  • NAMEDOTCOM and SOFTLAYER need maintainers! 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.
  • get-certs/ACME support is frozen and will be removed without notice between now and July 2025. It has been unsupported since December 2022. If you don't use this feature, do not start. If you do use this feature, migrate ASAP. See discussion in issues/1400

Install

macOS and Linux

Install with Homebrew (recommended)
brew install dnscontrol
Using with Docker

You can use the Docker image from Docker hub or GitHub Container Registry.

docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol preview

Anywhere else

Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.

Or, if you have Go installed, you can install the latest version of DNSControl with the following command:

go install github.com/StackExchange/dnscontrol/v4@main

Update

Update to the latest version depends on how you choose to install dnscontrol on your machine.

Update with Homebrew

brew upgrade dnscontrol

Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.

v4.12.5

18 Jul 19:13
0869052
Compare
Choose a tag to compare

Hello DNSControl fans!

This is another bugfix release. Only CLOUDFLAREAPI is affected, and only the CF_REDIRECT/CF_TEMP_REDIRECT/CF_SINGLE_REDIRECT commands are affected.

Some non-functional improvements are included in this release too. @cafferata contributed code that automatically generates the OWNERS file, @nikolamilekic and @svenluijten fixed documentation bugs.

Cloudflare-related improvements:

  • Bug fixed: CF_SINGLE_REDIRECT rule name was not propagating to Cloudflare correctly. #3049
  • Bug fixed: CF_REDIRECT/CF_TEMP_REDIRECT rule name generated in conversion mode was long and ugly; now they are short and easier to identify. They are in the (1,302,when,then) format seen in preview output.
  • New feature: Log the CF_SINGLE_REDIRECT statements generated when CF_REDIRECT/CF_TEMP_REDIRECT is in conversion mode.

Explanation of the new feature:

Suppose dnsconfig.js includes a statement like:

D("example.com", ...
    CF_TEMP_REDIR("https://example.com/*", "https://replacement.example.com/$1),

In the old days, CF_TEMP_REDIR would generate a Cloudflare "page rule". However page rules are going away. Therefore, these will now be silently translated into CF_SINGLE_REDIRECT statements when the manage_single_redirects meta feature is set to true. A log of these translations can be generated by setting the transcode_log variable:

var DSP_CLOUDFLARE = NewDnsProvider("cloudflare", {
    "manage_single_redirects": true,
    "transcode_log": "transcode.log",
});

Once set, any such translations will be appended to the filename transcode.log.

In this example, the log will look like this:

D("example.com", ...
    CF_SINGLE_REDIRECT("1,302,https://example.com/*,https://replacement.example.com/$1",
                       302,
                       'http.host eq "example.com"',
                       'concat("https://replacement.example.com", http.request.uri.path)'
    ),

Replacing the old CF_TEMP_REDIR statement with the above CF_SINGLE_REDIRECT statement requires manual cutting and pasting.

While the CF_REDIRECT/CF_TEMP_REDIRECT statements are not going away, it is recommended that you convert to CF_SINGLE_REDIRECT since they are more flexible and officially supported by Cloudflare.

This feature is documented in https://docs.dnscontrol.org/provider/cloudflareapi#old-style-vs-new-style-redirects

Changelog

Provider-specific changes:

Documentation:

CI/CD:

Other changes and improvements:

Deprecation warnings

Warning

  • REV() will switch from RFC2317 to RFC4183 in v5.0. This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
  • MSDNS maintainer needed! Without a new volunteer, this DNS provider will lose support after April 2025. See #2878
  • NAMEDOTCOM and SOFTLAYER need maintainers! 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.
  • get-certs/ACME support is frozen and will be removed without notice between now and July 2025. It has been unsupported since December 2022. If you don't use this feature, do not start. If you do use this feature, migrate ASAP. See discussion in issues/1400

Install

macOS and Linux

Install with Homebrew (recommended)
brew install dnscontrol
Using with Docker

You can use the Docker image from Docker hub or GitHub Container Registry.

docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol preview

Anywhere else

Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.

Or, if you have Go installed, you can install the latest version of DNSControl with the following command:

go install github.com/StackExchange/dnscontrol/v4@main

Update

Update to the latest version depends on how you choose to install dnscontrol on your machine.

Update with Homebrew

brew upgrade dnscontrol

Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.

v4.12.4

09 Jul 19:47
0ed31ef
Compare
Choose a tag to compare

Hello DNSControl fans!

This is another bugfix release. More fixes for the CF_SINGLE_REDIRECT() feature (now it actually works!), plus removed an debug statement that should have been removed before release, and some docs and dependency upgrades.

"This time for sure!" --Bullwinkle

Changelog

Provider-specific changes:

Documentation:

CI/CD:

Other changes and improvements:

Deprecation warnings

Warning

  • REV() will switch from RFC2317 to RFC4183 in v5.0. This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
  • MSDNS maintainer needed! Without a new volunteer, this DNS provider will lose support after April 2025. See #2878
  • NAMEDOTCOM and SOFTLAYER need maintainers! 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.
  • get-certs/ACME support is frozen and will be removed without notice between now and July 2025. It has been unsupported since December 2022. If you don't use this feature, do not start. If you do use this feature, migrate ASAP. See discussion in issues/1400

Install

macOS and Linux

Install with Homebrew (recommended)
brew install dnscontrol
Using with Docker

You can use the Docker image from Docker hub or GitHub Container Registry.

docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol preview

Anywhere else

Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.

Or, if you have Go installed, you can install the latest version of DNSControl with the following command:

go install github.com/StackExchange/dnscontrol/v4@main

Update

Update to the latest version depends on how you choose to install dnscontrol on your machine.

Update with Homebrew

brew upgrade dnscontrol

Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.

v4.12.3

08 Jul 17:53
0883068
Compare
Choose a tag to compare

Hi DNSControl fans!

This release makes exactly one change: Adds a CF_SINGLE_REDIRECT() feature which controls Cloudflare "dynamic single redirects". If you don't use Cloudflare (or do use Cloudflare but don't use that feature) this revision is irrelevant to you. See https://docs.dnscontrol.org/language-reference/domain-modifiers/service-provider-specific/cloudflare-dns/cf_single_redirect and https://docs.dnscontrol.org/provider/cloudflareapi#old-style-vs-new-style-redirects for more info.

FYI: This change is a half-step towards the "make it easier to add new DNS record types" plan documented in #3036. Feedback appreciated!

Changelog

Provider-specific changes:

Deprecation warnings

Warning

  • REV() will switch from RFC2317 to RFC4183 in v5.0. This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
  • MSDNS maintainer needed! Without a new volunteer, this DNS provider will lose support after April 2025. See #2878
  • NAMEDOTCOM and SOFTLAYER need maintainers! 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.
  • get-certs/ACME support is frozen and will be removed without notice between now and July 2025. It has been unsupported since December 2022. If you don't use this feature, do not start. If you do use this feature, migrate ASAP. See discussion in issues/1400

Install

macOS and Linux

Install with Homebrew (recommended)
brew install dnscontrol
Using with Docker

You can use the Docker image from Docker hub or GitHub Container Registry.

docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol preview

Anywhere else

Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.

Or, if you have Go installed, you can install the latest version of DNSControl with the following command:

go install github.com/StackExchange/dnscontrol/v4@main

Update

Update to the latest version depends on how you choose to install dnscontrol on your machine.

Update with Homebrew

brew upgrade dnscontrol

Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.

v4.12.2

02 Jul 21:08
937c0dc
Compare
Choose a tag to compare

Hi DNSControl fans!

This point release fixes a minor bug with the CLOUDFLARE CF_REDIRECT conversion. No other changes.

Changelog

Provider-specific changes:

Deprecation warnings

Warning

  • REV() will switch from RFC2317 to RFC4183 in v5.0. This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
  • MSDNS maintainer needed! Without a new volunteer, this DNS provider will lose support after April 2025. See #2878
  • NAMEDOTCOM and SOFTLAYER need maintainers! 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.
  • get-certs/ACME support is frozen and will be removed without notice between now and July 2025. It has been unsupported since December 2022. If you don't use this feature, do not start. If you do use this feature, migrate ASAP. See discussion in issues/1400

Install

macOS and Linux

Install with Homebrew (recommended)
brew install dnscontrol
Using with Docker

You can use the Docker image from Docker hub or GitHub Container Registry.

docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol preview

Anywhere else

Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.

Or, if you have Go installed, you can install the latest version of DNSControl with the following command:

go install github.com/StackExchange/dnscontrol/v4@main

Update

Update to the latest version depends on how you choose to install dnscontrol on your machine.

Update with Homebrew

brew upgrade dnscontrol

Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.

v4.12.1

02 Jul 00:43
5ef1e99
Compare
Choose a tag to compare

Hello DNSControl fans!

Mostly a bug fix release:

  • CLOUDFLARE improvements and fixes on the new "single redirect" feature (more to come!)
  • PORKBUN handles errors better
  • DESEC improved error handling and now runs concurrently
  • DOCS improved the getting started summary

What's Changed

New Contributors

Full Changelog: v4.12.0...v4.12.1

Changelog

Provider-specific changes:

Documentation:

CI/CD:

Dependencies:

Deprecation warnings

Warning

  • REV() will switch from RFC2317 to RFC4183 in v5.0. This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
  • MSDNS maintainer needed! Without a new volunteer, this DNS provider will lose support after April 2025. See #2878
  • NAMEDOTCOM and SOFTLAYER need maintainers! 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.
  • get-certs/ACME support is frozen and will be removed without notice between now and July 2025. It has been unsupported since December 2022. If you don't use this feature, do not start. If you do use this feature, migrate ASAP. See discussion in issues/1400

Install

macOS and Linux

Install with Homebrew (recommended)
brew install dnscontrol
Using with Docker

You can use the Docker image from Docker hub or GitHub Container Registry.

docker run --rm -it -v "$(pwd):/dns" ghcr.io/stackexchange/dnscontrol preview

Anywhere else

Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.

Or, if you have Go installed, you can install the latest version of DNSControl with the following command:

go install github.com/StackExchange/dnscontrol/v4@main

Update

Update to the latest version depends on how you choose to install dnscontrol on your machine.

Update with Homebrew

brew upgrade dnscontrol

Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.