This release includes 1 breaking change for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
Summary
AI summaryBroad release touches Provider-specific changes, @TomOnTime, macOS and Linux, and @cafferata.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | Medium |
REV() will switch from RFC2317 to RFC4183 in v5.0, a breaking change. REV() will switch from RFC2317 to RFC4183 in v5.0, a breaking change. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
`dnscontrol init` verifies credentials, selects zones, and imports records. `dnscontrol init` verifies credentials, selects zones, and imports records. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Feature | Medium |
New provider Netbird DNS Zone support added. New provider Netbird DNS Zone support added. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
`dnscontrol init` now supported for ALIDNS, AZURE_DNS, BUNNY_DNS, CLOUDFLAREAPI, CNR, DIGITALOCEAN, GANDI_V5, GCLOUD, GCORE, HEDNS, HETZNER_V2, HOSTINGDE, HUAWEICLOUD, LOOPIA, LuaDNS, MYTHICBEASTS, and NAMECHEAP providers. `dnscontrol init` now supported for ALIDNS, AZURE_DNS, BUNNY_DNS, CLOUDFLAREAPI, CNR, DIGITALOCEAN, GANDI_V5, GCLOUD, GCORE, HEDNS, HETZNER_V2, HOSTINGDE, HUAWEICLOUD, LOOPIA, LuaDNS, MYTHICBEASTS, and NAMECHEAP providers. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
README.md reorganized and CONTRIBUTING.md added for developer onboarding. README.md reorganized and CONTRIBUTING.md added for developer onboarding. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Medium |
Automation reduces steps to add new providers. Automation reduces steps to add new providers. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Feature | Low |
HUAWEICLOUD provider now implements DNSSEC support. HUAWEICLOUD provider now implements DNSSEC support. Source: granite4.1:30b@2026-05-20-audit Confidence: low |
— |
| Feature | Low |
POWERDNS adds automatic address hints for SVCB/HTTPS records. POWERDNS adds automatic address hints for SVCB/HTTPS records. Source: granite4.1:30b@2026-05-20-audit Confidence: low |
— |
| Dependency | Medium |
Bump brace-expansion from 5.0.5 to 5.0.6 in dependencies. Bump brace-expansion from 5.0.5 to 5.0.6 in dependencies. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Deprecation | Medium |
NAMEDOTCOM, OPENSRS, and SOFTLAYER providers need maintainers; warnings issued. NAMEDOTCOM, OPENSRS, and SOFTLAYER providers need maintainers; warnings issued. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Refactor | Medium |
Updated old Go module path in flattener.js. Updated old Go module path in flattener.js. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
Full changelog
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:
- bbd110906f6f812a8e4aaceb23ea31bf29fc7715: FEATURE:
init- verify credentials, select zones and import records (#4301) (@cafferata) - 47d64a972ab60f70632013e7c5b700d188fd7377: NEW PROVIDER: Netbird DNS Zone (#4170) (@yzqzss)
Provider-specific changes:
- 36eb0619878119173c7bc8be2f61b7f1d69b5a3a: ALIDNS: support init command (#4271) (@TomOnTime)
- 4f752f368195fa31d617cb2bd8c359b8e64f3107: AZURE_DNS: support init command (#4273) (@TomOnTime)
- ddd7cfcbdf566b137a138de7a24dfe512845afd9: BUNNY_DNS: support init command (#4275) (@TomOnTime)
- 9c3c609442a257be615580f648f75cd695730e6a: CLOUDFLAREAPI: support init command (#4276) (@TomOnTime)
- 490f205b683362b0f1c73bfebb3bbcc4f44e589f: CNR: support init command (#4278) (@TomOnTime)
- 06234211d10bc97932f6841eb52d3e739479a952: DIGITALOCEAN: support init command (#4280) (@TomOnTime)
- 9e20bccad722d0e8907df34f821f92012de3021f: GANDI_V5: Enable init and get-zones (list) subcommands (#4285) (@TomOnTime)
- a2db481c3b35d001facc4bbf07a1b38af8970b45: GCLOUD: support init command (#4286) (@TomOnTime)
- 731799561589af4ed331ab60a5050421d3b3a270: GCORE: support init command (#4287) (@TomOnTime)
- 1a66a428b8c91958202d2f30dc096c2cc796d331: HEDNS: support init command (#4289) (@TomOnTime)
- c8b185d0880a3147fe2bbb9eef62eb6c920d7df8: HETZNER_V2: support init command (#4290) (@TomOnTime)
- 7aaaa233b63ac78c25fbce6f7815583efe283c04: HOSTINGDE: support init command (#4291) (@TomOnTime)
- b3ff3762f0284b3289fe586eebf22e5a14f342ae: HUAWEICLOUD: implement DNSSEC support (#4302) (@huihuimoe)
- 7407870b5839943c2194e0ac280e831e7a938c00: HUAWEICLOUD: support init command (#4292) (@TomOnTime)
- a20948ede0a69a5c77d36acb8395163783bbb9dd: LOOPIA: support init command (#4296) (@TomOnTime)
- 4585492c2bf3efa4d659bdd77211a29ca0abed96: LUADNS: changed to use record set to perform bulk operations (#4264) (@riku22)
- 368f43b62dd339df1bc0eaf290d99eb8b2e3e79c: LuaDNS: support init command (#4268) (@riku22)
- 16c26ac7a9a6e3f7f108368682eba59622583af3: MYTHICBEASTS: support init command (#4298) (@TomOnTime)
- d128d502ce8dbda56ac327cc3c35c6960cbd96b2: NAMECHEAP: support init command (#4299) (@TomOnTime)
- 037df27148913c257cd9a4c8fe9b239c3ff6730e: POWERDNS: Add support for automatic address hints in SVCB/HTTPS records (#4305) (@jpbede)
- a38886a360d3387982b4ea62a40aa8335937957b: VERCEL: add to integration test (#3876) (@SukkaW)
Documentation:
- 3b9394955bf57819b848350367eb8397e513bb1b: DOCS: Add CONTRIBUTING.md with developer onboarding guide (#4261) (@cafferata)
- 15056c9daf6c776b829f7a7ba07bd3da7471de00: DOCS: Reorganize README.md (#4263) (@cafferata)
CI/CD:
- 38251042cfd220c1cd78c98488008d002acf06b2: Build(deps): Bump brace-expansion from 5.0.5 to 5.0.6 (#4307) (@dependabot[bot])
- 79939529673faa999843fa6d89824e87d884d4bd: CI: run scripts and format files (#4306) (@jpbede)
- 23b4816d83e4652f5ad75d2e93d42d02fff4765c: CICD: Auto-generate labeler config for provider labels (#4269) (@cafferata)
- 4f955759f9762f98f03aa409a7195a73f81fef7d: CICD: Do not run all tests on VERCEL in GHA (#4260) (@TomOnTime)
Other changes and improvements:
- 7887ffd6a9444b862e3e8484493d204f14796b49: 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/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.
Breaking Changes
- REV() will switch from RFC2317 to RFC4183 in v5.0 (breaking change).
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Earlier breaking changes
- v4.41.0 REV() will switch from RFC2317 to RFC4183 in v5.0 (breaking change)
- v4.40.0 REV() will switch from RFC2317 to RFC4183 in upcoming v5.0 (breaking change)
- v4.38.0 `dnscontrol get-zones` drops older syntax support, changing behavior
- v4.38.0 REV() will switch from RFC2317 to RFC4183 in v5.0, a breaking change for affected configurations
Beta — feedback welcome: [email protected]