Hello DNSControl fans!
This release includes one new provider (HUAWEICLOUD
), HTTPS
/SVCB
records are now supported on CLOUDFLAREAPI
and GCORE
, and require()
now supports JSON5 files. There are also many bugfixes and documentation improvements.
Thanks to @huihuimoe for contributing the HUAWEICLOUD
provider!
The big news of this release is that CLOUDFLAREAPI
's CF_REDIRECT
/CF_TEMP_REDIRECT
commands can now generate redirects using "rules" instead of "page rules". Page rules are going away soon. See https://docs.dnscontrol.org/provider/cloudflareapi for more info. This feature is very new and needs more testing. Please test it carefully before putting it into production, and test the changes in production right away. We're releasing this early to get it out there for early testing before Page Rules go away. (On a personal note, I haven't tested it on all my domains so I can't even promise it works in all the intended cases.) Bug reports greatfully accepted.
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:
- 1f4c4c6: FEATURE: Add TTL() support to CAA_BUILDER() (#2978) (@cafferata)
- 8eb3c65: FEATURE: Enable "require()" function to accept json5 files (#3003) (@tlimoncelli)
Provider-specific changes:
- ce07c76: HUAWEICLOUD: Add support for huaweicloud dns (#3010) (@huihuimoe)
- b3787ab: AXFRDDNS: Canonicalize key name as per RFC 2845 3.4.2 (#2966) (@nemunaire)
- 7fd6a74: CLOUDFLAREAPI: CF_REDIRECT/CF_TEMP_REDIRECT should dtrt using Single Redirects (#3002) (@tlimoncelli)
- 68b0b30: CLOUDFLAREAPI: Enable DNSKEY, HTTPS, SVCB record types (#3000) (@charliez0)
- 2ccef49: CLOUDFLAREAPI: disable DNSKEY until it is fixed (#3004) (@tlimoncelli)
- df1354b: DNSIMPLE: enable Null MX records (#2960) (@philpennock)
- d55474c: GCLOUD: Fix issue on creating/deleting/updating TXT records (#3011) (@ingwarsw)
- b786b0e: GCLOUD: Fix missing length in make() (#2982) (@tlimoncelli)
- b47ac0d: GCORE: add SVCB and HTTPS support (#2983) (@xddxdd)
- 107b585: HEXONET: Adopt version 4.0.0 of the rtldev-middleware-go-sdk (#2974) (@AsifNawaz-cnic)
- 2d15884: HUAWEICLOUD: add metadata to control Intelligent Resolution (#3013) (@huihuimoe)
- 174fd7b: PORKBUN: catch error on parsing api (#3012) (@imlonghao)
Documentation:
- 9dcd8c7: DOCS: AUTODNSSEC_* improvements (#2984) (@cafferata)
- 4083641: DOCS: Fixed 404 URL's on GitHub page (#2969) (@cafferata)
- 39c08bd: DOCS: Provide domain modifiers code examples with a Top Level Function D() (#2993) (@cafferata)
- 5e68998: DOCS: Removed the double Markdown header syntax. (#2968) (@cafferata)
- f0d1319: DOCS: Several improvements and cleanups (#2972) (@cafferata)
- 2b70f24: DOCS: [REVCOMPAT] Fixed broken URL's (#2970) (@cafferata)
- 91bf56c: DOCS: [get-zones] Removed old reference to
convertzone
(#2971) (@cafferata)
CI/CD:
- 94ce7e2: BUILD: GoReleaser v2.0.0 (#2996) (@cafferata)
- cffd0bb: Build(deps): Bump alpine from 3.19.1 to 3.20.0 (#2990) (@dependabot[bot])
- 2344257: Build(deps): Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.5.2 to 1.6.0 (#3006) (@dependabot[bot])
Dependencies:
- f029c9b: CHORE: update deps (#2991) (@tlimoncelli)
- 3b0e124: CHORE: update deps (#3015) (@tlimoncelli)
Other changes and improvements:
- 0a784a3: CHORE: Clean up comments in models/domain.go (#2975) (@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
Install with MacPorts
sudo port 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
Install with MacPorts
sudo port upgrade dnscontrol
Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.