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 #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!
- e4702af: NEW FEATURE: IGNORE()'d record report now in dnsconfigjs format (#4148) (@tlimoncelli)
- cfa1126: BUGFIX: Make
OPENPGPKEYrecords functional. (#4139) (@gucci-on-fleek) - d6cb914: BUGFIX: Two global flags can be appreviated to -v, causing confusion (#4141) (@tlimoncelli)
Provider-specific changes:
- 49260f5: GCLOUD: Enable support for metadata-driven DNSSEC (#4147) (@miono)
- 342e4d1: 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:
- e4702af: NEW FEATURE: IGNORE()'d record report now in dnsconfigjs format (#4148) (@tlimoncelli)
Provider-specific changes:
- 49260f5: GCLOUD: Enable support for metadata-driven DNSSEC (#4147) (@miono)
- 342e4d1: CLOUDFLAREAPI: Document auto-maintained records, debug mode (#4146) (@tlimoncelli)
Documentation:
- 92d4efa: DOCS: Fixed 404 account URL in namedotcom documentation (#4168) (@cafferata)
- 5ec6210: DOCS: Homebrew-tap GitHub fine-grained PAT (#4228) (@cafferata)
- fc6e497: DOCS: Remove Stack Overflow weekly accomplishments from release steps (#4226) (@cafferata)
CI/CD:
- 58966dc: BUILD: Fix typo in GoReleaser GHCR image path (#4223) (@cafferata)
- ec4726b: BUILD: Speed up GoReleaser in PR builds with --single-target --skip=before (#4167) (@cafferata)
- 70f410c: Build(deps): Bump alpine from 3.23.3 to 3.23.4 (#4212) (@dependabot[bot])
- 7ef9682: Build(deps): Bump docker/login-action from 3 to 4 (#4144) (@dependabot[bot])
- 28cde9c: Build(deps): Bump docker/setup-buildx-action from 3 to 4 (#4143) (@dependabot[bot])
- 10e244e: Build(deps): Bump docker/setup-qemu-action from 3 to 4 (#4142) (@dependabot[bot])
- 5744b1d: CICD: Automate release prep steps: bin/prepare_release.sh (#4145) (@tlimoncelli)
- d582b88: CICD: Run integration tests daily/manually instead of with each push (#4150) (@tlimoncelli)
- b4ef11b: CICD: pr_integration_tests.yml should only run a smoke test unless fulltest is needed (#4153) (@tlimoncelli)
- 7aa4fb3: cicd(gocov): Upgrade from golang.org/x/exp/slices to slices (#4217) (@TomOnTime)
- 39f5775: cicd(golangci): Exclude govet false positive (#4215) (@TomOnTime)
Dependencies:
- b2cab11: CHORE: Update dependencies (#4222) (@TomOnTime)
- 6cb7f44: CHORE: Update dependencies (#4229) (@TomOnTime)
Other changes and improvements:
- cfa1126: BUGFIX: Make
OPENPGPKEYrecords functional. (#4139) (@gucci-on-fleek) - d6cb914: BUGFIX: Two global flags can be appreviated to -v, causing confusion (#4141) (@tlimoncelli)
- 3b9fac8: CHORE: fmt github yml files (#4149) (@tlimoncelli)
- f62e691: Fix .goreleaser.yml (@TomOnTime)
- 2f3c937: Fix .linkspector.yml (@TomOnTime)
- 560c67b: Fix README (@TomOnTime)
- b155ae4: Fix
StackExchangein docs (@TomOnTime) - c4531b2: Fix actions (@TomOnTime)
- 80da7b1: Fix badges (@TomOnTime)
- f1d0bdf: Fix build (@TomOnTime)
- d5722fc: Fix code-tricks.md (@TomOnTime)
- 16d0d81: Fix dockerhub/ghcr references (@TomOnTime)
- 0c2a0c4: Fix github pages (@TomOnTime)
- 2e1ab98: Fix gitlab instructions (@TomOnTime)
- 9dbd557: Fix homebrew (@TomOnTime)
- 323d4e1: Fix imports (@TomOnTime)
- 70b1d6e: Fix issues (@TomOnTime)
- 67a1376: Fix reference to github source (@TomOnTime)
- 006dc26: Fix release eng (@TomOnTime)
- 5aece98: Fix remaining references to https://github.com/StackExchange/dnscontrol (@TomOnTime)
- c0043d9: Fix starchart (@TomOnTime)
- e02fa90: Fix tom's github and email address (@TomOnTime)
- 1343b23: REFACTOR: Change GetZoneRecords() signature (#4152) (@tlimoncelli)
- 6a9ac66: Remove references to blackbox (@TomOnTime)
- 0f20c4b: 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/dnscontrolUsing 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 previewAnywhere 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@mainUpdate
Update to the latest version depends on how you choose to install dnscontrol on your machine.
Update with Homebrew
brew upgrade DNSControl/tap/dnscontrolAlternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.