Release history
DNSControl releases
Infrastructure as code for DNS!
All releases
16 shown
TencentCloud, AzurePrivateDNS, Namecheap, Oracle, Route53, CI/CD
NetBird provider, init expansion, doc & CI automation
Minor fixes and improvements.
Full changelog
Greetings DNS fans!
There are no new features or bugfixes in this release. The only changes are related to fixing build issues. If you couldn't access the Docker Hub container images, this will hopefully fix that problem. We won't know until we've done a release.
Sincerely,
--Tom Limoncelli
Monthly video call!
Everyone is invited to the Monthly DNSControl Community Video Conference Call on the 2nd Tuesday of each month. Join whether you are a new user with questions or an experienced developer that wants to discuss DNSControl internals... or anything in between! Meeting details on
GitHub Discussions.
Changelog
CI/CD:
- c77498f97c6a68fc83500a1b68c027a10a7fec3e: Build(deps): Bump actions/cache from 5.0.3 to 5.0.5 (#4197) (@dependabot[bot])
- 8ccf7027c320908d4dde8369e04b93bdce83461b: Build(deps): Bump actions/upload-artifact from 7.0.0 to 7.0.1 (#4196) (@dependabot[bot])
- 05186f911083c676bdc49ca1b872bd84a2210c31: CICD: Integration test output not visible (#4230) (@TomOnTime)
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
- NAMEDOTCOM, OPENSRS 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.
Install
macOS and Linux
Install with Homebrew (recommended)
brew install DNSControl/tap/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/dnscontrol/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/DNSControl/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/tap/dnscontrol
Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.
- Update Homebrew installation to `DNSControl/tap/dnscontrol` via `brew uninstall stackexchange/tap/dnscontrol && brew install DNSControl/tap/dnscontrol`
- Docker images are now published at docker.io/dnscontrol/dnscontrol and ghcr.io/dnscontrol/dnscontrol
- REV() will switch from RFC2317 to RFC4183 in version 5.0, altering its output format.
- IGNORE()'d record report now emitted in dnsconfigjs format
- GCLOUD provider gains metadata‑driven DNSSEC support
Full changelog
Greetings DNS fans!
It's been a while since the last release. Thank you for your patience. We have some exciting news!
DNSControl has gone independent! The GitHub repos have been transfers to an independent GitHub org appropriately named DNSControl. We thank Stack Overflow for their past support and a special thanks to the SO employees (CP and RJ especially) involved in the negotiations and the technical work to complete the transfers that followed.
- Due to the change, our CI/CD pipeline required many updates. The goal of this release is to fix those issues without introducing any new features. See https://github.com/DNSControl/dnscontrol/issues/4227 for details. It also includes some bug fixes and new features that had been merged but not yet released prior to the separation.
- Once we're confident the new system works, we'll start merging the PRs that have been accumulating since May.
Special thanks to @cafferata and @chicks-net for their help getting this release across the finish line!
Action needed: New names
New org, new names!
Homebrew is now DNSControl/tap/dnscontrol. You'll want to uninstall the old name:
brew uninstall stackexchange/tap/dnscontrol
brew install DNSControl/tap/dnscontrol
There are new URLs for Containers:
- Docker hub: https://hub.docker.com/r/dnscontrol/dnscontrol/
- GitHub Container Registry: https://github.com/dnscontrol/dnscontrol/pkgs/container/dnscontrol
The official GitHub Action is now:
- https://github.com/DNSControl/dnscontrol-action
- Please update your
.githubfiles.
Release highlights:
- Many PRs related to the separation including CICD and documentation fixes. @cafferata took on most of the burden!
- e4702af24985b07fd291f0e0ed70f745027a379b: NEW FEATURE: IGNORE()'d record report now in dnsconfigjs format (#4148) (@tlimoncelli)
- cfa11260f61e0bd08e2913e58446900a3368c61a: BUGFIX: Make
OPENPGPKEYrecords functional. (#4139) (@gucci-on-fleek) - d6cb9148575411f92f16e1572ef9f811ca0a4a55: BUGFIX: Two global flags can be appreviated to -v, causing confusion (#4141) (@tlimoncelli)
Provider-specific changes:
- 49260f570fe31574435457cb3abf98403e238d26: GCLOUD: Enable support for metadata-driven DNSSEC (#4147) (@miono)
- 342e4d1e5ba9367348847ffcbdadb8788a48b1cf: CLOUDFLAREAPI: Document auto-maintained records, debug mode (#4146)
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all of your contributions!
Sincerely,
--Tom Limoncelli
Monthly video call!
Everyone is invited to the Monthly DNSControl Community Video Conference Call on the 2nd Tuesday of each month. Join whether you are a new user with questions or an experienced developer that wants to discuss DNSControl internals... or anything in between! Meeting details on
GitHub Discussions.
Changelog
Major features:
- e4702af24985b07fd291f0e0ed70f745027a379b: NEW FEATURE: IGNORE()'d record report now in dnsconfigjs format (#4148) (@tlimoncelli)
Provider-specific changes:
- 49260f570fe31574435457cb3abf98403e238d26: GCLOUD: Enable support for metadata-driven DNSSEC (#4147) (@miono)
- 342e4d1e5ba9367348847ffcbdadb8788a48b1cf: CLOUDFLAREAPI: Document auto-maintained records, debug mode (#4146) (@tlimoncelli)
Documentation:
- 92d4efa3d4b5f00fb731fc9b318b9dbfe8556c44: DOCS: Fixed 404 account URL in namedotcom documentation (#4168) (@cafferata)
- 5ec62101758144f0c2fad8f3b9f2baf9888a8da0: DOCS: Homebrew-tap GitHub fine-grained PAT (#4228) (@cafferata)
- fc6e497a9f1952cc6e15d6cbd91f9e7dcbaf8705: DOCS: Remove Stack Overflow weekly accomplishments from release steps (#4226) (@cafferata)
CI/CD:
- 58966dc9403aa37ca83859f6f69a1bfc146e22cb: BUILD: Fix typo in GoReleaser GHCR image path (#4223) (@cafferata)
- ec4726bf0194dd6260b1c059fec77f01111aeec2: BUILD: Speed up GoReleaser in PR builds with --single-target --skip=before (#4167) (@cafferata)
- 70f410c5f9fa843625b42f6f3a2f014ddbeb5933: Build(deps): Bump alpine from 3.23.3 to 3.23.4 (#4212) (@dependabot[bot])
- 7ef968281712694b734ec22881fb9ef972cb54d5: Build(deps): Bump docker/login-action from 3 to 4 (#4144) (@dependabot[bot])
- 28cde9c6b3873e2439792a2fbb282586195db5bc: Build(deps): Bump docker/setup-buildx-action from 3 to 4 (#4143) (@dependabot[bot])
- 10e244e82214415466f9e4fe202ea40d32384a43: Build(deps): Bump docker/setup-qemu-action from 3 to 4 (#4142) (@dependabot[bot])
- 5744b1defa51a33ecb091a92a39a4edac1cbe02b: CICD: Automate release prep steps: bin/prepare_release.sh (#4145) (@tlimoncelli)
- d582b8843286821701202f092493ef3e534c20de: CICD: Run integration tests daily/manually instead of with each push (#4150) (@tlimoncelli)
- b4ef11b4b2ebadf9803e7b9e44bbdb7576e70bcd: CICD: pr_integration_tests.yml should only run a smoke test unless fulltest is needed (#4153) (@tlimoncelli)
- 7aa4fb3ffe9f509b1174133622d314344f9c8b9b: cicd(gocov): Upgrade from golang.org/x/exp/slices to slices (#4217) (@TomOnTime)
- 39f5775bccdc158a2e16c44900d3b33bbe318de1: cicd(golangci): Exclude govet false positive (#4215) (@TomOnTime)
Dependencies:
- b2cab1129d012bb99508262461374eaba483005c: CHORE: Update dependencies (#4222) (@TomOnTime)
- 6cb7f44d82c09ff3c7d995c7554801007803062b: CHORE: Update dependencies (#4229) (@TomOnTime)
Other changes and improvements:
- cfa11260f61e0bd08e2913e58446900a3368c61a: BUGFIX: Make
OPENPGPKEYrecords functional. (#4139) (@gucci-on-fleek) - d6cb9148575411f92f16e1572ef9f811ca0a4a55: BUGFIX: Two global flags can be appreviated to -v, causing confusion (#4141) (@tlimoncelli)
- 3b9fac8354f3fcddf81d619913f9c822c3b1f562: CHORE: fmt github yml files (#4149) (@tlimoncelli)
- f62e69116236425fbb687cd37945446c3d9766f7: Fix .goreleaser.yml (@TomOnTime)
- 2f3c93708d31f5474b10e678f415dc111a8842d6: Fix .linkspector.yml (@TomOnTime)
- 560c67b908cb28dad3d8a734dbe0e9f8e8b2c4a4: Fix README (@TomOnTime)
- b155ae49ac9be9896117e0f55087726fb73f04c5: Fix
StackExchangein docs (@TomOnTime) - c4531b21d21489337aa50c3db3b8a46eb2d759fb: Fix actions (@TomOnTime)
- 80da7b1ec21f3eb8a1e872717f487e93f581974f: Fix badges (@TomOnTime)
- f1d0bdfd55c22a8c4e03ae00349f730661f4ab79: Fix build (@TomOnTime)
- d5722fcc5b23c1eee3e865989a9fbf0a636afce6: Fix code-tricks.md (@TomOnTime)
- 16d0d81d36ee203de1a35e579b5f4b4fd837a57d: Fix dockerhub/ghcr references (@TomOnTime)
- 0c2a0c45923d79cb315e4383836644c5598c487b: Fix github pages (@TomOnTime)
- 2e1ab98466d56e45213331cd18c391ea458d697f: Fix gitlab instructions (@TomOnTime)
- 9dbd55700fa3ac2155d060cc989d6df5004707bc: Fix homebrew (@TomOnTime)
- 323d4e12a48fa728a96d2f479b368156a20463de: Fix imports (@TomOnTime)
- 70b1d6e64edf295a3502a37cc0014f17ccda9c86: Fix issues (@TomOnTime)
- 67a137657396ef50f6d1ed4a1ffbec61b2fa0a84: Fix reference to github source (@TomOnTime)
- 006dc26b1e5d7029cba618fea18439aadeb5dee7: Fix release eng (@TomOnTime)
- 5aece98acf53ce295c562a799adc5701f88fff69: Fix remaining references to https://github.com/StackExchange/dnscontrol (@TomOnTime)
- c0043d997c1e00212dcba95e227742193168a369: Fix starchart (@TomOnTime)
- e02fa902fc11512251d6746fcbdddbfc1faa959b: Fix tom's github and email address (@TomOnTime)
- 1343b231c5005880cc4052897f220d80f11206ae: REFACTOR: Change GetZoneRecords() signature (#4152) (@tlimoncelli)
- 6a9ac66cf20c8e0a0117a20cf0ce1846d5f2ebcf: Remove references to blackbox (@TomOnTime)
- 0f20c4bb6b05b0330a98035e8e46fd4fb157ad97: goimports (@TomOnTime)
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
- NAMEDOTCOM, OPENSRS 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.
Install
macOS and Linux
Install with Homebrew (recommended)
brew install DNSControl/tap/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/dnscontrol/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/DNSControl/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/tap/dnscontrol
Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.
- Signed macOS binaries
- Cloudflare performance improvement
- Latest Go compiler
- --cmax default changed from 999 to 100
- DNSIMPLE SVCB/HTTPS/TLSA support
- AXFRDDNS OPENPGPKEY/SMIMEA
- GCLOUD AutoDNSSEC
- HEXONET provider deprecated, use CNR instead
- UniFi Network DNS provider
- Mikrotik RouterOS provider
- MCP Server documentation
- INWX NAMESERVER() now replaces instead of merges registrar list
- BUNNY_DNS PullZone records
- Homebrew code signing
- LINODE CAA flags support
- Cloudflare comment/tag removal
- Linode SRV record support
- Gidinet DNS/registrar provider
- Infomaniak DNS/registrar provider
- Cloudflare record comments
- BunnyDNS SRV '.' targets
- Cloudflare TXT warning suppression
- RFC documentation links
Bugfix release addressing SPF optimizer regression from v4.31.0. Do not use v4.31.0 if relying on SPF optimization.
- DNScale DNS provider
- BUNNYDNS SVCB/HTTPS support
- CLOUDNS zone creation
- CLOUDNS registrar support
- CLOUDNS GeoDNS
- PORKBUN SSHFP/URL records