Happy holidays, DNSControl Fans!
Another quick bugfix release. This is particularly important if you use the BIND provider.
Bug: BIND
In 4.15.1 a bug was introduced that made the BIND provider use the
same filename for all zonefiles. That is fixed in this release. As a
bonus, BIND joins the list of providers that can run concurrently.
Do not use 4.15.1 if you use BIND.
Possible bug: IGNORE() plus MYTHICBEASTS
We're tracking a bug that was reported involving IGNORE() with MYTHICBEASTS (#3227). If you use any of the IGNORE*() functions, please push with caution.
It might affect other providers that use the diff2.ByZone() function call (AUTODNS, BIND, REALTIMEREGISTER, SAKURACLOUD) with a smaller change it will affect providers that use the diff2.ByRecordSet() function (AZURE, GCLOUD, GCORE, HUAWEICLOUD, NS1, POWERDNS, ROUTE53, TRANSIP).
If you use any of those providers, we can use your help! Please run the integration tests (https://docs.dnscontrol.org/developer-info/integration-tests) and report if they were successful or not. This release includes a new test that should trigger this bug: Integration test number 77 IGNORE w/change b3227
That's it!
Sorry for the releases right before most people are going on break! If you are concerned about other issues, the last v4.14.x release was very stable and is backwards compatible.
Best,
Tom
Changelog
Provider-specific changes:
- a7e83de: BIND: Allow use in cmode=concurrent (#3254) (@tlimoncelli)
Documentation:
- ee49704: DOCS: Trailing commas are no longer an issue (#3248) (@cafferata)
Dependencies:
- c74fbd5: CHORE: update deps (#3256) (@tlimoncelli)
Other changes and improvements:
- c1206a8: ENHANCEMENT: get-zones: No longer generate END tokens (#3253) (@tlimoncelli)
- 3d25d3e: TEST: Improve IGNORE() integration tests (#3255) (@tlimoncelli)
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.