Greetings DNS fans!
Release highlights:
- NEW PROVIDER: DNSControl now supports NetBird! Thanks and welcome to @yzqzss who joins the project as its maintainer. We look forward to great things!
dnscontrol inithas come a long way!- It now downloads existing DNS records and builds your dnsconfig.js! Thanks, @cafferata!
- Support has been added for: ALIDNS, AZURE_DNS, BUNNY_DNS, CLOUDFLAREAPI, CNR, DIGITALOCEAN, GANDI_V5, GCLOUD, GCORE, HEDNS, HETZNER_V2, HOSTINGDE, HUAWEICLOUD, LOOPIA, LuaDNS, MYTHICBEASTS, and NAMECHEAP! Thanks, Claude and the various provider maintainers!
- DOCS: README.md has been reorganized and CONTRIBUTING.md has been added. Thanks, @cafferata!
- Adding new providers has fewer steps thanks to automation of certain file updates. Thanks, @cafferata!
- And much, much, more!
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:
- bbd1109: FEATURE:
init- verify credentials, select zones and import records (#4301) (@cafferata) - 47d64a9: NEW PROVIDER: Netbird DNS Zone (#4170) (@yzqzss)
Provider-specific changes:
- 36eb061: ALIDNS: support init command (#4271) (@TomOnTime)
- 4f752f3: AZURE_DNS: support init command (#4273) (@TomOnTime)
- ddd7cfc: BUNNY_DNS: support init command (#4275) (@TomOnTime)
- 9c3c609: CLOUDFLAREAPI: support init command (#4276) (@TomOnTime)
- 490f205: CNR: support init command (#4278) (@TomOnTime)
- 0623421: DIGITALOCEAN: support init command (#4280) (@TomOnTime)
- 9e20bcc: GANDI_V5: Enable init and get-zones (list) subcommands (#4285) (@TomOnTime)
- a2db481: GCLOUD: support init command (#4286) (@TomOnTime)
- 7317995: GCORE: support init command (#4287) (@TomOnTime)
- 1a66a42: HEDNS: support init command (#4289) (@TomOnTime)
- c8b185d: HETZNER_V2: support init command (#4290) (@TomOnTime)
- 7aaaa23: HOSTINGDE: support init command (#4291) (@TomOnTime)
- b3ff376: HUAWEICLOUD: implement DNSSEC support (#4302) (@huihuimoe)
- 7407870: HUAWEICLOUD: support init command (#4292) (@TomOnTime)
- a20948e: LOOPIA: support init command (#4296) (@TomOnTime)
- 4585492: LUADNS: changed to use record set to perform bulk operations (#4264) (@riku22)
- 368f43b: LuaDNS: support init command (#4268) (@riku22)
- 16c26ac: MYTHICBEASTS: support init command (#4298) (@TomOnTime)
- d128d50: NAMECHEAP: support init command (#4299) (@TomOnTime)
- 037df27: POWERDNS: Add support for automatic address hints in SVCB/HTTPS records (#4305) (@jpbede)
- a38886a: VERCEL: add to integration test (#3876) (@SukkaW)
Documentation:
- 3b93949: DOCS: Add CONTRIBUTING.md with developer onboarding guide (#4261) (@cafferata)
- 15056c9: DOCS: Reorganize README.md (#4263) (@cafferata)
CI/CD:
- 3825104: Build(deps): Bump brace-expansion from 5.0.5 to 5.0.6 (#4307) (@dependabot[bot])
- 7993952: CI: run scripts and format files (#4306) (@jpbede)
- 23b4816: CICD: Auto-generate labeler config for provider labels (#4269) (@cafferata)
- 4f95575: CICD: Do not run all tests on VERCEL in GHA (#4260) (@TomOnTime)
Other changes and improvements:
- 7887ffd: CHORE: Update old Go module path in flattener.js (#4262) (@cafferata)
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.