CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 448
Releases: StackExchange/dnscontrol
v4.22.0
a8a3ea7
Compare
Greetings, DNS fans!
This is a BIG release! You should do extra testing before you put this into production. MSDNS and get-certs
are removed. 2 new providers added. Many, many, other improvements!
Breaking changes:
get-certs
subcommand is removed. It has been unsupported since December 2022 and warnings that it would be removed in July 2025 started about a year ago.- MSDNS (ActiveDirectory DNS) provider has been removed, as it can no longer be supported.
Other exciting news:
- New providers: ADGUARDHOME, FORTIGATE
- These providers now support concurency: LUADNS, MYTHICBEASTS, PORKBUN
- The --notify flag now makes errors visible to ease debugging
- The documentation list of providers is reorganized into smaller charts
- Many documentation fixes including many broken links now work
- The User-Agent now properly includes a version number
- Many, many, dependencies have been upgraded, including the newest PowerDNS and LUADNS SDKs.
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all our contributors!
Sincerely,
Tom
Changelog
Major features:
- d042b3e: FEATURE: --notify now makes errors visible to make debugging easier (#3614) (@hmoffatt)
- 3ea7ea8: FEATURE: Support ignoring the
ech=
parameter inHTTPS
/SVCB
RR types (#3485) (@gucci-on-fleek) - e1830ab: NEW PROVIDER: ADGUARDHOME (#3638) (@ishanjain28)
Provider-specific changes:
- 855624a: DIGITALOCEAN: DOCS: update instructions for creating API token (#3617) (@hmoffatt)
- 5a2a53c: FORTIGATE: Fix init provider (#3654) (@KlettIT)
- e9b49e2: LUADNS: Support HTTPS record type, enable concurrency, adopt newest SDK (#3640) (@riku22)
- 4efa09b: MYTHICBEASTS: Mark as concurrent verified. (#3631) (@tomfitzhenry)
- e5eab4f: MYTHICBEASTS: Performance improvement: Use the OAuth2 client credentials protocol (#3629) (@tomfitzhenry)
- 75821a8: NS1: code reorganization (#3622) (@costasd)
- 4ce1935: PORKBUN: Improve retry handling, mark as concurrent (#3652) (@jamesog)
- 4672409: PORKBUN: fix SVCB params (#3650) (@imlonghao)
Documentation:
- 0d081ba: DOCS: RWTH provider is only available via the intranet (#3497) (#3623) (@MisterErwin)
- a8c41d9: DOCS: Added requested provider Sav.com (#3635) (@cafferata)
- 1a7cb20: DOCS: Added requested providers Scaleway (#3609) (@cafferata)
- 0a4162f: DOCS: How to add a requested provider (#3636) (@cafferata)
- 1f8b7d0: DOCS: Linkspector URI fixes (#3625) (@cafferata)
- e5f4d97: DOCS: [GitBook] Refactor structure to match URL paths and fix missing page links (#3613) (@cafferata)
- b2e3775: DOCS: add links to help jump to provider table anchors (#3619) (@chicks-net)
CI/CD:
- adfe033: Build(deps): Bump brace-expansion from 2.0.1 to 2.0.2 (#3632) (@dependabot[bot])
- 9fc9814: Build(deps): Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#3644) (@dependabot[bot])
Dependencies:
- 0d60e0c: CHORE: Update dependencies (#3643) (@tlimoncelli)
- 6fdbac7: CHORE: Update dependencies (#3659) (@tlimoncelli)
- f825243: CHORE: Update dependencies (#3666) (@tlimoncelli)
- b66251b: CHORE: update dependencies and fmt (#3655) (@tlimoncelli)
Other changes and improvements:
- 919ce24: BUG: Fix --notify on preview and on error (#3616) (@hmoffatt)
- 74e1bb5: BUG: Output better "version" string when running main.go directly (#3658) (@jamesog)
- cd8892f: BUG: User-Agent should include DNSControl version (#3653) (@jamesog)
- d37736e: CHORE: Linting (#3645) (@tlimoncelli)
- a0d04a1: CHORE: Remove "get-certs" command (#3657) (@tlimoncelli)
- 1ccd5eb: CHORE: Remove the MSDNS provider (#3656) (@tlimoncelli)
- a8a3ea7: CHORE: remove unused module pkg/acme (get-certs) (#3667) (@tlimoncelli)
- 3bdbb48: NEW PROVIDE: FORTIGATE (#3642) (@KlettIT)
- 874ba79: REFACTOR: Rename commands/zonecache.go (#3646) (@tlimoncelli)
- 8a6baa7: Reapply "CHORE: Remove the MSDNS provider (#3656)" (@tlimoncelli)
- 81a916c: Remove docs (@tlimoncelli)
- e0e610c: Remove docs (@tlimoncelli)
- e9f1360: Revert "CHORE: Remove the MSDNS provider (#3656)" (@tlimoncelli)
- 50e4bfb: Revert "Remove docs" (@tlimoncelli)
- c5e9cd1: Revert "Remove docs" (@tlimoncelli)
- 188343d: Revert "remove commands/getCerts.go" (@tlimoncelli)
- e3b6141: chore: update go-powerdns to v0.6.7 and adjust SOAEditAPI type (#3664) (@jpbede)
- 1fa31c7: remove commands/getCerts.go (@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.
Assets 14
- sha256:f14b9b188e098bb97b757719d5f918deb72687b662bedb04907bec3eea3b1287
2025-07-14T20:11:49Z - sha256:9b609494bf6c97383d19ba1c04d87fc0df8bd4536cdbb580080eadd690f95c0a
2025-07-14T20:11:49Z - sha256:ad6872006ec8866950746b96a69f4c63262c6cf1196a5a89f3ef495dd050e0be
2025-07-14T20:11:49Z - sha256:0a827cbe86d730de97a8bf3d3ccad330bd101209cf2e8d5cc845784ae96ca6b1
2025-07-14T20:11:47Z - sha256:1e3e7f7e1696f5484fadd31c56041ace20d6add53e01d86ad8859fd94447cd0d
2025-07-14T20:11:48Z - sha256:c5a0eebbcb3ed47606ecba4bb90a65ac3c7752b3cc6644a555e9ebf66da21bfe
2025-07-14T20:11:47Z - sha256:592d8364537374a29a74da52964e7ef8710c8e7154a25dc643367717e815aad1
2025-07-14T20:11:45Z - sha256:10f6f45aa79e40ef9d31218f60af30aa4826319a0a731ebd9d1caf0aa9e4a1e1
2025-07-14T20:11:45Z - sha256:027e8bb41b3ac84bb17e406a4d6c769eac54fe3b0a22823550860cc8a835f803
2025-07-14T20:11:45Z - sha256:0a1f7e0614c27edc1a0fc760cbe0d9f3e9fc4552bd6038178ff3c4de1ccbf1c8
2025-07-14T20:11:45Z -
2025-07-14T20:02:29Z -
2025-07-14T20:02:29Z - Loading
v4.21.0
df7bf9f
Compare
Greetings, DNS fans!
What's new? GCORE and NS1 now handle zone creation and listing better. I'm also excited to announce the new "providers page" (which is auto-generated). It is much more readable. Many people were involved in this change, with @chicks-net taking the lead and writing the code. View the results here: https://docs.dnscontrol.org/provider/index
There were many documentation updates and bugfixes.
Reminder: get-certs
(cert renewals) and the MSDNS
provider are scheduled to be removed in July 2025. See below.
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all our contributors!
Sincerely,
Tom
Changelog
Provider-specific changes:
- cdbd540: GANDI_V5: BUGFIX: Uppercase labels fail to update (#3582) (@tlimoncelli)
- 113c1ac: GCORE: Implement ListZones to allow auto create zones (#3588) (@xddxdd)
- 08a6af8: NS1: Add missing ListZones() (#3600) (@costasd)
Documentation:
- 87cd4f4: DOCS: generate smaller tables for feature matrix (2nd try) (#3589) (@chicks-net)
- 8c69cee: DOCS: Update providers and registrars list to latest (#3580) (@matteotrubini)
- 52e7caa: DOCS: Update reference to providers index in PR submission checklist (#3575) (@jbelien)
- e140acb: CNR: Update docs with proper Nameserver example (#3592) (@mejofi)
- 6e96b76: DOCS: Add Porkbun as supported registrar and update usage examples (#3578) (@matteotrubini)
- 1d148f4: DOCS: document redirect types (#3585) (@willpower232)
CI/CD:
- c32432e: BUILD: GoReleaser changelog dependencies regex (#3593) (@cafferata)
- 75a66e4: Build(deps): Bump alpine from 3.21.3 to 3.22.0 (#3599) (@dependabot[bot])
- bf5a425: Build(deps): Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.9.0 to 1.10.0 (#3595) (@dependabot[bot])
- d7d5a6b: Build(deps): Bump github.com/digitalocean/godo from 1.146.1 to 1.150.0 (#3596) (@dependabot[bot])
- b7df6d5: Build(deps): Bump github.com/huaweicloud/huaweicloud-sdk-go-v3 from 0.1.148 to 0.1.152 (#3598) (@dependabot[bot])
- cffa7e4: Build(deps): Bump github.com/mittwald/go-powerdns from 0.6.6 to 0.6.7 (#3594) (@dependabot[bot])
- 9af2e8a: Build(deps): Bump github.com/oracle/oci-go-sdk/v65 from 65.91.0 to 65.92.0 (#3597) (@dependabot[bot])
- 437e46f: Build(deps): Bump tar-fs from 3.0.8 to 3.0.9 (#3601) (@dependabot[bot])
Dependencies:
- 217f410: CHORE: Update dependencies (#3602) (@tlimoncelli)
- df7bf9f: CHORE: Update dependencies (#3604) (@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.
Assets 14
v4.20.0
7882326
Compare
Greetings, DNS fans!
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all our contributors!
Changelog
Provider-specific changes:
- be081cd: AUTODNS: Enable "get-zones" (ListZones, EnsureZoneExists, GetRegistrarCorrections) (#3568) (@flokli)
- 5e4d68b: CLOUDFLAREAPI: Enable inserting DS records at the domain apex (even if they may be rejected) (#3571) (@tlimoncelli)
- 97bbc80: INWX: BUGFIX: ALIAS RRs updates are broken due to trailing dot issue (#3564) (@eliheady)
- 277a260: ROUTE53: BUGFIX converting alias to cname causes failure (#3567) (@tlimoncelli)
Other changes and improvements:
- 7882326: CHORE: generate-all.sh (#3572) (@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.
Assets 14
v4.19.0
ba67db2
Compare
Greetings DNS fans!
This is mostly a bugfix release. INWX adds AutoDNSSEC and ALIAS support, plus a bunch of other cleanups thanks to @eliheady!
NEWS: Github Discussions has been enabled. We hope it will become the best place for questions and discussions!
REMINDER: get-certs
(SSL cert generation via ACMV/LetsEncrypt) and the MSDNS
provider will be removed in a few months. Most likely late July.
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all our contributors!
Best,
Tom
Changelog
General changes:
- 7a4c16f: BUGFIX: REV fails in D_EXTEND for IPv6 addresses (#3552) (@tlimoncelli)
Provider-specific changes:
- cf971b8: AXFRDDNS: Ignore ZONEMD records (#3551) (@gucci-on-fleek)
- e2c4a4a: AZURE: populate zone cache after creating zone (#3329) (@das7pad)
- 6974335: AZURE_DNS: Dedupe nameserver (#3526) (@vatsalyagoel)
- 5715b84: BUNNY_DNS: Support DNSSEC and fix Null MX parsing (#3547) (@ppmathis)
- 25fa91c: DESEC: Properly support punycode domains (#3479) (@networkException)
- 1c04aff: INWX: Add AutoDNSSEC support (#3534) (@eliheady)
- cfaa82f: INWX: Fix Null MX handling (#3524) (@eliheady)
- 76e1d38: INWX: populate zone cache after creating zone (#3334) (@das7pad)
- c204cce: INWX: support ALIAS records (#3499) (@tennox)
- 07ffb3a: INWX: use domain ACE encoding as cache key (#3519) (@eliheady)
- 03932c9: NAMECHEAP: fix support for url etc records (#3538) (@willpower232)
- 605ec55: PORKBUN: Add support for SVCB and HTTPS record types. (#3527) (@jcjones)
- 6322a62: POWERDNS: Add support for DNAME, HTTPS, SVCB, and DNSKEY record types (#3525) (@vfreex)
Documentation:
- c4f5bda: DOCS: add for CONCURRENCY_VERIFIED (#3510) (@gotjoshua)
- 6a008a9: DOCS: Added requested providers Netim (#3517) (@cafferata)
- e41a6ba: DOCS: Fix link to contributor responsibilities (#3528) (@tlimoncelli)
- 9c7fafa: DOCS: Reclassify providers concurrency status (#3518) (@cafferata)
Other changes and improvements:
- bb7f881: BUG: Fixed concurrency verified matrix builder (#3537) (@cafferata)
- d0fffaf: BUGFIX: types fix: CAA_BUILDER accepts string[] or string for issue (#3546) (@eliheady)
- cf26268: CHORE: Update dependencies (#3560) (@tlimoncelli)
- ba67db2: CHORE: generate-all.sh (#3561) (@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.
Assets 14
v4.18.0
587519e
Compare
Greetings DNS fans!
This is mostly a bugfix release. Some highlights include:
- 475f99b: D_EXTEND works better with REV, some bugs still remain (#3488) (@tlimoncelli)
- 7661175: typescript improvements for require_glob optional (#3508) (@labrown)
- 0097b63: CLOUDFLARE: Changed how CF_REDIRECT names are generated. Your next "push" will rename things.
- 14c3acb: CLOUDFLARE: SINGLE_REDIRECT now permits 307 redirects too (#3514) (@tlimoncelli)
- fef79fb: AUTODNS: enable concurrent gathering of zones (#3494) (@arnoschoon)
- eec0f49: AUTODNS: fix error when restoring existing MX or SRV records (#3492) (@arnoschoon)
- 6bf1fda: INWX: Rewritten to use the modern diff2 system! (#3501) (@eliheady)
- e0e3021: INWX: use provisioned nameservers, fall back to hardcoded defaults (#3502) (@eliheady)
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all our contributors!
Best,
Tom
Changelog
Provider-specific changes:
- 14c3acb: CLOUDFLARE_API: SINGLE_REDIRECT permits more than 301/302 redirects (#3514) (@tlimoncelli)
- fef79fb: AUTODNS: enable concurrent gathering of zones (#3494) (@arnoschoon)
- eec0f49: AUTODNS: fix error when restoring existing MX or SRV records (#3492) (@arnoschoon)
- 0097b63: CLOUDFLARE: CF_REDIRECT "name" should be 3-digits so it sorts better (#3495) (@tlimoncelli)
- 6bf1fda: INWX: move to diff2 for record corrections (#3501) (@eliheady)
- e0e3021: INWX: use provisioned nameservers, fall back to hardcoded defaults (#3502) (@eliheady)
Documentation:
- 5dafc9c: DOCS: Add fmt for .js files to releng process (#3490) (@tlimoncelli)
- 47abf99: DOCS: Added requested providers BookMyName, IPv64 and Spaceship (#3496) (@cafferata)
- 839d510: DOCS: Fix typo in IGNORE.md (#3512) (@gucci-on-fleek)
- 1e5acba: DOCS: language-reference/D: fix broken link (#3486) (@pataquets)
- 7661175: META: typescript: Mark recursive parameter of require_glob optional (#3508) (@labrown)
CI/CD:
- 0d8dcea: BUILD: Move regen steps to a script (#3491) (@tlimoncelli)
- 5d4f286: Build(deps): Bump actions/cache from 4.2.2 to 4.2.3 (#3505) (@dependabot[bot])
- 9ff73df: Build(deps): Bump actions/upload-artifact from 4.6.1 to 4.6.2 (#3506) (@dependabot[bot])
- 00c9c62: Build(deps): Bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2 (#3503) (@dependabot[bot])
- c5b3ccc: CICD: Detect broken HTML links in the documentation as part of the pipeline (#3439) (@cafferata)
Other changes and improvements:
- 5ad2df1: BUG: fix panic message (#3489) (@tlimoncelli)
- d536805: CHORE: Update dependencies (#3504) (@tlimoncelli)
- 587519e: CHORE: Update dependencies (#3515) (@tlimoncelli)
- 475f99b: bug(rev) D_EXTEND does not work with REV (#3488) (@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.
Assets 14
v4.17.0
f281698
Compare
Greetings DNS fans!
This is mostly a bugfix release. Most notable is that @eliheady fixed how split horizon domains work with the push --domains
flag. Not only are the bugs fixed, but wildcards now work! See https://docs.dnscontrol.org/commands/preview-push for details.
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all our contributors!
Best,
Tom
Changelog
Major features:
Provider-specific changes:
- 2c56f68: CLOUDFLAREAPI: Future-proof how ALIAS is handled (#3436) (@tlimoncelli)
- ea645bf: DNSMADEEASY: populate zone cache after creating zone (#3333) (@das7pad)
- ad308f6: OVH: Bugfix: Native DMARC records rejected for subdomains (#3440) (@masterzen)
- 063d8b0: BUNNY_DNS: Add support for
Redirect
record (#3472) (@stevenrombauts)
Documentation:
- f3bdb17: DOCS: Fix quoting issue in D.md (#3446) (@labrown)
- e91289b: DOCS: Fixes broken GitHub badge (#3438) (@cafferata)
- 83a36a6: DOCS: SOA RNAME description isn't accurate (#3481) (@jpmens)
- 5c18be2: DOCS: Update migrating.md to match BIND's current behavior (#3454) (@udf2457)
- e0e32ca: DOCS: fix broken links (#3437) (@imlonghao)
- 0d92d7a: DOCS: fix link to writing-providers.md (#3430) (@nyanotech)
CI/CD:
- 59183f3: Build(deps): Bump actions/cache from 4.2.0 to 4.2.1 (#3459) (@dependabot[bot])
- bd2c940: Build(deps): Bump actions/cache from 4.2.1 to 4.2.2 (#3480) (@dependabot[bot])
- 6aeacc6: Build(deps): Bump actions/upload-artifact from 4.6.0 to 4.6.1 (#3458) (@dependabot[bot])
- 38fd85a: Build(deps): Bump alpine from 3.21.2 to 3.21.3 (#3478) (@dependabot[bot])
- 1962fb8: Build(deps): Bump github.com/go-jose/go-jose/v4 from 4.0.4 to 4.0.5 (#3465) (@dependabot[bot])
Dependencies:
- 8c3903e: CHORE: update deps; go generate (#3455) (@tlimoncelli)
Other changes and improvements:
- b0bc29c: BUG: get-zones not generating SOA() statements properly (#3464) (@tlimoncelli)
- f8ae1ee: Bug: HASH() outputs debug info (#3483) (@jpmens)
- c01bfdc: CHORE: Future proof CAA integration test (#3449) (@tlimoncelli)
- f281698: CHORE: Update dependencies (#3484) (@tlimoncelli)
- 311b6d8: REFACTOR: Split integration_test.go (it should mostly contain data tables) (#3420) (@tlimoncelli)
- 3f8f9e7: refactor(RecordConfig): Use ChangeType() instead of assignment (#3441) (@tlimoncelli)
- 2c4cc0c: refactor(current-domain) Remove dot from current-domain (#3433) (@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.
Assets 14
v4.16.0
4d7b485
Compare
Greetings, DNSControl fans!
Welcome to v4.16.0!
Big change: As announced in October 2024, this release removes the old non-concurrent preview/push code. The new code is faster, easier to maintain, easier to add new features. This release removes: ppreview
, ppush
and --cmode=legacy
command-line options. Providers marked as unable to run concurrently run one zone at a time. Thanks to everyone for all the testing, comments, and suggestions!
This release has one other notable new feature: Azure DNS authentication is now modernized and supports OIDC. Thanks to @lckz!
This is a community project and we couldn't do it without all our contributors! This release has PRs from 10 people. Thanks! We couldn't do it without you!
Thanks!
Tom
Changelog
Major features:
- 15a22ae: FEATURE: Enable OIDC support for Azure DNS provider (#3398) (@lckz)
- 304515d: FEATURE: Remove ppreview/ppush and cmode=legacy (#3412) (@tlimoncelli)
Provider-specific changes:
- 4f5655e: NS1: remove deprecated NS1_URLFWD (#3400) (@costasd)
- f80c1c0: POWERDNS: Allow editing the SOA record (#3404) (@Veratil)
Documentation:
- 4d94fcc: DOCS: Provider request: Vercel DNS (#3416) (@cafferata)
CI/CD:
- defa4dc: Build(deps): Bump alpine from 3.21.0 to 3.21.2 (#3410) (@dependabot[bot])
- 93467a4: CICD: GoReleaser archives format_overrides deprecation (#3417) (@cafferata)
Other changes and improvements:
- f264047: BUG: create zones on push regardless of --populate-on-preview=false (#3402) (@das7pad)
- 5b9f304: CHORE: Update dependencies (#3414) (@tlimoncelli)
- 4d7b485: CHORE: Update dependencies (#3418) (@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.
Assets 14
v4.15.6
901a3ac
Compare
Hello DNS fans!
Apologies for the many releases this week.
This one fixes a bug with the MSDNS provider. If you don't use MSDNS, there's no reason to rush to upgrade.
I'm experimenting with Github's "pre-release" feature as a way to do more testing before releases are official. This release will be published but not marked "production" until after those tests are complete. I don't know how long that will take. There's a chance this release will be cancelled as I learn how this feature works.
Tom
Changelog
Provider-specific changes:
- 70e9659: MSDNS: Provider is failing due to lint fix gone wrong (#3396) (@tlimoncelli)
Other changes and improvements:
- 901a3ac: CHORE: Update dependencies (#3397) (@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.
Assets 14
v4.15.5
5e15bbe
Compare
Hello DNSControl fans!
Sadly a performance regression that affects CLOUDFLAREAPI and HETZNER users was observed shortly after v4.15.4 shipped. Please ignore v4.15.4 and jump directly to v4.15.5.
Apologies! We're updating our release process to avoid this particular situation in the future.
Tom
Changelog
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.
Assets 14
v4.15.4
a631c5b
Compare
Hello DNSControl fans!
Tons of great contributions this time!
Global features:
- The most visible change is that
preview
will create missing zones at a provider. Disable this with--populate-on-preview=false
. - PTR fans will appreciate that magic PTRs now support RFC4183-style names.
- Plus many documentation improvements, code fixes, and smaller bugs fixed.
Provider improvements:
- CLOUDFLARE: TTL=300 hasn't been special for a long time. Now our code reflects that.
- CNR adds ALIAS support, better error checking, and is significantly faster in general.
- GCLOUD is now more resilient as it will attempt a one retry on 502 errors.
- HEXONET: Add error handling for MX and SRV record priority
- INWX now supports SRV "." targets
- POWERDNS fixes preview/push of non-existent zones.
- ROUTE53 now supports HTTPS, SSHFP, SVCB, and TLSA record types.
- TRANSIP is a lot faster and supports rate-limiting.
On the code side: Many warnings from golangci-lint have been fixed; a ZoneCache primitive has been added which will make it easier for providers to safely cache the list of zones at a provider (currently in use by CLOUDFLAREAPI and HETZNER; we'll convert other providers in the future).
This is a community project and we couldn't do it without all our contributors! This release has PRs from 10 people. Thanks! We couldn't do it without you!
Tom
REMINDER: "ppreview" and "ppush" are going away in Release v4.16 (the next release!). See #3142
Changelog
Major features:
- ab00797: FEATURE: Extend PTR magic handling to support RFC4183 names (#3364) (@tomhughes)
Provider-specific changes:
- 0d5b3c2: CLOUDFLARE: adopt ZoneCache (#3373) (@das7pad)
- 3556439: CLOUDFLAREAPI: No longer treat TTL=300 as special (#3368) (@tlimoncelli)
- a3d6c51: CNR: Add support for ALIAS record type (#3360) (@AsifNawaz-cnic)
- a631c5b: CNR: Initial Performance improvement; golint review (#3391) (@KaiSchwarz-cnic)
- c348e35: GCLOUD: CICD: Skip the pager1201 integration test (#3383) (@tlimoncelli)
- f666af8: GCLOUD: Re-try on 502 errors (#3376) (@tlimoncelli)
- 67db0e2: GCLOUD: remove (irrelevant) slow test (#3384) (@tlimoncelli)
- 2ef2362: HETZNER: adopt ZoneCache (#3372) (@das7pad)
- b5b2873: HEXONET: Add error handling for MX and SRV record priority parsing (#3355) (@AsifNawaz-cnic)
- 4956d3d: HEXONET: Skip unneeded test to speed up CICD (#3348) (@tlimoncelli)
- 1a1a4bf: INWX: Enable SRV to have "." target (#3380) (@tlimoncelli)
- 89c65b6: INWX: Permit "." target for SRV records (#3377) (@tlimoncelli)
- d13cf0f: POWERDNS: fix preview/push of a non-existent zone (#3338) (@Veratil)
- cc366d4: ROUTE53: Add HTTPS, SSHFP, SVCB, and TLSA record types (#3316) (@bdd)
- 8a2cf1f: TRANSIP: Change to zone-based updates to dramatically improve speed of updates (#3362) (@blackshadev)
- 5cfb907: TRANSIP: Pause when rate-limited (#3378) (@tlimoncelli)
Documentation:
- 519e4f8: DOCS: Provider URI redirect (#3307) (@cafferata)
- f971885: DOCS: Rackspace Cloud DNS provider request (#3322) (@cafferata)
CI/CD:
- 16159f3: Build(deps): Bump actions/upload-artifact from 4.5.0 to 4.6.0 (#3356) (@dependabot[bot])
- 9e88b6a: CICD: Make pager tests more visible (#3387) (@tlimoncelli)
- fc2c506: CICD: Warn user if -provider does not match profiles.json:TYPE (#3375) (@tlimoncelli)
Other changes and improvements:
- 556926a: BUG: Create zones ahead of gathering data (#3337) (@das7pad)
- 5dbe5e8: CHORE: Fix lint warnings from golangci-lint (#3311) (@tlimoncelli)
- 1742e65: CHORE: Rename
-provider
to-profile
within the GitHub integration tests. (@cafferata) - 533c7e0: CHORE: Rename
-provider
to-profile
within the documentation. (@cafferata) - e8bf7c7: CHORE: Rename
-provider
to-profile
within the integration tests. (@cafferata) - b87fb50: CHORE: Rename
providers.json
toprofiles.json
within the documentation. (@cafferata) - 59afd10: CHORE: Rename
providers.json
toprofiles.json
within the integration tests. (@cafferata) - e1c9785: CHORE: Update dependencies (#3385) (@tlimoncelli)
- 5c9b170: FEAT: Add ZoneCache primitive (#3365) (@das7pad)
- 2461f3d: REFACTOR: prettysort should unify FQDN to "@" earlier (#3323) (@tlimoncelli)
- 6926338: TESTING: Improve AXFRDDNS integration tests (#3317) (@hnrgrgr)
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.