Aquí hi ha 75 versions de DNSControl, des de 16 de febrer del 2023 fins a l’actual, 5.7.1. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
75 versions en 4 anys · unes 20 per any
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 5.7.1Darrera versió | 26 d’octubre del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
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.
Experimental: Try the new D() syntax!
Select credential entries directly with REGISTRAR() and SERVICE() in dnsconfig.js. The legacy syntax remains supported; this revision replaces the experimental PROVIDER()/DNS_SERVICE() syntax from v5.3.0. See the examples in the conversion guide. Please test it and share feedback!
Changelog
Provider-specific changes:
- 2155390b054f3a6ef5ada60b47d148e6337592e5: fix(p/BIND): bug: Writing zonefile mangles "repeated zone" labels (#5037) (@spicysharkco)
- ee93a5550a3d16e3be5a32c9e65154c4cc0da43a: fix(p/NAMECHEAP): stop corrupting TXT records longer than 255 bytes (#5036) (@louneskmt)
- 329c40e606c239dc1748d3b3553538fa0eb774c3: fix(p/AZURE_DNS): bug: intermittent "resource type does not match the type in the request body" errors (#5040) (@TomOnTime)
Bug fixes:
- ec3d8013718ba1dbc838c096e2e51a2572204d7e: fix(D_EXTEND): ignore the empty tag when extending a subdomain (#5034) (@spicysharkco)
- f0e54a988d023e7853d10d457a85229f6859ccb4: fix(IGNORE): bug: .foo and **.foo both act like **.foo (.foo has no "stop" pattern) (#5038) (@spicysharkco)
- d0901a69c08831ff4907c5c3a0d232fbeb83f076: fix(LOC): preserve thousandths of arcseconds in coordinates (#5035) (@spicysharkco)
Deprecation warnings
Warning
- REV() will switch from RFC2317 to RFC4183 sometime after v5.0 is released. This is a breaking change. Warnings are output if your configuration is affected. 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. |
| 5.7.0 | 21 d’octubre del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Release highlights:
- NEW PROVIDER: DNSControl now supports Constellix DNS thanks to @ZeroClover! We look forward to great things!
- MODIFY messages now make provider-specific fields visible
- IGNORE_TARGET now works with HTTPS/SVCB records
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.
Experimental: Try the new D() syntax!
Select credential entries directly with REGISTRAR() and SERVICE() in dnsconfig.js. The legacy syntax remains supported; this revision replaces the experimental PROVIDER()/DNS_SERVICE() syntax from v5.3.0. See the examples in the conversion guide. Please test it and share feedback!
Changelog
Provider-specific changes:
- 71c0081be7405739cd0f39b576b21b62f85572f3: feat(p/CONSTELLIX): add Constellix DNS provider (#5029) (@ZeroClover)
- d1823f78f3d066f21016c7497e9a100d9da9f03a: fix(p/BIND): extract zones from %f and %F filenames (#5026) (@spicysharkco)
Bug fixes:
- 5309786193c4eac2e7308bd3a4c94a279609718d: fix(DKIM_BUILDER): encode non-ASCII notes as UTF-8 octets (#5024) (@spicysharkco)
- 3322ff153376095ddbf00cb3424ef4ed161fc518: fix(LOC_BUILDER_DD): accept zero and reject missing coordinates (#5027) (@spicysharkco)
- d392e6e99c78a33426c0ae39dfb10114838dd3f4: fix(diff2): MODIFY messages no showing provider-specific fields (#5030) (@cvas22)
- 102921652b4a4259af23ffa78456ed567604dc25: fix: make IGNORE_TARGET match HTTPS and SVCB targets (#5028) (@spicysharkco)
Deprecation warnings
Warning
- REV() will switch from RFC2317 to RFC4183 sometime after v5.0 is released. This is a breaking change. Warnings are output if your configuration is affected. 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. |
| 5.5.0 | 15 d’octubre del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Release highlights!
Three BIG changes!
- NEW PROVIDER: DNSControl now supports Misaka.io DNS (MISAKA)! Thanks and welcome to @ZeroClover who joins the project as its maintainer. We look forward to great things!
- New record type: CSYNC. Supported by NETNOD and BIND. Thanks to recent refactoring, it should be easier than ever for other providers to add support.
- New D() syntax! Still experimental and may change. Check out https://docs.dnscontrol.org/getting-started/converting-dnsconfig
(this will become the documented default in the next release; the old syntax will still work)
In developer news:
- OpenSSF Scorecard: This automatic audit is helping us make DNSControl more secure. Thanks to @chicks for taking this on!
- Refactoring: There's been a major overhaul in how providers register themselves. You shouldn't notice any changes, but it is now easier to write a provider. We've also removed a lot of old legacy code as a result.
- Integration tests now automatically run if a provider supports all the record types involved. No more requires(CanUseSRV)!
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
Experimental: Try the new D() syntax!
Select credential entries directly with REGISTRAR() and SERVICE() in dnsconfig.js. The legacy syntax remains supported; this revision replaces the experimental PROVIDER()/DNS_SERVICE() syntax from v5.3.0. See the examples in the conversion guide. Please test it and share feedback! (There may be 1-2 changes before this becomes the documented, default, way to do things.)
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
Provider-specific changes:
- b4d26afec102f1b09e918c8fd24f1061f87db132: feat(p/MISAKA): add Misaka.io DNS provider (#4994) (@ZeroClover)
- c74b089b064f69a5e25b1f71d0fce4e8d787ae8a: feat(p/NETNOD): new record type: CSYNC (RFC 7477) (#4988) (@TomOnTime)
- 0418d8f26957976596c30b5ceec06a3451ffa182: fix(p/CLOUDNS): recognize WR redirect records (#4992) (@sean0407)
- 17a2a6e85a7b784babe72cdfbd591be815fd5a84: fix(p/HUAWEICLOUD): allow CNAME co-exists with GeoDNS (#4987) (@SukkaW)
New features:
- c3581a5b9dc414d5d615f29fbbaa47e29202ed3e: feat(preview): show which fields changed in MODIFY messages (#4990) (@TomOnTime)
Documentation:
- 19b5e48fc7aa6c7da1fec7b2ace6c0595de3f862: docs: fix invalid JavaScript examples (#4984) (@TomOnTime)
CI/CD:
- 3c9d672667dc523c024736b1a71ac22c4ffc1dbb: build(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 (#5005) (@dependabot[bot])
- 1258cd9e99a2adae295a2e11475c35087779c026: ci: add OpenSSF Scorecard analysis (#4993) (@chicks-net)
- b80bc9afcca9f0b800480d01c08c514aaa98ee3d: ci: follow least-privilege for GITHUB_TOKEN permissions in workflows (#5001) (@chicks-net)
Refactoring:
- b78fbf9af6c727151564fc6acf6c33262489742f: refactor: Migrate "reasons" from Features to SupportedTypes (#4995) (@TomOnTime)
- 142e62252aa5e343830b335391f1021e1888bfe2: refactor: align provider registrations with Definition field order (#4998) (@TomOnTime)
- 48e0df93c4680e3bf2dc442fcaeb9c641f800dea: refactor: convert complex integration fixtures to tr (#5004) (@TomOnTime)
- 16ea9774484b7e2ea0af9eac888859e53c730427: refactor: remove Definition.Features (#4997) (@TomOnTime)
- 29ae68ce5d4ea95cd8745ab5be66fbdda3b202c0: refactor: remove final Can* legacy code (#5002) (@TomOnTime)
- a26f7e88acd0331210705e6ef2d12e3718659821: refactor: remove legacy Can* record-type capability bridge (#5000) (@TomOnTime)
- f67ea7f8b8b7af2612d5d75d505c3022c46947df: refactor: remove legacy record-type validation now that all providers use SupportedTypes (#4989) (@TomOnTime)
- 8bde04a9f1cedfd1a2dc469f2 |
| 5.4.0 | 9 d’octubre del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
New provider!
DNSControl now supports CloudPress DNS! Thanks to @arnoschoon for submitting this!
Experimental: Try the new D() syntax!
We're experimenting with a new registrar/dns provider syntax. Try out this newer, more concise format:
D("example.com",
REGISTRAR("gandi_main"),
SERVICE("gandi_main"),
A("@", "192.0.2.1")
);
No REG_* or DSP_* variables. No muss, no fuss.
- More examples here.
- Please test it and share feedback!
- The old NewRegistrar()/NewDnsProvider()/DnsProvider() syntax still works, of course. We'll support those forever.
Like it? Hate it? Join the discussion here: https://github.com/orgs/DNSControl/discussions/4949
Unless someone finds a major problem, this will probably become the default in all documentation in a coming release. Until then, the format might change slightly.
Thanks!
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
Provider-specific changes:
- 89188fe393868680b99a5873404ca4eb5228ee7b: feat(p/BUNNYDNS): make the provider safe to run concurrently (#4980) (@jfexyz)
- 2b9883e2e4db3050ab33f90ebc87c241a1abdcdd: feat(p/DNSOVERHTTPS): mark the provider as verified for concurrency (#4981) (@jfexyz)
New features:
- 7e201d7b67a7455558e71a1714a1cefb2af87b23: feat(cloudpress): add CloudPress DNS provider (#4390) (@arnoschoon)
- c16964fbf2ae8f632dc5d51ba8a9622caa9b26d9: feat: Stage 5: Add SupportedTypes and exhaustive provider validation (#4967) (@TomOnTime)
- 1a6b48a0c0b7835519802fed8dd9b56674b0a86c: feat: Stage 6a: support domain-specific DNS provider metadata (#4975) (@TomOnTime)
- b45d6ddd85ccbffa6827a2d5aadbf054c5a49a9a: feat: Suppress "Serially checking"/"Serially Gathering " messages unless --full flag used (#4978) (@jfexyz)
- 0136f8c94c777befdf142e8f57c09ee7a241ec31: feat: add SKIP_AUDIT modifier (#4971) (@GZTimeWalker)
- c9bf25dcee574cb65dadf0224064adcdffe245b4: feat: reduce messages if all providers are concurrent (--full overrides) (#4979) (@TomOnTime)
- 8d96a606fcc65c21d4eccc7579692cb512f29e21: feat: stage 6b: add direct REGISTRAR/SERVICE syntax (#4976) (@TomOnTime)
Refactoring:
- d2f5fb9733e120718087f72fcae7b944194f2d3c: refactor: Stage 2: Adopt new way for providers to register, test with 4 providers (#4956) (@TomOnTime)
- 93b3df78ba383f746a76a59576e72c564541da7f: refactor: Stage 3: Migrate remaining providers to providers.Register (#4965) (@TomOnTime)
- 76ddb69a03fc5b6a0ef3deec356b7c897912d300: refactor: Stage 4: Remove legacy provider registrations, accessors, etc (#4966) (@TomOnTime)
- ed4a220f7ba5c638cefb779d0aada0f69c553ec4: refactor: Stage 6: Adopt SupportedTypes across providers (#4968) (@TomOnTime)
Deprecation warnings
Warning
- REV() will switch from RFC2317 to RFC4183 sometime after v5.0 is released. This is a breaking change. Warnings are output if your configuration is affected. 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. |
| 5.3.1 | 7 d’octubre del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
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.
SECRET BETA: Try the new D() syntax!
The new D() syntax in dnsconfig.js attempts to improve usability. It is fully backwards compatible. See the examples in the conversion guide. Feedback needed!
Changelog
Provider-specific changes:
- 1aed32fde176fb90e8cfc20c84ae083aee27a000: fix(p/BUNNYDNS): return the zone's nameservers and ignore apex NS records (#4970) (@jfexyz)
Bug fixes:
- 094cc35309b4064c249c6db7ff95097dcd6f916d: fix: report IMPORT_TRANSFORM of a non-existent domain instead of crashing (#4969) (@SulimanAbdulrazzaq)
CI/CD:
- de420a9b1c43c0a7e7a70f5cdda118e6b4bd0d09: build(deps): bump alpine from 3.24.1 to 3.24.2 (#4960) (@dependabot[bot])
- c06740bdf54859b8b90dd0da33b00cfccf020e95: build(deps-dev): bump @commitlint/cli from 21.2.2 to 21.2.3 (#4962) (@dependabot[bot])
- 91b19cd14cdb62ed093b4fc413d16221b54b972f: build(deps-dev): bump prettier from 3.9.6 to 3.9.9 (#4961) (@dependabot[bot])
Refactoring:
- 2e501ac441fb79b29286ac605b4785677842f464: refactor: Reduce unused "metadata" parameters in provider initializations (#4959) (@TomOnTime)
Deprecation warnings
Warning
- REV() will switch from RFC2317 to RFC4183 sometime after v5.0 is released. This is a breaking change. Warnings are output if your configuration is affected. 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. |
| 5.3.0 | 30 de setembre del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all of your contributions!
SECRET NEW FEATURE: There's a new syntax for D(). Test it out and let me know if you like it. (Both the old and new syntax will be supported.) Details are here: https://docs.dnscontrol.org/getting-started/converting-dnsconfig
TWO NEW PROVIDERS: DNSControl now supports MITTWALD and SPACESHIP! Thanks and welcome to @twiesing and @rootful who joins the project as its maintainers. We look forward to great things!
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.
SECRET BETA: Try the new D() syntax!
The new D() syntax in dnsconfig.js attempts to improve usability. It is fully backwards compatible. See the examples in the conversion guide. Feedback needed!
Changelog
Breaking changes:
- 97107152446a1089a90980cc7738a64099856e43: feat(M365_BUILDER)!: rewrite in Go and update the records to Microsoft's current requirements (#4936) (@jonathan8devs)
Provider-specific changes:
- b719bca4f090f6ff1286b249ee066265aedf837b: feat(p/AZURE_PRIVATE_DNS): Add OIDC support / support same auth methods as AZURE_DNS (#4929) (@TomOnTime)
- c65a9c44be6285098c95700665d7a2a7501b4722: feat(p/BUNNYDNS): add GeoDNS metadata support (#4941) (@xddxdd)
- 03db6d3a8fa957794208a085e4a634ad8b324882: feat(p/BUNNYDNS): manage health monitoring features via dnsconfig.js (#4951) (@xddxdd)
- 794895e56e060889e894d14c05900690de373a2d: feat(p/GCORE): add "golden file" tests (#4942) (@xddxdd)
- 5ea9471bf9a667f9d1586c8f08cd40fe3b9b4543: feat(p/OPENPROVIDER): add Openprovider as a new provider (#4891) (@nvanlaerebeke)
- 333b7b198270eee6b4ceedaba6a0c92d06106df2: fix(p/FORTIGATE): ask the TLS and HTTP debug settings as yes/no questions in init (#4878) (@cafferata)
- e7e452fd4eea79855d485a5faf32b59f982b0431: fix(p/OPENPROVIDER): retry transient API failures with diagnostics (#4937) (@nvanlaerebeke)
- c5fabaa66e4ffde347a015be28b78643634b03cc: fix(p/REALTIMEREGISTER): ensure proper quoting of txt records (#4945) (@BigDataJohan)
New features:
- 7935ffd534d1d7be6c855879bf4e05f4a33eb35c: feat: Add new PROVIDER()/REGISTRAR()/DNS_SERVICE() syntax (#4955) (@TomOnTime)
- 966e4cfa72821be5fa8736267594a9515136f0e7: feat: NEW PROVIDER: MITTWALD (Mittwald mStudio provider) (#4933) (@twiesing)
- 9091ae94c53d4e018cef81dbc71297e3e03b838e: feat: NEW PROVIDER: SPACESHIP (DNS provider and registrar) (#4921) (@rootful)
- 94a262d49e3c0f70cae070214cecd403dc733987: feat: Normalize all "targethost" and hex-encoded fields (#4944) (@TomOnTime)
Bug fixes:
- 6cc7283bfa5e3a1bdcadd3aafa6e4559085d89ef: fix: gRPC-Go xDS servers: Denial of Service (DoS) bug (low impact) (#4934) (@TomOnTime)
- d12f39269317cc036126d06fb85be13bb8e22617: fix: lowercase cname rdata in normalization (#4940) (@SethFalco)
Documentation:
- 36fd20f54fa335c624fe797828db5ca2034af5e3: docs: Autogenerate the table in README.md (#4948) (@TomOnTime)
- 8f6a2430d1f115ed48789dc370fbc731d48023c9: docs: make the table of contents links resolve on GitBook (#4932) (@cafferata)
- e0c9c7843c167856262483e64f7e122d67c155c1: docs: rewrite golden file documention (#4912) (@TomOnTime)
CI/CD:
- dae209b9ecbc2a3a3ba173bab79cb7033d0e63cf: build(deps): bump brace-expansion from 5.0.9 to 5.0.12 (#4953) (@dependabot[bot])
- 60af384b8eaae044fd9b4d91eaf59a74b620c0e9: build(deps): bump js-yaml from 5.2.3 to 5.4.2 (#4952) (@dependabot[bot])
- dc228699b8e0ef622e53b0d3f00b1fec02923f38: ci: Adjust test length per provider (#4939) (@TomOnTime)
- b9d0ae7dcfcb40a168863c7e4ae44629bcf7b3d4: ci: Stop skipping the integration tests on scheduled runs (#4935) (@jonathan8devs)
Other changes and improvements:
- 66037b819910b726508515bf2588d |
| 5.2.0 | 22 de setembre del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
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
Provider-specific changes:
- 4858e5bfe9ece26866bad57eb2d10dfc67fb3d6d: docs(p/CLOUDFLAREAPI): document how to keep Workers Custom Domain records (#4907) (@cafferata)
- e090a711e21e4cb3cb51509dd9a3d66a1baba981: docs(p/DNSMADEEASY): fix the sandbox control panel link (#4892) (@cafferata)
- 70524badd5859961b38ffc3fc67fa4ee60d65a6d: docs(p/LINODE): replace the unsupported footnote with a hint (#4893) (@cafferata)
- f7d8312df528e80e12da322120888ddeb78e80eb: docs(p/SCALEWAY): use second-level headings (#4896) (@cafferata)
- 93f20a26df6b0f9792a63998e64e150d0d40a2ce: fix(p/GCORE): parse API names without a trailing dot (#4923) (@rootful)
- 1f400d2c68ab3af671b2c8881761ff6f20dbfe90: fix(p/SCALEWAY): correct TXT round-trip, SVCB params, SSHFP case, NS TTL, and PTR support (#4919) (@alessiopcc)
New features:
- e6e1fb741b4727afad7aae8fc07413c9c1fd6dec: feat: let providers declare a record identity for duplicate checks (#4883) (@Alice39s)
Bug fixes:
- c3389d013d04d69bacf3be53e58a235f039be552: fix: SVCB keys that lack a value (no-default-alpn, others) not handled correctly (#4909) (@cafferata)
- 1e05eea5f466821c1d9d939fcdd159f24325da12: fix: fix an unlikely JSON injection security vulnerability (#4928) (@TomOnTime)
Documentation:
- 6e4d64e92fd03e46e56de52ffb6ba521b983c944: docs: Explain nrc.Flags in cookbook (#4918) (@TomOnTime)
- 2e80f4c07ad8f3fc1cbf546a8eb1b9f580d6ba95: docs: describe the conventional commits pull request titles (#4899) (@cafferata)
- 30061032c5af0a50180258632a144050a091608a: docs: fix GitBook redirects that point to missing files (#4906) (@cafferata)
- 4cee71f776b06bf013f1ddaaceab8d5dfdabafc4: docs: fix a typo in the cookbook (#4894) (@cafferata)
- 2a0070a4826d8b32fb93bb54fddc06eaa6c96587: docs: fix the reference links in SPF_BUILDER (#4914) (@cafferata)
- e1cee04126dc8c35098c12c4c370e99c4b556008: docs: fix typos and a broken anchor in the README (#4898) (@cafferata)
- a4a28dd922d9a44ae7ee5d303f56d178aa009f2e: docs: point new users to dnscontrol init first (#4910) (@cafferata)
- 95a5b96de5116d6a978af6edf21cce85270b05eb: docs: point the provider source links to the DNSControl organization (#4915) (@cafferata)
- eabbbe5fb71296af45f96e50d6bd33b1c15c165c: docs: publish the provider conversion golden files page (#4903) (@cafferata)
- 1e86fa4282813339260aedb1b70e2f8f6ad8b009: docs: redirect the removed HETZNER provider page to HETZNER_V2 (#4905) (@cafferata)
- 099b4976885f958d4355c8c456591266b485d901: docs: refer to SetRDATA() in the cookbook (#4895) (@cafferata)
- 04aaf4faa71f6fbfa40fe0f1e6e202da105e09ab: docs: regenerate dnscontrol.d.ts after the SPF_BUILDER link fix (#4920) (@cafferata)
- 3c534ed36fe82d966e3f1573412a452849336f1a: docs: require Go 1.27 and install the v5 module (#4901) (@cafferata)
- 0a8a7b5234d782dc591f3a24472965c65aebcfaf: docs: use a repository-relative path in the helpers.js debugging example (#4904) (@cafferata)
CI/CD:
- f009d7f19f9c6f600eb965cf764de01c9f60f173: build(deps-dev): bump prettier from 3.9.5 to 3.9.6 (#4916) (@dependabot[bot])
- 6d269613305fb924ff54f441d3b82e6e0c4c5f59: ci: Permit titles with initial cap. Like this one! (#4927) (@TomOnTime)
- b409982560cfbc3abe27256a9714f4d540d1f049: ci: Re-enable daily integration tests (#4911) (@TomOnTime)
- a47f71ea1def28c1306f7f797e3d3d79e0611caf: ci: add npm to dependabot (#4913) (@cafferata)
- 6bd4953ade3368ffbd33845a4d207d7a6779e7a7: ci: set a Conventional Commits prefix for Dependabot (#4917) (@cafferata)
Refactoring:
- 58b550f4c9015b4f53e72f91955cf |
| 5.1.0 | 16 de setembre del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
This is the first release after v5.0.0 that I'd consider ready for production. That said, it should still be tested carefully. Many bugs were reported in the last few days.
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
Provider-specific changes:
- f496a86330875cc2c75ed402a4ff713b43efb7fc: feat(p/CLOUDFLAREAPI): Normalize CF_WORKER_ROUTE TTL to avoid TTL-only corrections (#4871) (@cafferata)
- b35d0cbaa6249d0d0a05371edc8b1feafad3bed8: fix(p/AUTODNS): clear the legacy "main" record on zone update (#4881) (@dkorunic)
- 80299f765ec2a2c5f0a43268620a4c964a6e1847: fix(p/AUTODNS): send bare FQDN as MX value, not full RDATA (#4880) (@dkorunic)
- 65fe80ac40d58de2fa04a6e78dce7301ed699607: fix(p/AUTODNS): transmit an MX preference of 0 (#4882) (@dkorunic)
- aa207837d378296f6659e04667f18218d0219b7e: fix(p/CLOUDFLAREAPI): Preserve Single Redirect order. New redirects added to end of list. (#4869) (@KyleMit)
- c29831ed89a7328070486c305d3c2a59e0a24521: fix(p/CNR): offer the debug mode levels as a list in init (#4879) (@cafferata)
- df419c521708cf78c5471bd23dca8b28fd481f29: fix(p/DNSMADEEASY): ask the sandbox setting as a yes/no question in init (#4877) (@cafferata)
- 72a18fdc774d42a5c6842615f2e9b378161b2df6: fix(p/INWX): ask the sandbox setting as a yes/no question in init (#4876) (@cafferata)
- 3b4078d088cc04a79688e6a0432582bdb8956c15: fix(p/TENCENTDNS): match package grades case-insensitively (#4884) (@Alice39s)
Bug fixes:
- a32953cb9a83e279feb474936bec5df9be916213: fix: remove duplicate "(optional)" in init prompts and add ConfirmValue for yes/no fields (#4875) (@cafferata)
CI/CD:
- 05b5f9fe06ddccd929094e9475e4d35f4c41f355: Build(deps): Bump joi from 18.2.3 to 18.2.9 (#4872) (@dependabot[bot])
- f66211b9c1f21c2b4a3f34f41740089dcc1c1f91: ci: adopt conventional commits (#4873) (@TomOnTime)
Other changes and improvements:
- 3ae38d73ae19a378f546d3ee1f1dff1cefbcb878: HOSTINGDE: Fix SOA mailbox with a host being dropped (#4866) (@jonathan8devs)
Deprecation warnings
Warning
- REV() will switch from RFC2317 to RFC4183 sometime after v5.0 is released. This is a breaking change. Warnings are output if your configuration is affected. 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. |
| 5.0.4 | 8 de setembre del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
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
Provider-specific changes:
- ee0730fd3aca36889f8e8c4540b65d35d243a331: AKAMAIEDGEDNS: Update edgegrid version to 13.4.0 and update docs to address issue#4202 (#4853) (@meghanakudua02)
- e374ee22b9b57483cf599d5ce536efb655ed58bf: HOSTINGDE: Fix SOA mailbox set to 1@domain (#4858) (@jonathan8devs)
- c7067ae8511a24fad811deabedb97acd5bfd1fb2: HOSTINGDE: Fix TXT quoting on read and write (#4856) (@jonathan8devs)
Dependencies:
- 9aeac5f61326092d5265a85dfa742802172a25da: CHORE: Update dependencies (#4861) (@TomOnTime)
Other changes and improvements:
- d258d60ca017d50a24fe76390373d8890a0b096a: BUG: Fix DMARC_BUILDER TypeScript types for psd= and t= (#4855) (@kytta)
- 5e4e61e528e6d0d1d04468c70ca2680c51a9676c: Release v5.0.4 (#4862) (@TomOnTime)
Deprecation warnings
Warning
- REV() will switch from RFC2317 to RFC4183 sometime after v5.0 is released. This is a breaking change. Warnings are output if your configuration is affected. 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. |
| 5.0.3 | 3 de setembre del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
This release fixes more bugs in the big v5.0 release. It's particularly important if you use BIND, BUNNY_DNS, or LINODE.
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all of your contributions!
Don't miss the video call next week!
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
Provider-specific changes:
- c1ebdb120bdf2574288823b8f5ac9f4c172c2997: BIND: BUGFIX: SOA not incrementing on the existing zone (fixes #4840) (#4842) (@TomOnTime)
- 90984bb8d72d7f3d4512a9fd0a69b04f92158492: BUNNY_DNS: Fix TXT record creation (#4839) (@TomOnTime)
- c798fcbf53abdcf545bd3c943ba5ea38a6c6cd52: LINODE: Add support for TTLs of 30s and 120s (#4835) (@dairiki)
- f96fde4a270960d2d9fac75bed3632d4bd4e1c8b: LINODE: BUGFIX: too picky about hyphens in names of SRV records (#4828) (@TomOnTime)
Dependencies:
- b6ce13fde77aa6da5c98e53c2e62a4da810650c6: CHORE: Update dependencies (#4843) (@TomOnTime)
Other changes and improvements:
- 34db875e6cad43f44e7cbe820224b228293128e5: BUG: SPF flattening removes redirect= modifiers that an "all" mechanism ignores (#4634) (@shuvamk)
- 0d6fe4b84c62fb47f5e36fe196c14def27d0cfaf: CHORE: Upgrade to glob v1 (#4841) (@TomOnTime)
- 162a39bef784e611d4b04c469ace1356f1ae8efb: Potential fix for code scanning alert no. 50: Cache Poisoning via execution of untrusted code (#4837) (@TomOnTime)
- 5196387f35f783af46b2c28bd37223a715ce583b: Release v5.0.3 (#4844) (@TomOnTime)
Deprecation warnings
Warning
- REV() will switch from RFC2317 to RFC4183 sometime after v5.0 is released. This is a breaking change. Warnings are output if your configuration is affected. 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. |
| 5.0.2 | 28 d’agost del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
There were some small but significant bugs found in v5.0.0. If your configuration uses the IP() function, there's a 50% chance you're affected. CLOUDNS users of the CAA record type are also affected.
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
Provider-specific changes:
- a75b7f10a6c42568e617eaffe8348d9f39190eaf: CLOUDNS: BUGFIX: CAA records get unneeded updates (fixes #4819) (#4820) (@TomOnTime)
- 9675a6bcdab7475ff20186f7fd53f9da6acac024: TRANSIP: Empty TXT records are not supported by TransIP (#4831) (@TomOnTime)
- 4a120404ed9d3c424f501466a367f99e010b52cc: TRANSIP: TransIP does not support TXT with trailing whitespace (#4832) (@TomOnTime)
- b81370f421aeefbd60a73192981cd6d0f259d2d9: TRANSIP: Write TXT records unquoted (v5 regression of #2708) (#4824) (@cafferata)
- 6bcc8181ea5055e7302c17bd0a1b3dc5513943bd: chore(netnod): Add @vilhelmprytz as maintainer (#4822) (@vilhelmprytz)
Documentation:
- 6b54c2a011dee39b37cfc8b9c1116e92846de777: docs: Add TOC and fix MarkDown lint warnings (#4818) (@TomOnTime)
Dependencies:
- 9e512507e6eaa72283e7d17dd8f1ce60f19b74c9: chore: Update dependencies (#4826) (@TomOnTime)
Other changes and improvements:
- a39705794e0e7fcc71dafdcd4b9a9bf824af86e7: BUG: SPF parsing no longer rejects the bare "ptr" mechanism (#4640) (@shuvamk)
- d32a8f15d0af9d035feb3d0603ccb238e7685af7: BUGFIX: DMARC_BUILDER handling of nonexistentSubdomain policy (#4823) (@eliheady)
- d6e5ee72ca1db8835d3818305ac3d392994f543e: Release v5.0.1 (#4830) (@TomOnTime)
- 71004334856264a011ddc0258fa2bc6154356028: Release v5.0.2 (#4833) (@TomOnTime)
- 520cd670b5a330e68ff4050f3005ba46a84b0a21: bugfix(mustbe): Fix 32-bit compatibility (#4817) (@TomOnTime)
- cffd0948e582414c5b300d6b72bb166864d98787: fix(IP): The IP() function breaks for 128/8 and higher (#4827) (@TomOnTime)
- 77c68701773e3ad1163f9079e36aca106a725462: fix(SPF): detect include loops instead of crashing (#4641) (@shuvamk)
Deprecation warnings
Warning
- REV() will switch from RFC2317 to RFC4183 sometime after v5.0 is released. This is a breaking change. Warnings are output if your configuration is affected. 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. |
| 5.0.0 | 27 d’agost del 2026 | — | 64 bits ZIPARM64 ZIP |
| 4.46.0 | 8 d’agost del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Release highlights:
NEW PROVIDER: DNSControl now supports NexDNS! Thanks and welcome to @morozov-alexey who joins the project as its maintainer. We look forward to great things!
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all of your contributions!
NOTE: The v5.x release is getting near! What does it need most? You're feedback! Please test it with your configuration. There should be zero user-visible differences. However, since much of the underlying code has been rewritten, testing with real configurations is very important. Release candidate 5.0.0-rc5 is due today or tomorrow. See https://github.com/orgs/DNSControl/discussions
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:
- c29a6f7914d9d4bdc0600af5d3e9f26d6ccb817e: NEW PROVIDER: NexDNS (#4685) (@morozov-alexey)
CI/CD:
- 5eba216ac3d56f23689d4125c1c66bd79eb13f27: Build(deps): Bump ip-address from 10.2.0 to 10.4.0 (#4693) (@dependabot[bot])
- b88ad6e5bd0b159bf857920ee145805bb0e48f78: Build(deps): Bump js-yaml from 4.3.0 to 4.3.1 (#4722) (@dependabot[bot])
Dependencies:
- 14a70c17e7a8dfa579ee3c33d1fce0bcb9d88a08: CHORE: Update deps (#4721) (@TomOnTime)
Other changes and improvements:
- 48292dc12b138ae818a7dcc0513f4e9191e4110b: Release v4.46.0 (#4723) (@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. |
| 4.45.0 | 1 d’agost del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Release v4.45.0 highlights
ANNOUNCEMENT: SPF_BUILDER() may generate a different TXT record after upgrading to this release. A bug was found that produced incorrect results, including elements of the SPF record being unintentionally deleted. The new TXT records are more correct.
- BUG: SPF flattening no longer drops the last term of an include with no "all" (#4630)
- AUTODNS now supports two factor authentication via TOTP (#4626). Thanks, @leon-th!
- BUG: preview no longer errors when a zone will be created by push (#4612). Thanks, @lopster568
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
Provider-specific changes:
- fdc38db6469e3ed702584f07becb87ab558a80c7: AUTODNS: support two factor authentication via TOTP (#4626) (@leon-th)
- 278b9632ee6bb22b9755f60b7a7f694daa921b00: NAMECHEAP: just skip the failing tests (#4635) (@willpower232)
CI/CD:
- f8f1caeaa8c0e9c5af86242e5b3a663f9a0ad602: Build(deps): Bump brace-expansion from 5.0.7 to 5.0.9 (#4629) (@dependabot[bot])
Dependencies:
- 9d334ebf36b10abff2be6603b763f7aacd36a712: CHORE: Update dependencies (#4628) (@TomOnTime)
Other changes and improvements:
- c097900804e62570c63d2e07f68221af049ae147: BUG: SPF flattening no longer drops the last term of an include with no "all" (#4630) (@shuvamk)
- 637fbaf76c5ecb0580636b52d3b41d1ba61e7502: BUG: preview no longer errors when a zone will be created by push (#4612) (@lopster568)
- c15de40c3bb18b80e6a8d5282aa8b0fc5ccf89b9: Prep release (#4643) (@TomOnTime)
- 96f64d356c9f5cc0604230334c9f4707ee0bec85: Release v4.45.0 (#4644) (@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. |
| 4.44.1 | 23 de juliol del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Release v4.44.1 highlights:
- NAMECHEAP: Now supports SRV records, thanks to @willpower232!
- "dnscontrol init" now supports NS1, thanks to @costasd!
- Many performance optimizations in the CICD pipeline.
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
Provider-specific changes:
- ac99333c939ecf70710a127cb7d25596b6f4cf71: NAMECHEAP: Add SRV Record Support (#4511) (@willpower232)
- 2206db0bf479cc11ed5ad1e82b4949ff7488d803: NS1: enable init support (#4531) (@costasd)
CI/CD:
- 717d9aa2bfde010399277d42c7a565452be7fca1: Build(deps): Bump actions/labeler from 6 to 7 (#4564) (@dependabot[bot])
- efab312fa355c4aaeed0d3806dd59eb2ca48d64f: Build(deps): Bump actions/setup-go from 6 to 7 (#4523) (@dependabot[bot])
- fc14894d8ab549820823252041e3e4955892e0cf: Build(deps): Bump google.golang.org/grpc from 1.82.0 to 1.82.1 (#4596) (@dependabot[bot])
- 12088f34f0b1dfd859999ba6f101e3b1b39303df: CICD: Cancel superseded PR runs; pin tools; shallow checkout (#4587) (@TomOnTime)
- 5e3d099528304cc5f7e61d5010eb08d5b237c866: CICD: Don't double-cache Go artifacts (#4585) (@TomOnTime)
- 93c7359f146cab96666b706bbe6671e61096306d: CICD: Fix per-provider integration-test serialization across triggers (#4598) (@TomOnTime)
- 125a2843c929790842e61e6d9e3b8d2e95b09d6f: CICD: Remove setup-go (#4586) (@TomOnTime)
- 97342a4d8111605ad4586c0e6f869713d8c93e9a: CICD: Translate PowerShell code to jq (#4576) (@TomOnTime)
- 3950226f1d21ab42745f7dcb4353039ef4fe1ab9: CICD: go-checks don't need to be parallel, saving per-container setup cost (#4588) (@TomOnTime)
Dependencies:
- 8ce1981b1a3acbd45b3525f88ff211f007705018: CHORE: Update dependencies (#4595) (@TomOnTime)
Other changes and improvements:
- 524967c88156016f398375f658a226fffc9a8364: CHORE: fix a tiny bashism (#4534) (@costasd)
- 7d65f82bda34808b3366fd08f046af0543808df8: Release v4.44.1 (#4599) (@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. |
| 4.43.3 | 21 de juliol del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
No changes. Testing the release process.
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:
- 142627ff65db909df146c4c341c622a18dc127eb: Build(deps): Bump brace-expansion from 5.0.6 to 5.0.7 (#4517) (@dependabot[bot])
- 71f67949676b259638b9d0eb2b27505dac275862: CICD: Automate release process (#4515) (@TomOnTime)
- c8fbbd0bcb14eed82ff8fcb208287b47853df154: CICD: Compute previous non-RC tag for changelog (#4513) (@TomOnTime)
- 5b31069ee6ea9a1488669e6080bfcce6fcf9d29b: CICD: Move release process to GHA (#4516) (@TomOnTime)
- 8dc6252334fdb4f7a8a5ec001be3881f1aac176f: CICD: Tag release directly instead of via a PR (#4518) (@TomOnTime)
Other changes and improvements:
- d2073a3b83b0b15623e87b9bdd4003abc602b4b0: CORE: Update prettier (#4519) (@TomOnTime)
- d64b5d7ad9f5ac28b9341ee25a65d66a5ae9cd0a: Release v4.43.3 (#4514) (@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. |
| 4.43.2 | 20 de juliol del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
No changes since the last release. We are testing the build system.
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
Other changes and improvements:
- ffa30052903688c56b70421a5d6b9be1aceb466f: Release v4.43.2 (#4510) (@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. |
| 4.42.0 | 18 de juny del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Release summary:
- NEW PROVIDER: DNSControl now supports websupport.sk (WEBSUPPORT)! Thanks and welcome to @mtmn who joins the project as its maintainer. We look forward to great things!
- AZURE_DNS is more reliable when Azure gets slow.
- dnscontrol init now supports DNSIMPLE and INWX! (List of remaining providers). If your provider is on this list, please volunteer to confirm we got it right.
- HEDNS is much faster now when running integration tests. Thanks, @rblenkinsopp!
- BUGFIX: Avoid panic in ToRR when A/AAAA target is an invalid IP (#4376)
- @cafferata updated docs to reflect Homebrew 6.x's trust model! (#4365)
- And many other improvements.
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:
- 931cb380fdb202c4ff657b55d84ee092baf89a7d: NEW PROVIDER: WebSupport (websupport.sk) DNS provider (#4380) (@mtmn)
Provider-specific changes:
- 182888eb476308067d22c0a02f8867577b0f4fbf: AZURE_DNS: Retry pending-operation conflicts (#4369) (@vatsalyagoel)
- 290207235fdd3b463a91f16db80533acfbf86b58: DNSIMPLE: Update to new NS1 & NS3 nameservers (#4350) (@onlyhavecans)
- f073df43d56177f1887dc220783d5104fda12ea3: DNSIMPLE: support init command (#4282) (@TomOnTime)
- 855a01e98734e12ac3e8f4e8f50c8785e140690c: DOH: Fix duplicate nameservers appearing in list. (#4366) (@jfexyz)
- 8bacbb3fbea424479b807a0e3a87390e75a3def2: HEDNS: Further improve authentication performance (#4359) (@rblenkinsopp)
- 0e948166f45d0139f97d6111d5209a9db4d52f43: HEDNS: Performance improvements (#4348) (@rblenkinsopp)
- 5de73de9a45e5e0d132ff806749054b529a906ef: INWX: support init command (#4293) (@TomOnTime)
- 50ca16e664c0ba6cadecd277bc2b9c0210ebf8dc: PORKBUN: Fix duplicate nameservers in list. (#4367) (@jfexyz)
- e37f0d032fb574e39e233adcafb9191213e92c65: RWTH: Add Support for Domains with DNSSEC Disabled and Migrate to diff2 (#4180) (@psuet)
Documentation:
- e525b9106e0dff87913a97647bd6d307395d1574: DOCS: Homebrew install requires brew trust since Homebrew 5.1.15 (#4365) (@cafferata)
CI/CD:
- 9390084032efbf48feeaa00cc71669f4fbe314df: Build(deps): Bump joi from 17.13.3 to 17.13.4 (#4377) (@dependabot[bot])
- 5eaf231fba92e7716d9b2eef945c215fedf79fb7: CICD: Don't perform provider operations in skipped test groups (#4349) (@rblenkinsopp)
Dependencies:
- 0c75178d5c42b4c877e4e5fa946cf451065467b9: CHORE: Update dependencies (#4360) (@TomOnTime)
- affc9361831b79cd281af5a1adf7f3bbd49e0315: CHORE: Update dependencies (#4382) (@TomOnTime)
Other changes and improvements:
- 36de03689f6c8e1ed36d017cac22504c97510b71: BUGFIX: Avoid panic in ToRR when A/AAAA target is an invalid IP (#4376) (@SAY-5)
- 451b8ff37a771c6ee434ccd462e3b1487899eb87: TYPES: Allow RecordModifier to accept arrays (#4347) (@tresni)
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. |
| 4.41.0 | 2 de juny del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Release highlights:
- NEW PROVIDER: DNSControl now supports Netnod! Thanks and welcome to @vilhelmprytz who joins the project as its maintainer. We look forward to great things!
- dnscontrol init now supports AZURE_PRIVATE_DNS!
- HEDNS now supports the RP record type!
- ROUTE53's R53_ALIAS custom record now supports all the record types AWS supports!
- ROUTE53 adds support for accessing the AWS European Sovereign Cloud!
- ...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! We hope to see you at the June 9 DNSControl monthly video call! (see below)
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:
- df8e1f3f7eef80ab19a312230e64239de888378d: NEW PROVIDER: Netnod primary DNS (#4191) (@vilhelmprytz)
Provider-specific changes:
- 7a079bc2a3201df47b4c6969d6231b91a950375f: AZURE_PRIVATE_DNS: Fix more tests (#4336) (@TomOnTime)
- 5c73b3c69439c6446182430a9300a1ed2c215655: AZURE_PRIVATE_DNS: support init command (#4274) (@TomOnTime)
- ce473340c161542d5a75ec485b678358a771beca: HEDNS: Add RP record support (#4343) (@rblenkinsopp)
- 23004ec292d68d034fa82d91d12dc702360eca5f: ROUTE53: Add missing R53_ALIAS target record types (#4337) (@tresni)
- 900ad67ba108424d65211ecfc20d336fbbf08eb1: ROUTE53: Initial AWS European Sovereign Cloud support (#4342) (@istenrot)
Documentation:
- bc84a47746599fbded813a20cf3b378f8b563988: DOCS: Use the "-args" flag with "go test" when appropriate (#4341) (@TomOnTime)
Dependencies:
- db01b642aa1d885907954edca976007807acf7da: CHORE: Update dependencies (#4344) (@TomOnTime)
Other changes and improvements:
- e6f22cbbacb99307f58546e5c2862e7a85d4329c: BUG: Fix CAA_BUILDER type declarations (#4339) (@thelegy)
- 480a6f4c4daf773a1381050dbf17fd29215e5635: CHORE: Linting (#4338) (@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. |
| 4.40.0 | 27 de maig del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Release highlights:
- NEW PROVIDER: DNSControl now supports Tencent Cloud DNS (TENCENTDNS)! Thanks and welcome to @cylonchau who joins the project as its maintainer. We look forward to great things!
- Automated testing now includes: AZURE_PRIVATE_DNS, CLOUDFLAREAPI!
- NAMECHEAP now supports more than 20 zones/domains!
- ORACLE now reliably supports NO_PURGE and IGNORE*()
- dnscontrol init now supports GIDINET and ROUTE53 support is improved!
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:
- 918f7956e3a7e5bc2b8dfb888c62afe3b195c30b: NEW PROVIDER: Tencent Cloud DNS (TENCENTDNS/DNSPOD) provider and registrar (#4237) (@cylonchau)
Provider-specific changes:
- a38f323be1bc5056e21ac4c3c07ef105548d2a60: AXFRDDNS: Support for Technitium Conditional Forwarder Zones (Ignore TYPE65281) (#4333) (@jadorno)
- c2819a82c0fd8034e100cd3b582d118be1488bd4: AZURE_PRIVATE_DNS: Enable automated testing (#4332) (@TomOnTime)
- b86a51fc08ff7e2eda9ada505ffae135b63d3345: CLOUDFLAREAPI: Reduce integration tests to match the free tier (#4325) (@TomOnTime)
- 515461722f911a0331d3a37fab7b6fd305d54bc7: GIDINET: support init command (#4288) (@TomOnTime)
- 3bd6aa30b9113a4cdf6742cd3946db452afc51f4: HEDNS: Re-enable HTTPS/SVCB test that was failing (#4331) (@TomOnTime)
- 315073df44b1d60e79d01d0f55b5582d9592964f: NAMECHEAP: Fix paginate zone listing to work with more than 20 items (#4330) (@ajkavanagh)
- a196675cee3b071f3ae7742a9a82a32ce0c04ef6: ORACLE: Enable NO_PURGE and IGNORE*() by upgrading to diff2 (#4310) (@fabienmazieres)
- 3fd02feba3149c6e5a13a57009f2101a64e06e63: ROUTE53: support named AWS profiles (including SSO) and init command (#4312) (@tresni)
CI/CD:
- 5ada75d7a6ec6c45b7b06207fa4b626f7d597155: Build(deps): Bump actions/checkout from 4 to 6 (#4321) (@dependabot[bot])
- 2006de49d6ba5e1cbfc98974678e531b8e84801b: Build(deps): Bump actions/labeler from 5 to 6 (#4320) (@dependabot[bot])
- ec2f91f3724eb72cf530712b33653782dfd25ee1: Build(deps): Bump ws from 8.20.0 to 8.20.1 (#4314) (@dependabot[bot])
- 37624724c7c7b925459272a6f98a90d3305d71b5: CICD: Enable "pipefail" to catch more errors (2nd try) (#4327) (@TomOnTime)
- b52fcd2313c84dcbb1bf8489f721a2b8ef3b7ea4: CICD: Skip failing HEDNS test (#4329) (@TomOnTime)
Dependencies:
- aee8769ce5557eae6833c00c44ac6e82f95ab9d2: CHORE: Update dependencies (#4319) (@TomOnTime)
- 4393182f68a723f10fab6b2e3d0521e12f6b9481: CHORE: Update dependencies (#4334) (@TomOnTime)
Other changes and improvements:
- 29a1eb98731efdadf66a217b408fdb06d5ed74f0: BUG: Fix maintainer name of TenCent (#4318) (@TomOnTime)
- 306d6bc7a23d9e64dfa93a045a40218950f83223: BUGFIX: ech=s (#4324) (@TomOnTime)
- 5d9726d52f9d02516e0fc678de614be17a5d1725: CHORE: generate-all.sh (#4323) (@TomOnTime)
- c5d796036519be20eb9d39bef88cd02fee37ddd9: TXTUTIL: accept adjacent quoted chunks without a separator (#4315) (@tresni)
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. |
| 4.39.0 | 19 de maig del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versió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 init has 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 |
| 4.38.0 | 14 de maig del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
This is our first feature release since DNSControl's move to the new GitHub org. It is now complete. Thanks to all the volunteers that helped make that move possible!
This is a huge release with many new features due to the backlog of contributions that were waiting for the big move to complete.
I'm particularly excited about the new dnscontrol init command, contributed by @cafferata. It is an interactive experience that helps new users build their configuration. I expect this will greatly help increase adoption of DNSControl. However we need a little help: Each DNS provider needs to update their provider to be included in the menu (we'll have more news soon).
- NEW PROVIDER MAINTAINER! Applause all around to @natalie-o-perret for stepping up to be the maintainer of the EXOSCALE provider. We look forward to great things!
- ROUTE53 users can now control a weighted routing and health check via DNSControl (Thanks @Crazu!)
- LOC records were broken on 32-bit CPUs (Thanks @al20ov!)
- dnscontrol init is an interactive experience that helps new users build their configuration (Thanks @cafferata!)
- dnscontrol get-zones no longer supports older syntax, and is less confusing as a results (Thanks @cafferata!)
- dnscontrol preview output forTXT records is easier to read (Thanks @raman1236!)
- LUADNS now supports OPENPGPKEY (Thanks @riku22!)
- PRs are now automatically assigned (Thanks @chicks-net)
- Adding new providers has fewer manual steps (yay!) (Thanks @cafferata!)
- Old code that used parser.ParseDir has been replaced (Thanks @philpennock!)
- Bug fixes and improvements for AXFRDDNS, CLOUDFLAREAPI, CLOUDNS, DNSCALE, EXOSCALE, GIDINET, INFOMANIAK, POWERDNS, UNIFI.
- 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:
- a79e872ee4f8afbeb12b5d9e69c1db5185f29309: FEATURE: Init command (#4208) (@cafferata)
Provider-specific changes:
- 7ec4cb34c8b7c43101ed074ccdebdd9f6edf39ea: AXFRDDNS: Add missing ALPN token 'dot' (#4207) (@Mr-Foo)
- c09090b154e2ccd34bc7aa3318af7beb8cc30d01: CLOUDFLAREAPI: allow CNAME + other records when Cloudflare proxy is enabled (#4189) (@raman1236)
- 72bce2af39f7419aaee23a8807e7393631e980d5: DNSCALE: allow third-party NS records at zone apex (#4176) (@dnscale-ops)
- 0b4d6fd2952c179b43a34e13d5c493addbd659dd: EXOSCALE: migrate to egoscale v3 (#4224) (@natalie-o-perret)
- c93f116f5e46a21db411bc74645f9c8199643174: GIDINET: Auto-suggest nameservers and add premium DNS helper (#4203) (@zupolgec)
- f8e6f21b74265022594aa714894d581375c8a5ee: INFOMANIAK: report invalid API token rather than claim all records disappeared (#4200) (@signalwerk)
- b55ad7900e1f259f7865c0bde4a680cb83e15c05: LINODE: Add Linode integration test support (#4244) (@labrown)
- af9a220570fa12350a76bb2417130d257dc83a7b: LUADNS: support OPENPGPKEY record type (#4249) (@riku22)
- bc4119b6fb385a717cb7349a6a631f3247e6234a: POWERDNS: Fix DNSSEC corrections handling for unset AutoDNSSEC (#4248) (@jpbede)
- 3770218a166de3c032e6d1de45ffd49a334cfa2f: ROUTE53: Add weighted routing and health check support (#4175) (@Crazu)
- 9944f975454e75544e3d78e88c5e7b1cf1aabe2d: UNIFI: fix errors on version 10.2.105 (#4201) (@Matthew-Kilpatrick)
- 4df0c764ffe61a1751ab93a82c70915b3e5ae70d: fix(cloudns): map CLOUD_WR to CLOUDNS_WR so redirect records are not recreated every push (#4188) (@raman1236)
Documentation:
- f640d761cf159279e5e19359e567f7f03d86c2a5: DOCS: Fixed 404 account URL in INWX documentation (#4169) (@cafferata)
- 91282bb8eb0a84bc7b1acd50bcdd4a719596bf9c: DOCS: POWERDNS SOA docu |
| 4.37.1 | 8 de maig del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versió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. |
| 4.37.0 | 7 de maig del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versió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 .github files.
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 OPENPGPKEY records 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: |
| 4.36.1 | 8 de març del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
This is a bugfix release:
- macOS binaries are now properly signed! No more Gatekeeper warnings! Thanks @cafferata!
- CLOUDFLAREAPI now runs 25% faster if you use pagerules and workers.
- Binaries are now built using the most recent stable Go compiler (previously we were locked into Go 1.25)
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
Provider-specific changes:
- dac7be8c5a5f8cfa9e07e7cb31b4ff8d478546da: CLOUDFLAREAPI: Performance improvements for "preview" when workers/redirects are managed (#4134) (@tlimoncelli)
CI/CD:
- ea6694dc8947a1822a4d4ae6de7342dd76489018: BUILD: Fix bug preventing macOS binaries from being signed and notarized with an Apple Developer ID (#4135) (@cafferata)
- 97b7b43d105fe80e5ceb8b24c05bf37e51bdc7f0: CICD: Use latest stable golang (#4137) (@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
- 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. |
| 4.36.0 | 6 de març del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Release Highlights:
- Big update for DNSIMPLE! Added support for SVCB, HTTPS, TLSA, NullMX. Now uses diff2, thus making IGNORE() more reliable plus other features. Thanks, @onlyhavecans!
- AXFRDDNS now supports OPENPGPKEY and SMIMEA records. Thanks @gucci-on-fleek!
- GCLOUD now supports AutoDNSSEC. Thanks @miono!
- The --cmax flag (preview/push) now defaults to 100. The old default (999) was just too large for some systems.
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
Provider-specific changes:
- a016a2557e1f7b6e70aad1084ec824c14a9169f0: AXFRDDNS: Add support for OPENPGPKEY and SMIMEA records (#4107) (@gucci-on-fleek)
- babd1cd60a573e96ba86590c3d4aa8c67e577376: DNSIMPLE: Update dnsimple-go, implement SVCB, HTTPS, TLSA, Fix NullMX, Update provider to diff2 (#4106) (@onlyhavecans)
- faa7e4fa099589049db2bbfe27629648a4b6c0c2: GCLOUD: Bugfix: Incomplete regular expression for hostnames (#4111) (@tlimoncelli)
- 591a7b2ce2fc7f394c1823e0fe1d3e75d5076e47: GCLOUD: Enable support for AutoDNSSEC (#4118) (@miono)
Documentation:
- 14bab6f6b2bc1594b58a6e10c9b646bf09864d8c: DOCS: TypeScript recommendation and require workaround (#4127) (@cafferata)
CI/CD:
- d10a5d79173e17ee2853703130395a3efd213ed5: Build(deps): Bump actions/upload-artifact from 6.0.0 to 7.0.0 (#4125) (@dependabot[bot])
- aa799101c6bd2930d380721e8fa792abfd157df8: Build(deps): Bump basic-ftp from 5.0.5 to 5.2.0 (#4108) (@dependabot[bot])
- 9d893dcd8741b84447fe2deadbcd9e19a1da0f14: Build(deps): Bump github.com/urfave/cli/v3 from 3.6.2 to 3.7.0 (#4112) (@dependabot[bot])
- 3801cccca7fba7a7d9f63dc25531ef0a239d16b5: Build(deps): Bump minimatch from 10.2.2 to 10.2.4 (#4109) (@dependabot[bot])
- 63ba7d9735e1379491e2e235c271751010ff37b5: CICD: Restrict permissions in .github/workflows/pr_build.yml (#4121) (@tlimoncelli)
- a6c82d7a53088da60a8f7e571dbf34791778af71: CICD: Restrict permissions in .github/workflows/pr_integration_tests.yml (#4123) (@tlimoncelli)
- 781e3e0972be54e002795ab76bc90b716f450784: CICD: Restrict permissions in .github/workflows/pr_integration_tests.yml (#4124) (@tlimoncelli)
- 4119ef62f17a0e830c2de1ae49cce798f4b8fcd6: CICD: Restrict permissions in .github/workflows/pr_lint.yml (#4122) (@tlimoncelli)
- de381f3eb5de81d248ad5c97970a601d299d5115: CICD: Workflow does not contain permissions (#4120) (@tlimoncelli)
Dependencies:
- 95519f65c27b217c6161b83a9006793365dbbd04: CHORE: Update dependencies (#4119) (@tlimoncelli)
- b19b36079187e4a96a0761d9a177853d4aa9a186: CHORE: Update dependencies (#4128) (@tlimoncelli)
- 28ccc0758dfead4a2c1fefec8a5714f884ddd880: CHORE: Update dependencies (#4130) (@tlimoncelli)
Other changes and improvements:
- 3571d402b77d714caa19d1a1d42135f40bc366b2: Change --cmax default to 100. Infinity is just too large (#4126) (@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
- 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. |
| 4.35.0 | 24 de febrer del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Summary:
- Two new providers, both for network hardware! Users of Ubiquiti mesh hardware or the Mikrotik RouterOS will be happy to know the enw UNFI and MIKROTIK providers have arrived! Thanks to @zupolgec and @hedger!
- There's now an MCP Server for the DNSControl documentation. https://docs.dnscontrol.org/developer-info/mcp-server Thanks @cafferata!
- @cafferata completed many CI/CD pipeline improvements, too many to list them all. Installing DNSControl from brew on macOS systems should be significantly smoother starting with this release!
- We bid farewell to the HEXONET provider. It is replaced by the CNR provider. Always glad to see vendors maintaining their own provider code. It's much appreciated!
- Many (many!) small fixes and feature improvements. See below for details.
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:
- ec957c7b885f0759fe4bcbdfccf76d53f3dd617b: NEW PROVIDER: UniFi Network DNS provider (#4013) (@zupolgec)
- 2738bff94d0096ec8d84866ff6ef439b6da05cbf: DOCS: Add Documentation MCP Server page (#4094) (@cafferata)
- d6816230c9570e3f8776cf773a054b85b24ff55e: MIKROTIK: new provider for Mikrotik RouterOS' DNS server (#4083) (@hedger)
- 045e9dce8ac9ebb7c6a9aaa3f31926e23ad16ac0: HEXONET: Deprecated Hexonet provider implementation and documentation (#4086) (@AsifNawaz-cnic)
Provider-specific changes:
- 760d4365b86a8eb7edacb33e38b1e588949f77c9: AKAMAIEDGEDNS: Akamai Openedgegrid golang v12.3.0 update(#4067), AKAMAICDN and CNAME on the same hostname(#2959), Support wrapped errors(#3314) (#4070) (@edglynes)
- 878229a7f5babec7dc7e17323262f0c8819e2e0a: AUTODNS: Bugfix: More than 100 zones results in failure (#4075) (@arnoschoon)
- 4ea0ad4cea2eed28c541d71ff1346c0057c49d28: CNR: add support for DNAME, DHCID, and SVCB record types (#4077) (@AsifNawaz-cnic)
- 853c20da0eb9061c61a047774d8ee89c2d9a160f: DESEC: Add support for OPENPGPKEY (#4099) (@wanderer)
- af1a5e951b28bf352ceacd51127538c4c9a844c7: GIDINET: Enable SRV record support (#4074) (@zupolgec)
- 3c18268d8a22307e18fb12b910c1a34aec90fa17: HEDNS: Preserve Dynamic DNS state & add DDNS key management (#4087) (@hedger)
Documentation:
- d2456e6bbb316d0f3eaa0a105f0ab9ed0a29f89a: DOCS: Fixed broken providers filenames (#4082) (@cafferata)
- 859538bdb2844c95ee5b665b000ad847a8886e26: DOCS: Improvements (#4081) (@cafferata)
- 5597e1b84b9f6eed05c9d916fc4f03425cc0573f: DOCS: Remove golint, add golangci-lint (#4066) (@tlimoncelli)
CI/CD:
- 36d4d98dfd53a947d0581003de6917a61157ca89: BUILD: GoReleaser add Docker Buildx setup to release workflow (#4103) (@cafferata)
- d70cbe8a263007392aa8f527fc5ec0b20c116675: BUILD: GoReleaser add macOS code signing and notarization (#4073) (@cafferata)
- 00673f5e693615da2058f058b08f650dff01b950: BUILD: Migrate GoReleaser Docker config to dockers_v2 (#4095) (@cafferata)
- 0678c3d6793caff3a0175796ec4e644db31edf17: Build(deps): Bump CatChen/check-git-status-action from 1 to 2 (#4098) (@dependabot[bot])
- 78a1b0237b50b9465c866866c71b91e71ecbe7b0: Build(deps): Bump actions/setup-node from 4 to 6 (#4084) (@dependabot[bot])
- cc3998b0e20e9169aab7669eb714bbfcd55bff10: Build(deps): Bump goreleaser/goreleaser-action from 6 to 7 (#4097) (@dependabot[bot])
- 01d7795637344f38d5d67092588bd6ecde5e9ef1: Build(deps): Bump minimatch from 10.1.1 to 10.2.2 (#4091) (@dependabot[bot])
- 86e9d527546080e2ced51d326d3da21fad1b800a: CICD: Split pr_check_git_status into separate jobs for better PR feedback (#4079) (@cafferata)
Dependencies:
- 126cfc3ea76b3deda7ddac2b8e8d849a279e50a8: CHORE: Update dependenci |
| 4.34.0 | 10 de febrer del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
POSSIBLE BREAKING CHANGE!
- INWX USERS! If you use the NAMESERVER() operator, behavior has changed to be like all other providers. In the past you were unable to delete entries, only add to them. Now NAMESERVER() (if it exists in your D() statement) replaces the delegations at the registrar. Please test your configuration before putting this release into production. You may need to add NAMESERVER() statements.
Highlights:
- d77c2634fd51379391fabc0b48e10d416f8ffccf: Fix SPF optimizer bug related to +mx and related (#4062) (@cafferata)
- 47866f972ac96fa7dc3bcb90dbff3ed3157dfb41: BUNNY_DNS now supports PullZone records (#4053) (@matteocontrini)
- 6f30347194103ab3db0bf036793a376c30085579: Homebrew releases now use modern methods (#3734) (@cafferata)
- 6d2074bbc921d7cbc3b43b8de52a4b4ac2ae2965: INWX handles NAMESERVER() statements correctly, replacing (not adding to) the registrar list POSSIBLE BREAKING CHANGE (#4052) (@axeldunkel)
- b8d1d55becfb656f59202c678e7ad71200d105c8: LINODE accepts CAA records with non-zero flags (#4049) (@grahammiln)
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
Provider-specific changes:
- 6d2074bbc921d7cbc3b43b8de52a4b4ac2ae2965: INWX: Bugfix: NAMESERVER() should replace registrar list, not merge into it (#4052) (@axeldunkel)
- b8d1d55becfb656f59202c678e7ad71200d105c8: LINODE: Accept CAA records with non-zero flags (#4049) (@grahammiln)
Documentation:
- 5fc0efebba01bda2cd1b01e0e35918147225573d: DOCS: Fix numbering on writing-providers.md (#4064) (@tlimoncelli)
CI/CD:
- 6f30347194103ab3db0bf036793a376c30085579: BUILD: GoReleaser integration for Homebrew Cask (#3734) (@cafferata)
- 24d368077735ceece738304fb3a03cbc5f398149: Build(deps): Bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 (#4056) (@dependabot[bot])
- 7adecc660569657633c48d86759c599d669b657b: CICD: Add golangci-lint-action to PR pipeline (#4058) (@cafferata)
Dependencies:
- 8fa88fba2baa6cef70ec8b348aa7aaee5af5cf9f: CHORE: Update dependencies (#4065) (@tlimoncelli)
Other changes and improvements:
- d77c2634fd51379391fabc0b48e10d416f8ffccf: BUGFIX: Fix SPF parsing of qualified mechanisms like +mx (#4062) (@cafferata)
- 47866f972ac96fa7dc3bcb90dbff3ed3157dfb41: BUNNY_DNS: Add support for PullZone (PZ) record type (#4053) (@matteocontrini)
- afd69e9c2c198e687cde18b8dd34c7be955c5103: CHORE: Add missing providers to GoReleaser release notes regex (#4063) (@cafferata)
- 7b6b8ee82e0fe3f76b49465f2410695703de96f8: REFACTOR: Fix golint warnings (#4060) (@tlimoncelli)
- 851e9eb20dd0d8e7812efa3b5d1f527f9d263285: REFACTOR: Modernize code (#4054) (@tlimoncelli)
- f38e12c87fd3618052f266bcc945a0eac6a480dd: REFACTOR: Remove dead code, fix comments (#4057) (@tlimoncelli)
- e37a83994eb7ed867afe7ebd35ee03db1a0a4b13: bump actions/cache from 5.0.2 to 5.0.3 (#4061) (@dependabot[bot])
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. |
| 4.33.1 | 3 de febrer del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Summary: This is a bugfix release (and 2 small additions came along for the ride). If you use the new Cloudflare comments and tags feature, you can now remove those comments and tags too!
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
Provider-specific changes:
- ec5e9b7b0a6ed437e4651b645995b16c3197169a: CLOUDFLAREAPI: Fix comment and tag removal not taking effect (#4045) (@allixsenos)
- dfb1ed57beec47941597b305ad84a7212d5c0050: LINODE: Enable Service (SRV) record support (#4048) (@grahammiln)
Dependencies:
- fe8fcf4d7716ff969a1cc644b68d15314acc6497: CHORE: Update deps (#4047) (@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
- 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. |
| 4.33.0 | 2 de febrer del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
WARNING: This release overhauled two internal systems. There should be no user-visible affects. However... please test carefully before putting it into production. What changed? (1) how DS records are managed (this doesn't affect many users), and (2) how IP addresses are managed (this affects everyone).
Highlights:
- 2 new providers! GIDINET and INFOMANIAK! Grazie to @zupolgec for contributing Gidinet (both DNS provider and registrar) (#4004), and thanks to @jbelien for adding INFOMANIAK (also both DNS provider and registrar) (#3574)
- 2 big refactoring projects: DS was rewritten to use the more modern RecordConfigV2 (#3996) and we converted net.IP to the more modern netip.Addr (#4012)
- Cloudflare gained support for record comments, tags, and CNAME flattening thanks to @allixsenos
- DESEC gained support for LOC record (#4011) thanks to @androw
- DIGITALOCEAN doccs have been updated (#4029) thanks to @chicks-net (he also contributed #4041 which fixed many broken links)
- JOKER now correctly updates TTLs on CAA and other records #4019 thanks to @grahammiln
- And many other improvements!
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:
- fa57bf0a391911611a651c2be5fcce273fe0e30e: NEW PROVIDER: Gidinet DNS provider and registrar (#4004) (@zupolgec)
- 776b66634df25b75d416ded2193b9845df6dad47: NEW PROVIDER: INFOMANIAK (#3574) (@jbelien)
- 906495ae27f28dbfc33bef5f3180c6618db0ddf6: REFACTOR: Rewrite DS to use RecordConfigV2 (#3996) (@tlimoncelli)
- e999c7f85a60cf59f3b78229da8d06b3f8fd8ed0: REFACTOR: Convert net.IP to netip.Addr (#4012) (@tlimoncelli)
Provider-specific changes:
- d0a0a02da09ab00aa5ce3738500347b56e2f4919: CLOUDFLAREAPI: Add per-record CNAME flattening support (#4020) (@allixsenos)
- 5ae29a619403ac4e2fa9ad833b0f790fff18798b: CLOUDFLAREAPI: Add support for record comments and tags (#4025) (@allixsenos)
- 54002860df03db8bef2d5985b5572f3fee6e1d23: CLOUDFLAREAPI: Reduce confusion by making CF_CNAME_FLATTEN_ON and CF_PROXY_ON mutually exclusive (#4026) (@allixsenos)
- 39be60d34d838cc8d0aaaca9dc4627c2c925775b: DESEC: add support for LOC record (#4011) (@androw)
- 5021e6100bdcfb528763482a8c0c85321072a837: DIGITALOCEAN: self-documenting Cannot()s for unsupported features (#4029) (@chicks-net)
- 2bb352f50e2669e750cd7153baa1ff2e0cc49dd9: JOKER: TTLs may not always be set for CAA and other records (#4019) (@grahammiln)
Documentation:
- f792c870c8ea74dd00f247ff55840f9b2452f697: DOCS: Fix DKIM_BUILDER instruction typo ("note" not "notes") (#4027) (@flindeberg)
- e5e79346785c2aae0bd5956c4363a5f7a61d1712: DOCS: debug provider links that had underscores before 3909 (#4041) (@chicks-net)
CI/CD:
- cef34029040fed420c869751c60259f89c102289: Build(deps): Bump alpine from 3.23.2 to 3.23.3 (#4032) (@dependabot[bot])
- 0d0ee2823feed4bcc0fb9adf9070595c997406fc: CICD: Enable testing of cloudflare redirects (#4022) (@tlimoncelli)
Dependencies:
- 26cb204be07082aa37db7b037cf742698702c84b: CHORE: Upgrade dependencies (#4037) (@tlimoncelli)
Other changes and improvements:
- e01b17474914ee6b1691bc086f7ef074c7918e83: FEATURE: Output memory statistics (--full) (#4031) (@tlimoncelli)
- b346a4cb12cf808b6536cb6723ca7e2b8082899c: BUGFIX: avoid collisions in context with custom type (staticcheck/SA1029) (#4014) (@grahammiln)
- 59f4da461d7b5ff3c3b3ec1d9ec5be452012c5ba: BUGFIX: avoid impossible comparison (staticcheck/SA4003) (#4015) (@grahammiln)
- 0e5fbef6ec6dc86d9481f2a4ac261522d0ed80ea: BUGFIX: error contains advice for presentation (staticcheck/ST1005) (#4016) (@grahammiln)
- 375b1504df |
| 4.32.0 | 25 de gener del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Highlights:
- 9e73e7370ac5677c3ffecac5d0851eb8ff521043: BunnyDNS users will be happy to learn that DNSControl has been updated to allow SRV "." targets, which BunnyDNS only recently started supporting (#4003)
- ae9759d831ed67a3c0602a58d9733335fe3d2174: Cloudflare users will be happy to know that the warnings the CF Dashboard displays about TXT records are a thing of the past... at least for TXT records created and or updated starting with this version (#3834) (@tlimoncelli)
- Many documentation improvements, including links to RFCs (#3970 thanks to @grahammiln!) and info on how to use VSCode and the Go Debugger (#3998)
- Internal improvements continue on the RecordConfigv2 project. Legacy providers (which is all of them, currently) are better supported.
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
Provider-specific changes:
- 8a8d289fd4ad246c0317235f7c398ad7e8341d50: BIND: Future-proof BIND so it works work RecordConfigv2 better (#4002) (@tlimoncelli)
- 9e73e7370ac5677c3ffecac5d0851eb8ff521043: BUNNYDNS: Permit SRV "." targets (#4003) (@tlimoncelli)
- ae9759d831ed67a3c0602a58d9733335fe3d2174: CLOUDFLAREAPI: Prevent web UI from displaying warnings about TXT records (#3834) (@tlimoncelli)
Documentation:
- fd75c58e4c04b4fba61930f69871e1535c7584d1: DOCS: Expanded acronyms and added RFC links. (#3970) (@grahammiln)
- 081fb72f9bb7697571e92d12570bdaec0efa84d2: DOCS: Release process needs tip on how to find latest version (#4007) (@tlimoncelli)
- 29d8f36a6b51984ff629d834053a81bbf7bca020: DOCS: Update VSCode debugging instructions for itests and cmd (#3998) (@tlimoncelli)
Dependencies:
- c8c7cd52adf9bc3323fb4d69f99a1d1de582606b: CHORE: Update dependencies (#4006) (@tlimoncelli)
Other changes and improvements:
- c529d9d77bcae3d99f284d9f6503c610b95a14e7: BUGFIX: RecordConfigv2 should fix records from legacy providers (#4001) (@tlimoncelli)
- 5be6467c722803ad9e359b016914a97442aa4007: CHORE: Use modernize -fix to update code (#4005) (@tlimoncelli)
- 16ee9d1772e4e78dc56867c0a2741221a5cb8ee9: CHORE: generate-all.sh (#4008) (@tlimoncelli)
- 79d42a6d631d5aaddae606253d7f9f9b51733bf4: REFACTOR: Move model.RRtoRC* to its own package dnsrr (#3999) (@tlimoncelli)
- dee2b047479b0f0510cad32079affdec5ab22e08: REFACTOR: PaveArgs flags should be b/w/s for 8, 16, string (#4000) (@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
- 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. |
| 4.31.1 | 21 de gener del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
If you use the SPF optimizer, do NOT use v4.31.0. This release fixes the regression.
Version 4.31.0 introduced a bug in the SPF optimizer. Eagle-eyed @sourgrasses found and fixed the problem! Thanks!
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
Bug fixes:
- 8470260ff1968d77ca0dc1dd4f0f2c7a53851b8e: BUGFIX: fix regression on a mechanism parts (#3994) (@sourgrasses)
CI/CD:
- c421cdcc8bbcec5516cce64f4e096d6b6037ac5d: Build(deps): Bump actions/cache from 5.0.1 to 5.0.2 (#3989) (@dependabot[bot])
- 32f3d3e3f69ac26b9cf124ff3c2747bbd26e927f: CHORE: Update Monthly video meeting info (#3993) (@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
- 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. |
| 4.31.0 | 20 de gener del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all of your contributions!
Highlights:
- NEW PROVIDER! Welcome "DNSCALE" (https://www.dnscale.eu/) to the DNSControl family!
- BUNNYDNS now supports SVCB and HTTPS
- CLOUDNS has many bugfixes and improvements, and "create-zones" now works!
- ...and much, much, more!
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
Provider-specific changes:
- 23a4b3108e01d2f4cfe3d87136626fdd85577316: BIND: add missing implementation for ZoneCreator (#3980) (@fritterhoff)
- bd402910d0f6f685804f4ed10948dfc7ed3f026a: BUNNYDNS: Add SVCB and HTTPS support (#3937) (@jeda)
- 8661346b7a6bec48ff476945c12fc2136fc7a19f: CLOUDNS: fix format string for nameserver diff (#3975) (@RobinDaugherty)
- a5aee591f68150feacfd02e1db8eab6086e2afcf: CLOUDNS: fix zone auto-creation (#3976) (@RobinDaugherty)
- 2b7fa281e43bdf16162b1e5b3f8c720ddc322eff: CNR: prevent duplicate nameservers in registrar corrections to fix #3985 (#3987) (@AsifNawaz-cnic)
- fc8a5083ff6b1ebc577ffe65392e62c099993471: DIGITALOCEAN: Disable SOA support (#3979) (@chicks-net)
Documentation:
- 251f2af355e56d4ae9a08e88450a938fb395e59d: DOCS: Fix incorrect hetzner links (#3988) (@willpower232)
- eba26fd4c81838e00953cb0cf38ec5a288bacb60: DOCS: add DNScale (#3984) (@dnscale-ops)
Dependencies:
- 37e7c1f699c3a0844e5bc5844d982d364da017e7: CHORE: Update deps and re-run generate.sh (#3990) (@tlimoncelli)
Other changes and improvements:
- 72cbf3930ddc4a4bb0acfc02d2dc928d5cf4a3a2: DNSCALE: Add DNScale DNS provider (#3973) (@dnscale-ops)
- 819253a5b0088920b34e9a54dbd6341cb95f7274: fix(spf): Be case-insensitive when parsing SPF records (#3982) (@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
- 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. |
| 4.30.0 | 7 de gener del 2026 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
BIG CHANGES (please test before using this release in production):
- We've upgraded the library that parses command line flags. The conversion went smoothly for everything but shell-completion which required some wrangling that was difficult to test. Please do extra testing before using this in production.
- The Monthly DNSControl Community Video Conference Call moved to a new day and time (see below) to be more compatible with North America's west coast (Ok, that's not a software change but...)
HIGHLIGHTS
- Improvements to CLOUDNS: It is now also a registrar! Plus, GeoDNS support, better docs, SRV fixes, better rate-limiting.
- Improvements to PORKBUN: Support added for SSHFP, URL, and URL301 record.
- Improvements to BunnyDNS: Added TLSA support.
- And 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
Provider-specific changes:
- 8125a354f846df8674629da71272eccbaaf24d1b: CLOUDNS: Add GeoDNS support (#3944) (@anolek)
- 96a7bf309d45be5f4ddc66e3e03d4eb7b693b100: CLOUDNS: Update capabilities documentation (#3964) (@tlimoncelli)
- 7504767c75197914ba07c121f9889f49da7801fd: CLOUDNS: add registrar support (#3961) (@RobinDaugherty)
- a7e230735b3ad075a684049b21f8622c9b14fdfb: CLOUDNS: allow SRV record with null target (#3957) (@RobinDaugherty)
- 590774f5c8dccc171118f93e0fbca1a5171e05b9: CLOUDNS: pause when API fails due to rate limit (#3962) (@RobinDaugherty)
- 6d0db4c33b9b5778f8b4fb23ae204f91d65c4154: DIGITALOCEAN: SOA is suppported (#3966) (@chicks-net)
- 704cb7f65f417755b6ab4d2148107dcff338e4f5: DIGITALOCEAN: Update feature table for provider (#3958) (@chicks-net)
- 1fda952a2574f64850220a4f3b883cfb25bb32a6: OVH: Allow Null MX Record (#3938) (@anolek)
- 154e95f6dcafd3bbc05d99c6297be9c603bc7ff9: PORKBUN: Add support for SSHFP record types. (#3968) (@darkrain42)
- 751ae63a7116d8add81c51904d7e298903a46621: PORKBUN: skip NS only APEX test (#3950) (@imlonghao)
- f4b402bfce56d57fe870d3822883265005ac5130: PORKBUN: support URL and URL301 (#3951) (@imlonghao)
Documentation:
- a0ea3f6c5e4a591eaafed9bebef81d2dde3e9d28: DOCS: BIND Provider - filenameformat fixes (#3945) (@andrewimeson)
- 6edfbf507854b2792c40bf008c0d86cb71a381c7: DOCS: Remove reference to ppush/ppreview, spelling fixes (#3940) (@andrewimeson)
CI/CD:
- 1ca6c61f71511df1cf6f3db26dfe0761e5dcbc31: Build(deps): Bump alpine from 3.22.2 to 3.23.2 (#3952) (@dependabot[bot])
Dependencies:
- fc411f073ef3c8f70634bf3c80c6a45f51f644f0: CHORE: Update dependencies (#3963) (@tlimoncelli)
Other changes and improvements:
- d50aef0f77ef40d095b44d26afdb66d82b323b68: Add TLSA support for BunnyDNS (#3943) (@baalajimaestro)
- 05eade15c692118699d42f14c8285b873d9d87c2: CHORE: Upgrade to github.com/urfave/cli/v3 (#3948) (@tlimoncelli)
- 5fe352374e99a79fbc2d71dfe8bb9f42f614d8a9: CHORE: generate-all.sh (#3969) (@tlimoncelli)
- bf89991023be5392c7cae62875d712480d16c8e6: FIX: Type definitions to allow passing meta object as second parameter (#3947) (@andrewimeson)
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. |
| 4.29.0 | 18 de desembre del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
POTENTIAL BREAKING CHANGES:
- "fmt" now defaults to writing to dnsconfig.js. If you use ">" instead of "-o", check your scripts!
- The date/time of the Monthly DNSControl Community Video Conference Call will change in January. Look for updates on Github in the next week or so.
Highlights:
- "--notify" can be enabled in creds.json so that (for example) you always get notified on "push" (#3910) (@michaelkaye)
- "fmt" with no options reformats dnsconfig.js in place (This may break some scripts, but its a beta feature). It also is silent when no changes made. Use "-v" to always output the file names. See #3927 for details (#3927) (@tlimoncelli)
Bug fixes:
- 51bf2e34d0b16d6096bd47df512370103f9cf1bb: BIND get-zones now works when using %D (#3930) (@tlimoncelli)
- f7c145a54c3e32bbe9f560e7b56b646f81e5c902: The RP record type was broken in many ways: It ignored the DefaultTTL() setting, it didn't output errors (the record was silently ignored), and a lot of the validation that old-style types benefit from were not replicated in the new code. (#3931) (@tlimoncelli)
- A lot of code was refactored to be more consistent. None of that should change user-visible behavior.
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 3rd Monday 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:
- efe713cc0efb3250c533224f113e9e2d887f71fd: FEATURE: Set --notify via creds.json so that preview or push can always notify (#3910) (@michaelkaye)
- 9076f405fdd329c4144cf2ec1b1ba9571de23bdf: NEW FEATURE: Make "fmt" more like other formatters (warning: New default for -o) (#3927) (@tlimoncelli)
Provider-specific changes:
- dc1bc468214e56da0dc99bb013e7a686f33a5ba2: DOCS: POWERDNS: Improve powerdns provider metadata documentation (#3925) (@ecraven)
Documentation:
- 97d8c6686d66da6bfda2409baae9b387277be3bd: DOCS: Added code examples for new notification options (#3928) (@cafferata)
- 1431526a5dfdb900569b38932665d8cc781b702e: DOCS: Document no_ns (#3926) (@tlimoncelli)
- 2a8e810f91df973bbe2ae3ce059e9b61b372d951: DOCS: Fix RP page (#3920) (@tlimoncelli)
- 9bb022c56bb29b6ac1d7637e5cf7dd52ee26fa19: DOCS: Modernize URls in writing-providers.md (#3929) (@tlimoncelli)
CI/CD:
- 9c55dca352a1d3d4d0f8c42a37a2d6b77eb9ac6c: Build(deps): Bump actions/cache from 4.3.0 to 5.0.1 (#3915) (@dependabot[bot])
- b559eec28e1ee9804ecf1cacef411dd7d17c20cb: Build(deps): Bump actions/upload-artifact from 5.0.0 to 6.0.0 (#3914) (@dependabot[bot])
- 15cae56113a0bbe3e6f29e732cb7a4a46e08a4a5: CICD: Update release notes template (#3903) (@tlimoncelli)
Dependencies:
- 1377d00a303a60beecf8b834b080a67283771441: CHORE: Update dependencies (#3934) (@tlimoncelli)
Other changes and improvements:
- 51bf2e34d0b16d6096bd47df512370103f9cf1bb: BUGFIX: BIND Fix get-zones for bind when using %D (#3930) (@tlimoncelli)
- f7c145a54c3e32bbe9f560e7b56b646f81e5c902: BUGFIX: Multiple bugs in RP (RecordConfig v2) (#3931) (@tlimoncelli)
- dcdc2527220fb238f9a503ce1d5f89ec096b89f9: BUGFIX: RecordConfig v2 wasn't processing record meta data (#3932) (@tlimoncelli)
- 41efba6f0323048c3acb70a9d720112a3dec024c: CHORE: Fix Raw/ASCII/Unicode order (linting) (#3933) (@tlimoncelli)
- 749db2ca78240dac46c3526feef9278cb21e0274: CHORE: Linting (#3907) (@tlimoncelli)
- 7ab7d147fbf4e4c540841c0dc33b85657af46014: CHORE: Move non-provider code out of /providers (#3916) (@tlimoncelli)
- 43d2fa891733758854e696e63594e75ebf4b4bed: CHORE: Update the link to future video meetings (#3917) (@tlimoncelli)
- ecbfa9b4a0d8f57e629722ecdaa0ea6b39bf7902: CHORE: remove underscores from filenames for consistency (#3909) (@chicks-net)
- cba298b6df679b7c6 |
| 4.28.2 | 8 de desembre del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
This is a bugfix release. BIND users discovered that "push" was regenerating zonefiles even when there was no change. The reason was that the %D verb was always "" (null string). Shout out to @ondohotola for quickly reporting this bug and confirming the workaround. A full fix is included in v4.28.2.
This release also includes some documentation and tool improvements.
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 3rd Monday 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
Documentation:
- 986bc4c5f4b67edac46c197abfcecb080b7a6f0e: DOCS: replace all NewRegistrar('ThirdParty') (#3889) (@SukkaW)
Dependencies:
- 08a6fa6ec4d78bf31e66ec5914215873b00ff1f7: CHORE: Update deps, regenerate docs (#3902) (@tlimoncelli)
Other changes and improvements:
- 0ae4acc3e4f1c254226313a62a7017a97478d6ea: BUGFIX: BIND %D not working after v4.28.0 (#3900) (@tlimoncelli)
- 865dad5b786f92915bf0690f7f31ea32ca76a1c4: TOOLS: bin/generate-all.sh should skip .vscode (#3901) (@tlimoncelli)
- db27a1e557baacb644ff14692668f5367237343d: [docs] Refresh digital ocean provider docs (#3860) (@chicks-net)
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 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. |
| 4.28.1 | 5 de desembre del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
This release fixes a bug found shortly after v4.28.0 was released. It only affects users of the "split horizons" feature.
Version v4.28.0 was a big release with many changes. We still recommend exercising great caution before putting it into production. See the v4.28.0 release notes for testing advice. Please file a bug report if you find any issues.
Thanks to gvengel for reporting the bug so quickly.
Changelog
Other changes and improvements:
- a0288bd759cadf279a003a7f1b47bb4a646b5f08: bug(split horizon): Domains with split horizons not working (#3895) (@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
- 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. |
| 4.27.1 | 5 de novembre del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
- POWERDNS can now manage "varients". The tag you assign to the domain ("example.com!tagname") is used as the PowerDNS varient. A flag enables this.
- INWX's enforcement of the RFC 7505 prohibition of mixed regular/null MX records is now checked at "push" instead of "preview". In other words, we let the API decide if the records are valid instead of trying to emulate (i.e. guess) INWX's algorithm.
- NETCUP now supports TLSA, POWERDNS supports the "LUA" pseudo record type.
- ROUTE53 now supports RoleArn and ExternalId.
- DKIM_BUILDER() has been refactored to improve input validation and error handling.
- ...and many documentation updates.
FYI: There was no v4.27.0 release.
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all of your contributions!
Changelog
Provider-specific changes:
- c1b90d06a092f4fb3b28c934243f6297d65c3d9d: INWX: Let the API (not DNSControl) enforce the RFC 7505 prohibition of mixed regular/null MX records (#3805) (@eliheady)
- 6ef064877859f3dbc096112c8896160af9e91e3f: NETCUP: add TLSA support (#3802) (@jpschley)
- 25dd06aaa3e4fb599621c4007b177bca175f9c18: POWERDNS: Map dnscontrol Tags to powerdns Variants (#3803) (@pefeigl)
- 2a4e2509bcba1046bd8dba1bbc5cbace0830573c: POWERDNS: New record type: LUA (#3815) (@eratzlaff)
- 8f13dd10300b858d589625300b06b96a627ccdaa: POWERDNS: Split horizon feature now enabled by flag (#3829) (@eratzlaff)
- a1e74eb11f9bd81e46761a2a6be10d10bb244c32: POWERDNS: Zone creation now abides by variant tags (#3830) (@eratzlaff)
- 24f602a5a17b4b98cd4f3cf79fb4a52d3a6cec13: feat(Route53): Add support for RoleArn and ExternalId #3816 (#3817) (@kevinneufeld)
Documentation:
- f365902508f52db1fcda193104293143d8a3aa05: DOCS: Add internals for ordering (#3811) (@blackshadev)
CI/CD:
- 70c1febe23b624a4ed1f928b780bbc4569753fc1: Build(deps): Bump actions/upload-artifact from 4.6.2 to 5.0.0 (#3806) (@dependabot[bot])
- 2df7a9d6ed453e9f2253bc8cb415ef81cd381dea: Build(deps): Bump alpine from 3.22.1 to 3.22.2 (#3818) (@dependabot[bot])
- b7c4cac75984d02dcc7064690c6d3eae181dd9d3: fix(DKIM_BUILDER): allow empty pubkey (#3800) (@matteotrubini)
- d8aa89028ecf1d346033aade2c97f7277794add3: refactor(DKIM_BUILDER): improve input validation and error handling (#3812) (@matteotrubini)
Dependencies:
- 60e5fa6c4fbdfc6ea4acbd1802fcc089384d6eda: CHORE: Update dependencies (#3825) (@tlimoncelli)
- 71c2cc24cafa034efa3b2bc8c510b6d275f06242: CHORE: Update dependencies (#3831) (@tlimoncelli)
Other changes and improvements:
- bfc2b26911110a38626f3c3b228cab99c022bd70: CHORE: generate-all.sh (#3827) (@tlimoncelli)
- 237de6f2e194331d139f902187b80a95e0463cdf: docs(backups) Emphasize the warning about BIND backups (#3799) (@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
- 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. |
| 4.26.0 | 10 d’octubre del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all of your contributions!
For many years users have complained that the validation messages don't report which line contains the error... and rightfully so! It's pretty difficult to debug a problem when you don't know where to look. Sadly the JavaScript interpreter we use doesn't make it easy. I finally found a way. It isn't clean nor pretty but it works! Sadly we can't extract the filename, but at least we're moving in the right direction.
Here's an example where the error is 5 chars into line 1882:
2025/10/10 13:34:44 ERROR: [line::1882:5]: MX example.com: target (mx.sendgrid.net) must end with a (.) [https://docs.dnscontrol.org/language-reference/why-the-dot]
Changelog
Major features:
- 3eddfcd03705540850ffe5a28b930f8f969c067b: feat(validation): Validation errors now include the line number (#3788)
- a71b89e5a2bf9a31872b6b2095c9d4eea641dad3: NEW FEATURE: Add SMIMEA support for BIND and deSEC (#3786) (@ClusterJan)
Provider-specific changes:
- 9b32a2f9b284a67c74a6ac05e1d09d6a90edfe2c: NAMECHEAP: Enable get-zones (#3775) (@willpower232)
Documentation:
- 2122390f29d17d8c37d23d9168c8dbc6f0d93ce0: DOCS: Fill some question marks for cloudns (#3767) (@louis-lau)
CI/CD:
- 2be2b0fd1e440df18251a172d8346b2f4ae1e02b: Build(deps): Bump actions/cache from 4.2.4 to 4.3.0 (#3776) (@dependabot[bot])
- 68edb2ef6c04058d99e4b3cb9c4dc661ce53b4ae: Build(deps): Bump tar-fs from 3.0.9 to 3.1.1 (#3783) (@dependabot[bot])
Dependencies:
- 30d91d5f605975cc5b3791e76c746d536a5c724d: CHORE: Update deps (#3782) (@tlimoncelli)
- db21e30abb949756945ecef242dea677fa54386f: Update deps (#3790) (@tlimoncelli)
Other changes and improvements:
- 5f4e1efdceac83155b723ea1438b7f9a94527d84: NS1: Fix NAPTR special case (#3785) (@tlimoncelli)
- 589cb77c68ca706fe0eba3ae4b598ce68643243f: CAA: Support issuemail / issuevmc tag in CAA builder (#3774) (@psuet)
(@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
- 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. |
| 4.25.0 | 15 de setembre del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versióThanks to all contributors involved in this release! This is a community project and we couldn't do it without all of your contributions!
Two highlights in this release:
The ability to limit concurrency has been a frequent request. The --cmax flag now lets you control that. This is particularly useful for AXFRDDNS users who are frequently talking to DNS servers that protect themselves by limiting how many TCP connections they will accept at any given moment.
Users of the SPF optimizer will appreciate no longer having to update the spfcache.json file. Simply delete it and the SPF cache is disabled. It probably never was useful anyway.
Changelog
Major features:
- 850a2bdc076583b5ed7fd0cd83c4a2cbbbbe26bb: FEATURE: "--cmax n" limits preview/push concurrency to n connections (#3764) (@tlimoncelli)
- f2ff95a20ec6ff5488156705f84249c8d5c813dc: FEATURE: Optionally disable spfcache.json (#3765) (@tlimoncelli)
- f874b5fc1dd325e64abd3736c10545a38f7d7c66: FEATURE: Support RFC 9495 issuemail tag in CAA records (#3762) (@networkException)
Provider-specific changes:
- cca9a1e433761584068f3b5af0976e5f92e33734: DESEC: improve formatting of DS records on domain creation (#3766) (@eliheady)
- 9e77938e685480e0c3700001ee4309ad142e80d5: GANDI_V5: Increase API timeouts (#3770) (@tlimoncelli)
Documentation:
- 8b73de07658aae58f1576b3cb9b3531926e70901: DOCS: Fix many minor typos (#3752) (@eliheady)
CI/CD:
- e14c804882b8b08196ca2a7656243a7c9eefa3b8: Build(deps): Bump actions/setup-go from 5 to 6 (#3763) (@dependabot[bot])
Dependencies:
- 1abb11de62b1b6d26987fa975d17a49602ba925e: CHORE: Update dependencies (#3771) (@tlimoncelli)
Other changes and improvements:
- 3f8e09d268316ccbbfac7fa85fe0b8856e5a67b9: CHORE: Upgrade aws-sdk-go-v2 (#3759) (@tlimoncelli)
- b529bc65931c7f4a8c5458212147f171c4d13ad7: CHORE: Upgrade github.com/failsafe-go/failsafe-go v0.6.9 to v0.7.0 (#3760) (@tlimoncelli)
- 6e0c7b1c82392325efee9a61cc60eb595d61ae3b: Make native telegram alert text similar to shoutrrr (#3750) (@aminvakil)
- 3088ec67b5d25fd58546c44a5894554118ce46ae: Revert "Upgrade aws-sdk-go-v2" (@tlimoncelli)
- b933492967adf8b303399aa4d7e12d8c39bf9a2a: Upgrade aws-sdk-go-v2 (@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
- 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. |
| 4.24.0 | 29 d’agost del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versió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:
- c858e8fa57f2140821f22ae219c4ddc43d80b4b4: AXFRDDNS: Chunk large changes in multiple packets (#3732) (@Mynacol)
- 3799f8b8e9c8324b71d10ac6e7f9815f98aac7f9: AXFRDDNS: Enable DNS compression for DDNS (#3730) (@Mynacol)
- 89ac03faca9792e964d631df09565008f67a5a2d: PORKBUN: Configurable retry parameters (#3746) (@jamesog)
- 2b2f9d901eb0aef086e96932cfd1b673b464516a: REALTIMEREGISTER: Allow 0 prio for MX records (#3724) (@PJEilers)
- 43e7dd560318635121a988a971c04538ddb531af: REALTIMEREGISTER: SRV prio 0 (#3725) (@PJEilers)
Documentation:
- a41e8d20e8ca10d968abc247d591d370f5391bcb: DOCS: AXFR+DDNS uses TCP by default (#3713) (@Mynacol)
- b2c88ac762152317914a49efcaa751763d496910: DOCS: AdGuardHome feedback (#3701) (@cafferata)
- 9edeb73d7677e2aaad56cc6a5249588dee09ba87: DOCS: Added requested provider Yandex Cloud DNS (#3738) (@klemensn)
- 60bbab6fa19d27f3304192e99abe6f7e895c61d6: DOCS: Clarification on quotes in TXT record. (#3721) (@cafferata)
CI/CD:
- ccc164a045f8fedaef41a24897c647a4f0e5e860: Build(deps): Bump actions/cache from 4.2.3 to 4.2.4 (#3722) (@dependabot[bot])
- b9b4d7719ee10d5c3539c81db185609ebbd5fabe: Build(deps): Bump actions/checkout from 4 to 5 (#3723) (@dependabot[bot])
- e423cc83e74f6981863437da1197d7a7819402a9: Build(deps): Bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0 (#3743) (@dependabot[bot])
Dependencies:
- 45c98b9d1e92d957e81ae1d5b63b31917d32de30: CHORE: Update dependencies (#3747) (@tlimoncelli)
- 921f13e8acbfcd8e019962a0a2b73bb580275fd5: CHORE: Update deps (#3714) (@tlimoncelli)
- 02ac788a2451706340f5b433b11e719c5dee53a4: CHORE: Update deps (#3745) (@tlimoncelli)
- 4ee1ed6ad26569e53921447ff4e7e5c04f80ae82: CHORE: upgrade deps, fix OPENPGPKEY test (#3726) (@tlimoncelli)
Other changes and improvements:
- e79c43f6eba2659770992a625914939f6d230b91: DOCS/rtypes: consistently use pushd (#3719) (@tacerus)
- 8c8948e69ac709283088461c55605a7f50d767ff: NEW RECORD TYPE: OPENPGPKEY (basic) (#3718) (@tacerus)
- 3645e332c3312e8c4d4f3b1696f1736be00e5fd0: security fix: Prevent exposure of creds in debug output (#3733) (@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
- 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. |
| 4.23.0 | 6 d’agost del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings, DNS fans!
Breaking changes:
- The --populate-on-preview flag now defaults to false, which is safer and matches user expectation that preview never mutates (#3693) (@tlimoncelli)
Highlights
- NEW PROVIDER: Joker (Thanks @atrull!)
- NEW FEATURE: DKIM_BUILDER() (Thanks @costasd!)
- Zone creation and gathering is now more reliable and handles errors better (Thanks @gvengel!)
- Users now receive a warning if they use IGNORE() or NO_PURGE on providers that can not implement them reliably
- DIGITALOCEAN upgraded to use the "diff2" engine, which is more modern and makes IGNORE() and NO_PURGE reliable. (Thanks @Deraen!)
- FORTIGATE now handles NS and MX records (Thanks @KlettIT!)
- Tons of doc improvements (Thanks @cafferata!)
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:
- c842eb26a5e0e342966eaa5d7f88cbb1ce7eac76: NEW FEATURE: DKIM_BUILDER() adds a DKIM record builder (#3627) (@costasd)
Provider-specific changes:
- 58afc59440ee6fd9862fb8135b3af2feb926ace5: ADGUARDHOME: updated documentation with links to AGH pages (#3672) (@ishanjain28)
- 304ce4cb4a4d9218cb05c0fed5fa09f3c0e18fb2: AXFRDDNS: Fix spurious AUTODNSSEC warnings (#3703) (@bgilmore)
- 8b8d6777354f7e22e9d9aa4d036bb5b4e7edbe0a: CNR: nameserver corrections should be case insensitive (#3681) (@KaiSchwarz-cnic)
- 66e7fd4d3493633dae39abf4191752c4f93f03a9: DIGITALOCEAN: Enable DocDualHost feature (#3698) (@Deraen)
- 91c143694f53e0e6c92229a469e1393915fcf871: DIGITALOCEAN: Use diff2 to implement digitalocean provider (#3695) (@Deraen)
- 3f4f9b808336a6d611d079f406ddcd47f35c16ed: DNSIMPLE: DOCS: handle multiple provider instances (#3678) (@philpennock)
- 570477f8d38d397e7c18ea983491820e6976883f: DNSIMPLE: pedantic correctness fix for concurrency (#3677) (@philpennock)
- af5907aafd10ef892578c3b083e35c2b09b1e1fc: DNSIMPLE: preview data is now gathered concurrently (CanConcur) (#3675) (@philpennock)
- a815bdcf4533610eb65c2f7272564f1ed90a9d3a: FORTIGATE: Add NS and MX record support (#3671) (@KlettIT)
- 1e8d720fdd524c76ce97ef1f6f2e47e00237d30f: GCORE: update create zone call signature from latest SDK (#3712) (@xddxdd)
- ca64774004061b4448ab35e976dc6a115ad11f76: Joker: Implement DNS Provider (#3661) (@atrull)
- e84925b49177069d8f5413b7ed3b7fb1f4098c2c: Loopia: feature updates (#3686) (@systemcrash)
Documentation:
- 6cf92437a290787f4ba4ebc1751d0d153501f2f4: DOCS: Add link on homepage to test-a-branch (#3689) (@tlimoncelli)
- 088ea41ee1583bb8ac34a5e7ebb300313c133288: DOCS: Getting started get-zones (feedback) (#3700) (@cafferata)
- b0a57e5c3e3efbffc29e6f27c08ffa0834e87a3b: DOCS: Improve docs and error messages related to apex domains (#3690) (@tlimoncelli)
- a9243aa554686857d0c4e01ddd6aab80a0ff457f: DOCS: Improve grammar/typos in AXFR+DDNS provider documentation (#3697) (@backeby)
- 7174d8927edd05749de87fbf3a26bc6f312484b3: DOCS: Remove get-certs and MSDNS from release notes (#3669) (@gucci-on-fleek)
- 1f86d69b09d600c8dd5b5f912353a0992ccabf43: DOCS: Warn that "" should be "@" in error messages & docs. Update docs to suggest safer onboarding process. (#3691) (@tlimoncelli)
- ecbc4992d0d19344867c7962de2e13426a3b9748: DOCS: expand upon concurrency (#3676) (@philpennock)
CI/CD:
- edf31110df7af532acbe816a289c42c2c393796e: Build(deps): Bump alpine from 3.22.0 to 3.22.1 (#3705) (@dependabot[bot])
- f35018590cb3966af764f705aa98a27ee38773cf: CICD: Update PR instructions (#3688) (@tlimoncelli)
Dependencies:
- 953e3865d208aa59eb45d3d315d4b5ea444981a9: CHORE: Update dependencies (@tlimoncelli)
- 33e87d941de9a6c4093906b1aaea1c1faf22a24a: CHORE: Update dependencies (#3711) (@tlimoncelli)
Other changes and improvements:
- 51b50565d19a4f6f7d8c54523cadab1af1371893: Add docs (@tlimoncelli)
- 30fedaa38c6e3ebdb5441c684e6013095dd1ab36: BUG: Improve error handling during zone population and gathering (#3694) (@gvengel)
- b947bddf95f4baae13b80ac0be6cfef06476ed7f: CHORE: generate- |
| 4.22.0 | 15 de juliol del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versió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:
- d042b3edf73c08793d78763446f0ef79711587e8: FEATURE: --notify now makes errors visible to make debugging easier (#3614) (@hmoffatt)
- 3ea7ea84c975bff31fd9415de379a1255cb18c91: FEATURE: Support ignoring the ech= parameter in HTTPS/SVCB RR types (#3485) (@gucci-on-fleek)
- e1830abb582e6f1cf067230b4ba1a0a6fb0ec7cb: NEW PROVIDER: ADGUARDHOME (#3638) (@ishanjain28)
Provider-specific changes:
- 855624aac0d57d8cfe6d28f5526cab5ecd7f8889: DIGITALOCEAN: DOCS: update instructions for creating API token (#3617) (@hmoffatt)
- 5a2a53c150efb2fbcb769257161bb72ca5796612: FORTIGATE: Fix init provider (#3654) (@KlettIT)
- e9b49e23aa75b88cc370063c3c9bf42050dccf71: LUADNS: Support HTTPS record type, enable concurrency, adopt newest SDK (#3640) (@riku22)
- 4efa09bde6ca1dfea65ec7a02e515ae69680300f: MYTHICBEASTS: Mark as concurrent verified. (#3631) (@tomfitzhenry)
- e5eab4f828ab0312b1d159608e85c4ce64e039bf: MYTHICBEASTS: Performance improvement: Use the OAuth2 client credentials protocol (#3629) (@tomfitzhenry)
- 75821a8219aa3865f104f654c8e3ff9c300c8924: NS1: code reorganization (#3622) (@costasd)
- 4ce19352e9ec09dc9387cc279daafd3da8d6b99f: PORKBUN: Improve retry handling, mark as concurrent (#3652) (@jamesog)
- 4672409f0b08837858c72d4e812f4130b8c5a15d: PORKBUN: fix SVCB params (#3650) (@imlonghao)
Documentation:
- 0d081ba10c2776c48f04208c99b0100a84593594: DOCS: RWTH provider is only available via the intranet (#3497) (#3623) (@MisterErwin)
- a8c41d931fb9e2afad947bacc33ea226def8aba2: DOCS: Added requested provider Sav.com (#3635) (@cafferata)
- 1a7cb205999b130f025e5e4c25752182d34dc43a: DOCS: Added requested providers Scaleway (#3609) (@cafferata)
- 0a4162f14a322ffb36c4b1793314900e06089584: DOCS: How to add a requested provider (#3636) (@cafferata)
- 1f8b7d01b6f0f184bd86cefe7d30ccc7ca6ac105: DOCS: Linkspector URI fixes (#3625) (@cafferata)
- e5f4d97950322b74d111c69b2d1280fcf34e790c: DOCS: [GitBook] Refactor structure to match URL paths and fix missing page links (#3613) (@cafferata)
- b2e3775c2ed07140036538875902f84dcfe632bd: DOCS: add links to help jump to provider table anchors (#3619) (@chicks-net)
CI/CD:
- adfe033ef031cd315dae92131561aeee59328757: Build(deps): Bump brace-expansion from 2.0.1 to 2.0.2 (#3632) (@dependabot[bot])
- 9fc981471df62eec0308d2add701cd6f6859dd5b: Build(deps): Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#3644) (@dependabot[bot])
Dependencies:
- 0d60e0c1661deffa74f52a1ca9567ff387e8c4f4: CHORE: Update dependencies (#3643) (@tlimoncelli)
- 6fdbac726b265c820e2f3d4ee492db2101a5bd3a: CHORE: Update dependencies (#3659) (@tlimoncelli)
- f8252436c58a3ab0cdbb623860e932c069b1e48c: CHORE: Update dependencies (#3666) (@tlimoncelli)
- b66251bfda9457ef0ef67eee4ac2093fbea5ed5f: CHORE: update dependencies and fmt (#3655) (@tlimoncelli)
Other changes and improvements:
- 919ce2476911a12d22be60e7aecfbfcafb8c195d: BUG: Fix --noti |
| 4.21.0 | 4 de juny del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versió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:
- cdbd54016f93140548d846842b0d7575603069c8: GANDI_V5: BUGFIX: Uppercase labels fail to update (#3582) (@tlimoncelli)
- 113c1ac13bca9a6d0a1d6ec465e0609d6954679c: GCORE: Implement ListZones to allow auto create zones (#3588) (@xddxdd)
- 08a6af82bef22bab013ea5b935bb5a291a24ba9f: NS1: Add missing ListZones() (#3600) (@costasd)
Documentation:
- 87cd4f40e3d26239086c5312e897378e4a029a15: DOCS: generate smaller tables for feature matrix (2nd try) (#3589) (@chicks-net)
- 8c69cee51767103c71882cef2ec44f2adfed117f: DOCS: Update providers and registrars list to latest (#3580) (@matteotrubini)
- 52e7caa8e1f50e5d25ff71e765797a146a3b1c51: DOCS: Update reference to providers index in PR submission checklist (#3575) (@jbelien)
- e140acb71e0e007ac93f6d8a86131ea06adfccc1: CNR: Update docs with proper Nameserver example (#3592) (@mejofi)
- 6e96b769020d7146ea35562a702007cb71f1547d: DOCS: Add Porkbun as supported registrar and update usage examples (#3578) (@matteotrubini)
- 1d148f430b46cbadf66223bf1ee43e01e1b7eea0: DOCS: document redirect types (#3585) (@willpower232)
CI/CD:
- c32432eb5f2514f1421a5f34c2e2ea95c563a9af: BUILD: GoReleaser changelog dependencies regex (#3593) (@cafferata)
- 75a66e46cd04b97a29d6ffb76a7f1397c21b0806: Build(deps): Bump alpine from 3.21.3 to 3.22.0 (#3599) (@dependabot[bot])
- bf5a4250b27ae5a5e02c89de042b34bf20a2c2a3: Build(deps): Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.9.0 to 1.10.0 (#3595) (@dependabot[bot])
- d7d5a6b701c3b3c7c192cefdfa50ee40893a96a9: Build(deps): Bump github.com/digitalocean/godo from 1.146.1 to 1.150.0 (#3596) (@dependabot[bot])
- b7df6d562a201a314ea461f38988e75526d65973: Build(deps): Bump github.com/huaweicloud/huaweicloud-sdk-go-v3 from 0.1.148 to 0.1.152 (#3598) (@dependabot[bot])
- cffa7e4f60b5d08d4f727503c00895c296a43219: Build(deps): Bump github.com/mittwald/go-powerdns from 0.6.6 to 0.6.7 (#3594) (@dependabot[bot])
- 9af2e8a81bf4878f874857a47079ee759084b32e: Build(deps): Bump github.com/oracle/oci-go-sdk/v65 from 65.91.0 to 65.92.0 (#3597) (@dependabot[bot])
- 437e46f04b02b99c1a99b586c497ad49deb9ac26: Build(deps): Bump tar-fs from 3.0.8 to 3.0.9 (#3601) (@dependabot[bot])
Dependencies:
- 217f410a62365718a4213e59a4e7c4b39ddd226a: CHORE: Update dependencies (#3602) (@tlimoncelli)
- df7bf9f4ad79a6f74bc75ebcdc527124426e10f7: 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 https://github.com/StackExchange/dnscontrol/issues/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 |
| 4.20.0 | 13 de maig del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versió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:
- be081cddada1b354dadecf0d2f9bdceba1dc1007: AUTODNS: Enable "get-zones" (ListZones, EnsureZoneExists, GetRegistrarCorrections) (#3568) (@flokli)
- 5e4d68b41cdf749ce7807ecf5c4d4c8b4e1dcf94: CLOUDFLAREAPI: Enable inserting DS records at the domain apex (even if they may be rejected) (#3571) (@tlimoncelli)
- 97bbc80b2a9ecb2384f9074d6c37cf8c1da555b8: INWX: BUGFIX: ALIAS RRs updates are broken due to trailing dot issue (#3564) (@eliheady)
- 277a260d641d9234d273ec037754d42a3e90cebe: ROUTE53: BUGFIX converting alias to cname causes failure (#3567) (@tlimoncelli)
Other changes and improvements:
- 7882326a8dad0dc8b04ff0f71ef4f7d79e1b5fa1: 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 https://github.com/StackExchange/dnscontrol/issues/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 |
| 4.19.0 | 3 de maig del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versió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:
- 7a4c16f4472a07c78dca4761faa34b8af98e4f5c: BUGFIX: REV fails in D_EXTEND for IPv6 addresses (#3552) (@tlimoncelli)
Provider-specific changes:
- cf971b8b9069fa0cfd974b6cc0e42419b6eabaad: AXFRDDNS: Ignore ZONEMD records (#3551) (@gucci-on-fleek)
- e2c4a4abe1ed02c52cfe51b2ce9647ac8d84bcc4: AZURE: populate zone cache after creating zone (#3329) (@das7pad)
- 697433563fb993083c157002129cd2e78240d595: AZURE_DNS: Dedupe nameserver (#3526) (@vatsalyagoel)
- 5715b842f50aff749f36d582c34641125fc13c27: BUNNY_DNS: Support DNSSEC and fix Null MX parsing (#3547) (@ppmathis)
- 25fa91c2e89d090749030e9fdf6e8d8c9db91108: DESEC: Properly support punycode domains (#3479) (@networkException)
- 1c04affe7c69f50c38c798754fadbd4b1a54c4c6: INWX: Add AutoDNSSEC support (#3534) (@eliheady)
- cfaa82f5c934bd019accf83b82f136f7078ff168: INWX: Fix Null MX handling (#3524) (@eliheady)
- 76e1d3828737c8bc705b43d7a09ae79464ffecd9: INWX: populate zone cache after creating zone (#3334) (@das7pad)
- c204ccea09c485e58a3835afed0c6b6813b2b9c0: INWX: support ALIAS records (#3499) (@tennox)
- 07ffb3ab588a1045a115f47b9515ed983d2749c7: INWX: use domain ACE encoding as cache key (#3519) (@eliheady)
- 03932c9c1ad85c978c86f8bff3d4532fe47c7809: NAMECHEAP: fix support for url etc records (#3538) (@willpower232)
- 605ec55546a436e46d79cc9234d0567f5427a286: PORKBUN: Add support for SVCB and HTTPS record types. (#3527) (@jcjones)
- 6322a624b42ef36a492153cf0a7516b3ba684c96: POWERDNS: Add support for DNAME, HTTPS, SVCB, and DNSKEY record types (#3525) (@vfreex)
Documentation:
- c4f5bdae0e50f3962569b8b9bd4f3c5d03de0146: DOCS: add for CONCURRENCY_VERIFIED (#3510) (@gotjoshua)
- 6a008a9881d39309bde8aecebd53ef3cecf8d3e3: DOCS: Added requested providers Netim (#3517) (@cafferata)
- e41a6ba6255780bcc2410a4cc1ebad6793cfcc94: DOCS: Fix link to contributor responsibilities (#3528) (@tlimoncelli)
- 9c7fafab7882e497fb891f3ce32a5a47369c7e15: DOCS: Reclassify providers concurrency status (#3518) (@cafferata)
Other changes and improvements:
- bb7f881754209205ae01b9957cb073a8fe60cce2: BUG: Fixed concurrency verified matrix builder (#3537) (@cafferata)
- d0fffaf8c283b6282aa06e5497771e4af51f9d48: BUGFIX: types fix: CAA_BUILDER accepts string[] or string for issue (#3546) (@eliheady)
- cf262689552533d8c3911d3d8dc484ae086a43be: CHORE: Update dependencies (#3560) (@tlimoncelli)
- ba67db23b566db91a0ba7935ea4196d074b6e847: 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 https://github.com/StackExchange/dnscontrol/issues/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 |
| 4.18.0 | 30 de març del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNS fans!
This is mostly a bugfix release. Some highlights include:
- 475f99b8d58725cc50aa2292892888460cb600ad: D_EXTEND works better with REV, some bugs still remain (#3488) (@tlimoncelli)
- 7661175d589327eb7327f0fece44a5f08e4e6e4f: typescript improvements for require_glob optional (#3508) (@labrown)
- 0097b63a20a664b6aebf723b4860cae050afc1cb: CLOUDFLARE: Changed how CF_REDIRECT names are generated. Your next "push" will rename things.
- 14c3acb8019e226be672c9862fc2d3cc3d36cc3a: CLOUDFLARE: SINGLE_REDIRECT now permits 307 redirects too (#3514) (@tlimoncelli)
- fef79fb84d425d0af947637274bb85b979f3eab9: AUTODNS: enable concurrent gathering of zones (#3494) (@arnoschoon)
- eec0f4952f4c97ace92c85d88f5d735aeb711f6f: AUTODNS: fix error when restoring existing MX or SRV records (#3492) (@arnoschoon)
- 6bf1fda6d9a24051a00a50d6f012810abe88c8fc: INWX: Rewritten to use the modern diff2 system! (#3501) (@eliheady)
- e0e3021ca8c9906d512a2dd1e829a6283a692f79: 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:
- 14c3acb8019e226be672c9862fc2d3cc3d36cc3a: CLOUDFLARE_API: SINGLE_REDIRECT permits more than 301/302 redirects (#3514) (@tlimoncelli)
- fef79fb84d425d0af947637274bb85b979f3eab9: AUTODNS: enable concurrent gathering of zones (#3494) (@arnoschoon)
- eec0f4952f4c97ace92c85d88f5d735aeb711f6f: AUTODNS: fix error when restoring existing MX or SRV records (#3492) (@arnoschoon)
- 0097b63a20a664b6aebf723b4860cae050afc1cb: CLOUDFLARE: CF_REDIRECT "name" should be 3-digits so it sorts better (#3495) (@tlimoncelli)
- 6bf1fda6d9a24051a00a50d6f012810abe88c8fc: INWX: move to diff2 for record corrections (#3501) (@eliheady)
- e0e3021ca8c9906d512a2dd1e829a6283a692f79: INWX: use provisioned nameservers, fall back to hardcoded defaults (#3502) (@eliheady)
Documentation:
- 5dafc9c1e3caaa4c3142e3009aa90db43f11c9ce: DOCS: Add fmt for .js files to releng process (#3490) (@tlimoncelli)
- 47abf996e0101564e52f33c403bca91cecb3bc70: DOCS: Added requested providers BookMyName, IPv64 and Spaceship (#3496) (@cafferata)
- 839d510b733c7db4bce848721a7bf40e085f391e: DOCS: Fix typo in IGNORE.md (#3512) (@gucci-on-fleek)
- 1e5acba8e34f26c1fab5b74aae0af60c204eb3c5: DOCS: language-reference/D: fix broken link (#3486) (@pataquets)
- 7661175d589327eb7327f0fece44a5f08e4e6e4f: META: typescript: Mark recursive parameter of require_glob optional (#3508) (@labrown)
CI/CD:
- 0d8dcea63a7e668886d0e0ea8ee02cdf78c15347: BUILD: Move regen steps to a script (#3491) (@tlimoncelli)
- 5d4f2869ad9125fd0731bad670bf0570d9ef42e8: Build(deps): Bump actions/cache from 4.2.2 to 4.2.3 (#3505) (@dependabot[bot])
- 9ff73df4527acf8a6de7d16b6f77eb10b14b8726: Build(deps): Bump actions/upload-artifact from 4.6.1 to 4.6.2 (#3506) (@dependabot[bot])
- 00c9c62321a3f1d3c708f98d4c62d20ef2299059: Build(deps): Bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2 (#3503) (@dependabot[bot])
- c5b3ccc7db899a73e8a4b67b0db413bc517c10c8: CICD: Detect broken HTML links in the documentation as part of the pipeline (#3439) (@cafferata)
Other changes and improvements:
- 5ad2df1076d7a4ab7982735da0f58f56b1ec38be: BUG: fix panic message (#3489) (@tlimoncelli)
- d5368053cf999f39b27021860893875b6c85cead: CHORE: Update dependencies (#3504) (@tlimoncelli)
- 587519e00837592b55cf16282ae3831071efcb6b: CHORE: Update dependencies (#3515) (@tlimoncelli)
- 475f99b8d58725cc50aa2292892888460cb600ad: 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 w |
| 4.17.0 | 7 de març del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versió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:
- 48c99f7065fac6689487d552ce871adfe79058fe: Improve tagged domain handling in support of Split Horizon feature (#3444) (@eliheady)
Provider-specific changes:
- 2c56f68783eafde7b3badff67e6da9c8ce14af94: CLOUDFLAREAPI: Future-proof how ALIAS is handled (#3436) (@tlimoncelli)
- ea645bfde279027922bec647111e8b32d50af3f7: DNSMADEEASY: populate zone cache after creating zone (#3333) (@das7pad)
- ad308f6c18d2f1768544db21bfbba0a393013b71: OVH: Bugfix: Native DMARC records rejected for subdomains (#3440) (@masterzen)
- 063d8b06e8c864019e3ae39aece1985dfa6acfed: BUNNY_DNS: Add support for Redirect record (#3472) (@stevenrombauts)
Documentation:
- f3bdb1740adfec66f187da632c9a94159bdad19d: DOCS: Fix quoting issue in D.md (#3446) (@labrown)
- e91289b069b36adab919783702a493f53d83d449: DOCS: Fixes broken GitHub badge (#3438) (@cafferata)
- 83a36a674501d3041350a94c7b128e0c5ac4bdd1: DOCS: SOA RNAME description isn't accurate (#3481) (@jpmens)
- 5c18be2293ed26dcf272222322680f46b2c6e219: DOCS: Update migrating.md to match BIND's current behavior (#3454) (@udf2457)
- e0e32ca1a9a3fe88ef57810e42aecb8f448a870b: DOCS: fix broken links (#3437) (@imlonghao)
- 0d92d7a33f3485d43513ccdba62b3e9ef62e01ed: DOCS: fix link to writing-providers.md (#3430) (@nyanotech)
CI/CD:
- 59183f38baa6219634e72dafda4a19ffde16eb6c: Build(deps): Bump actions/cache from 4.2.0 to 4.2.1 (#3459) (@dependabot[bot])
- bd2c940a3cb7522caab1dd165097dc02621fc9d6: Build(deps): Bump actions/cache from 4.2.1 to 4.2.2 (#3480) (@dependabot[bot])
- 6aeacc699c78ed8ae229689eea5dbfc50490074c: Build(deps): Bump actions/upload-artifact from 4.6.0 to 4.6.1 (#3458) (@dependabot[bot])
- 38fd85af5d880fa8cd560c438dfe8115f4c116a2: Build(deps): Bump alpine from 3.21.2 to 3.21.3 (#3478) (@dependabot[bot])
- 1962fb884024be11aa447efa063935ceb0986304: Build(deps): Bump github.com/go-jose/go-jose/v4 from 4.0.4 to 4.0.5 (#3465) (@dependabot[bot])
Dependencies:
- 8c3903ea8c4c00e06d516002496b5b4f12a5838d: CHORE: update deps; go generate (#3455) (@tlimoncelli)
Other changes and improvements:
- b0bc29c402831432d79265afe1bef06ab51bfa01: BUG: get-zones not generating SOA() statements properly (#3464) (@tlimoncelli)
- f8ae1ee8c4aa24a254876eb1103f8e8d05cc4039: Bug: HASH() outputs debug info (#3483) (@jpmens)
- c01bfdc7ab6d77271ece84baa0bb4de6a90b82bd: CHORE: Future proof CAA integration test (#3449) (@tlimoncelli)
- f28169812465961dda1e36e9348fc3179f338c17: CHORE: Update dependencies (#3484) (@tlimoncelli)
- 311b6d8bbba547d60f087aac183c92cfa4930a4e: REFACTOR: Split integration_test.go (it should mostly contain data tables) (#3420) (@tlimoncelli)
- 3f8f9e78186bc74d780bc185b34884359346373e: refactor(RecordConfig): Use ChangeType() instead of assignment (#3441) (@tlimoncelli)
- 2c4cc0c5e5b779c49838db03af963b1ea1f00cda: 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 https://github.com/StackExchange/dnscontrol/issues/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 b |
| 4.16.0 | 6 de febrer del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versió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:
- 15a22ae00a42890d58859426de8513af55ee31ac: FEATURE: Enable OIDC support for Azure DNS provider (#3398) (@lckz)
- 304515d137d00223b9edc5665d8350c7bd32fb38: FEATURE: Remove ppreview/ppush and cmode=legacy (#3412) (@tlimoncelli)
Provider-specific changes:
- 4f5655e51046e9546896a5c9006524328cb3090a: NS1: remove deprecated NS1_URLFWD (#3400) (@costasd)
- f80c1c0d7be54db0321729d0e5de084274b303f9: POWERDNS: Allow editing the SOA record (#3404) (@Veratil)
Documentation:
- 4d94fcc35740f500730b1f5190f84e1293f72816: DOCS: Provider request: Vercel DNS (#3416) (@cafferata)
CI/CD:
- defa4dcf4bd8e324e020f5efd868984d771dd2cd: Build(deps): Bump alpine from 3.21.0 to 3.21.2 (#3410) (@dependabot[bot])
- 93467a46264a64d0b835696b0b8bf8d89b0bb0ea: CICD: GoReleaser archives format_overrides deprecation (#3417) (@cafferata)
Other changes and improvements:
- f264047633a6c272460fdbdbf6595c233b668e12: BUG: create zones on push regardless of --populate-on-preview=false (#3402) (@das7pad)
- 5b9f30416aa526ab5155cebed3e33840b0553930: CHORE: Update dependencies (#3414) (@tlimoncelli)
- 4d7b4855de1d1b9590ec342bf4ead8d8672816cd: 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 https://github.com/StackExchange/dnscontrol/issues/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 |
| 4.15.5 | 18 de gener del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versió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:
- 5e15bbe676332beaeae1a3838450b2d6f3e678f2: BUG: fetch zones once in ZoneCache (#3394) (@das7pad)
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 https://github.com/StackExchange/dnscontrol/issues/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 |
| 4.15.4 | 17 de gener del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versió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 https://github.com/StackExchange/dnscontrol/issues/3142
Changelog
Major features:
- ab00797f89b598a391a428e24f2a05332ed109a3: FEATURE: Extend PTR magic handling to support RFC4183 names (#3364) (@tomhughes)
Provider-specific changes:
- 0d5b3c22b72db6a9e01630937409c5e45f82f8b3: CLOUDFLARE: adopt ZoneCache (#3373) (@das7pad)
- 355643988ef90ed71becb1e42f4f976b01e39a02: CLOUDFLAREAPI: No longer treat TTL=300 as special (#3368) (@tlimoncelli)
- a3d6c51c7f400220797bae79397de8e778e3268d: CNR: Add support for ALIAS record type (#3360) (@AsifNawaz-cnic)
- a631c5bfdd5a46cbf4046232b3ad8858949c6794: CNR: Initial Performance improvement; golint review (#3391) (@KaiSchwarz-cnic)
- c348e354ff7f4ee6c996490e3236594e4b6f60a5: GCLOUD: CICD: Skip the pager1201 integration test (#3383) (@tlimoncelli)
- f666af8714267efe0b931b6f84565fea1341d919: GCLOUD: Re-try on 502 errors (#3376) (@tlimoncelli)
- 67db0e287da5818757e042a9cc4818db2fda2b4d: GCLOUD: remove (irrelevant) slow test (#3384) (@tlimoncelli)
- 2ef23621b5fbf0652a4eb5c7c86fba56444e3644: HETZNER: adopt ZoneCache (#3372) (@das7pad)
- b5b2873c62da62b6cdd820e61b7c23668aa93da3: HEXONET: Add error handling for MX and SRV record priority parsing (#3355) (@AsifNawaz-cnic)
- 4956d3d068eb9923eef191795ac6959bfc4ff6e6: HEXONET: Skip unneeded test to speed up CICD (#3348) (@tlimoncelli)
- 1a1a4bf00d7d6402471525f4d0d8676e3b689ec1: INWX: Enable SRV to have "." target (#3380) (@tlimoncelli)
- 89c65b6683f5752a5435ac2d9dfc66da5ccb76b8: INWX: Permit "." target for SRV records (#3377) (@tlimoncelli)
- d13cf0fc523247999ef09a8425e919381daaceea: POWERDNS: fix preview/push of a non-existent zone (#3338) (@Veratil)
- cc366d4306a2c1d5cf961b25b96a97517107005f: ROUTE53: Add HTTPS, SSHFP, SVCB, and TLSA record types (#3316) (@bdd)
- 8a2cf1f670a6564e2244b31513918aeed0aa4edb: TRANSIP: Change to zone-based updates to dramatically improve speed of updates (#3362) (@blackshadev)
- 5cfb9073a20026294159d91f69156a52125515bc: TRANSIP: Pause when rate-limited (#3378) (@tlimoncelli)
Documentation:
- 519e4f82e115ea5de4a42ecc1414212026200178: DOCS: Provider URI redirect (#3307) (@cafferata)
- f9718852ced1b308cf96d1f13591c3ac8f72948c: DOCS: Rackspace Cloud DNS provider request (#3322) (@cafferata)
CI/CD:
- 16159f303c196e1242309373b338d30389b3b51f: Build(deps): Bump actions/upload-artifact from 4.5.0 to 4.6.0 (#3356) (@dependabot[bot])
- 9e88b6a801e49260f1615469396cc8d9ed0371cc: CICD: Make pager tests more visible (#3387) (@tlimoncelli)
- fc2c5069202fb8d2e1eb70aba5dde103afc16022: CICD: Warn user if -provider does not mat |
| 4.15.3 | 4 de gener del 2025 | — | 64 bits ZIPARM64 ZIP Notes de la versióHello and happy new year, DNS fans!
This is mostly a bugfix release but 2 of the bugfixes are very important. It is strongly recommended that you upgrade immediately if you use NAMEDOTCOM at all, and if you use IGNORE*() features on AUTODNS, BIND, MYTHICBEASTS, REALTIMEREGISTER, or SAKURACLOUD
Major bugs:
- (https://github.com/StackExchange/dnscontrol/issues/3259) NAMEDOTCOM: TXT records were not generated properly. Quotes were added around the text. This went unnoticed for months (years?). Thanks to @tkurki for reporting this! (FYI: This provider needs a volunteer maintainer. See below!)
- (https://github.com/StackExchange/dnscontrol/issues/3227) IGNORE() deletes ignored records when used with providers that use the diff2.ByZone() function: This affects AUTODNS, BIND, MYTHICBEASTS, REALTIMEREGISTER, SAKURACLOUD only. This was extremely difficult to find but thanks to some smart detective work by @rmc47 we not only found the problem, but developed an entirely new technique for testing IGNORE(). I now have greater confidence in IGNORE() and believe it is bug-free for all cases except when a third-party is updating the zone at the same time (something that can't be fixed because DNS doesn't have transactional locking).
Other news:
- AXFRDDNS got a long-needed update from (@gucci-on-fleek) who fixed a number of small problems, enabled LOC records, and added it to The List of AutoTested Providers!
- MYTHICBEASTS is now on The List of AutoTested Providers thanks to @tomfitzhenry!
Speaking of The List of AutoTested Providers: These are the providers that get fully tested with each release:
- AXFRDNS, AZURE_DNS, BIND, CLOUDFLAREAPI, CNR
- DIGITALOCEAN, GANDI_V5, GCLOUD, HEDNS, HEXONET
- MYTHICBEASTS, NAMEDOTCOM, NS1, ROUTE53
- SAKURACLOUD, TRANSIP
All other providers are not tested as often. Want your provider added to this list? Here's how: https://docs.dnscontrol.org/developer-info/byo-secrets
Changelog
Provider-specific changes:
- d0d99267e15f9f07b10d903c2ab256edb16dd0ba: AXFRDDNS: Add support for LOC records (#3269) (@gucci-on-fleek)
- 9c3a161ccd56c25f46665fd34ca9a154cbf15770: AXFRDDNS: Enable automated testing (#3290) (@tlimoncelli)
- e664daea5369c74a42794bffbabe1c4a5d6f5426: AXFRDDNS: Modernize, Update supported capabilities (#3294) (@gucci-on-fleek)
- 76bbdc191a058724735a429818dcf7f5a656edb0: GANDI_V5: Increase error verbosity (#3267) (@tlimoncelli)
- fb3adf96de8f934d1bc7995ba4be8230f9d4bed3: MYTHICBEASTS: Add MYTHICBEASTS to automated tests (#3277) (@tomfitzhenry)
- 43bb75e9a222c0c59bfddfad6ed63009b8437776: MYTHICBEASTS: CHORE: fix code formatting (#3281) (@tlimoncelli)
- a8990ae1e1e5811ffe1ee12ee90095b69e7f9991: NAMEDOTCOM: BUGFIX: TXT records add unneeded quotes (#3260) (@tlimoncelli)
Documentation:
- 35ac9a964e1606fce03ce583cbd22ba7ab7d5f01: DOCS: Add dep updates steps to rel-eng (#3265) (@tlimoncelli)
- aa93615d79e4e1cb80b2824f6b7494c5c6392072: DOCS: Add fmtjson and "get co main" to releng docs (@tlimoncelli)
- 2f55b6c89d597da6dcc5819f525d10678cc31340: DOCS: How to test a branch (feedback) (#3268) (@cafferata)
- 71539d40cf135874c84439269c259d6f2ed4736d: DOCS: Shoutrrr added list of notification services (#3242) (@cafferata)
CI/CD:
- 6d5bfe952041979bd915830df18c317c25368e72: Build(deps): Bump actions/upload-artifact from 4.4.3 to 4.5.0 (#3270) (@dependabot[bot])
- f265dbade1aecbca2ea547ea36e99b95d40fefb8: Build(deps): Bump alpine from 3.20.3 to 3.21.0 (#3289) (@dependabot[bot])
- ea5e571bcf298c725841e2a75cb243d9d139bec0: CICD: Update docs/comments after file renames (#3278) (@tomfitzhenry)
- 513b8be910ab2be7e9135dbe8ee3e696550ba51f: CICD: json files should be strictly formatted (#3282) (@tlimoncelli)
Other changes and improvements:
- dd26354e0e6442a2b81253f05c3bb0e94dc73b2c: Add .git-blame-ignore-revs (@tlimoncelli)
- a34102206879fc06cf0d85add6c30246048a554b: BUGFIX: IGNORE() deletes ignored records on ByZone() platforms (#3263) (@tlimoncelli)
- f202433878e9f0a6d724ebf7eafaccddeba08d59: CHORE: Remove debug statements (#329 |
| 4.15.2 | 17 de desembre del 2024 | — | 64 bits ZIPARM64 ZIP Notes de la versióHappy holidays, DNSControl Fans!
Another quick bugfix release. This is particularly important if you use the BIND provider.
Bug: BIND
In 4.15.1 a bug was introduced that made the BIND provider use the same filename for all zonefiles. That is fixed in this release. As a bonus, BIND joins the list of providers that can run concurrently.
Do not use 4.15.1 if you use BIND.
Possible bug: IGNORE() plus MYTHICBEASTS
We're tracking a bug that was reported involving IGNORE() with MYTHICBEASTS (https://github.com/StackExchange/dnscontrol/issues/3227). If you use any of the IGNORE*() functions, please push with caution.
It might affect other providers that use the diff2.ByZone() function call (AUTODNS, BIND, REALTIMEREGISTER, SAKURACLOUD) with a smaller change it will affect providers that use the diff2.ByRecordSet() function (AZURE, GCLOUD, GCORE, HUAWEICLOUD, NS1, POWERDNS, ROUTE53, TRANSIP).
If you use any of those providers, we can use your help! Please run the integration tests (https://docs.dnscontrol.org/developer-info/integration-tests) and report if they were successful or not. This release includes a new test that should trigger this bug: Integration test number 77 IGNORE w/change b3227
That's it!
Sorry for the releases right before most people are going on break! If you are concerned about other issues, the last v4.14.x release was very stable and is backwards compatible.
Best,
Tom
Changelog
Provider-specific changes:
- a7e83de93de1e17ee594c615f0f42c881863a397: BIND: Allow use in cmode=concurrent (#3254) (@tlimoncelli)
Documentation:
- ee4970471b02336eb6cab8221eed73c6eafc4e6b: DOCS: Trailing commas are no longer an issue (#3248) (@cafferata)
Dependencies:
- c74fbd519519dc2fa6b5c177c52743f8de21cd5d: CHORE: update deps (#3256) (@tlimoncelli)
Other changes and improvements:
- c1206a8d4cc3520b3c593d378206d515c456249e: ENHANCEMENT: get-zones: No longer generate END tokens (#3253) (@tlimoncelli)
- 3d25d3e3bd1d41e6c120fd33aa303837448b8b13: TEST: Improve IGNORE() integration tests (#3255) (@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 https://github.com/StackExchange/dnscontrol/issues/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 |
| 4.15.1 | 13 de desembre del 2024 | — | 64 bits ZIPARM64 ZIP Notes de la versióHi DNSControl fans!
The speed and concurrency benefits announced in v4.15.0 were accidentally only applied to preview and not push. The 2-byte change in #3249 fixes that. Now push is as fast as preview (plus the time it takes to do any updates).
One user reported runtimes went from 57 seconds to 7 seconds. That's a 87% reduction in run-time!
Best, Tom
Changelog
Documentation:
- 29283f7fe508bf21460c095ce2efedc225ca39d5: DOCS: Update Mattermost docs link (#3247) (@willpower232)
Other changes and improvements:
- 43579505fff36fa7d42cfab7ba788bc16fa38384: BUGFIX: push not running concurrently (#3249) (@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 https://github.com/StackExchange/dnscontrol/issues/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 |
| 4.15.0 | 13 de desembre del 2024 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings and happy holidays, DNSControl fans!
Santa (or the super-natural gift-delivery being of your choice) has graced us with THREE big, new, exciting, features, plus a ton of other fixes and improvements.
BIG NEWS # 1: The last line of a D() statement can now have a comma!
In the past, leaving off the last comma would give an error:
D("example.com", REG_NONE, DnsProvider(DSP_EXAMPLE),
A("test", "1.2.3.4") <<< look, Ma! No comma!
END);
### version 4.14.x:
$ dnscontrol check
executing dnsconfig.js: (anonymous): Line 183:25 Unexpected token )
### version 4.15.0:
$ dnscontrol check
No errors.
Best of all we got this feature simply by upgrading to the newest version of the JavaScript interpreter we use (https://github.com/robertkrimen/otto). In the latest release @linuxerwang (who has probably never heard of our project) submitted this enhancement in https://github.com/robertkrimen/otto/pull/520 and we all benefit.
This affects all kinds of JavaScript lists, not just D() statements.
Thanks, Santa! .... I mean @linuxerwang!
BIG NEWS # 2: The default for --cmode is now concurrent.
This means your preview will run many times faster because all the domains are collected concurrently. Some people have reported runtimes are reduced 50-75%.
This change was announced months ago in https://github.com/StackExchange/dnscontrol/issues/3142 plus dnscontrol printed warnings since v4.14.0.
The following providers added concurrency support in this release: CLOUDNS, CNR, DIGITALOCEAN, GANDI_V5, HETZNER, NAMECHEAP, NETLIFY
Providers that already support concurrency include: AZURE_DNS, CLOUDFLAREAPI, CSCGLOBAL, DESEC, GCLOUD, NS1, ROUTE53, TRANSIP.
This code is a bit new. If you find a bug, use --cmode=none to disable concurrency. (and file a bug report!)
BIG NEWS # 3: Notifications can now be sent using Shouterr
Notifications are now handled by the Shouterr package. Shouterr supports every chat system I've heard of, plus plenty of other systems. In the future Shouterr will become the standard way to send notifications and other methods will be deprecated. How to set up notifications is documented at https://docs.dnscontrol.org/advanced-features/notifications.
Other new features worth mentioning:
- NEW PROVIDER: CentralNic Reseller (CNR) - formerly RRPProxy (#3203) (@AsifNawaz-cnic)
- PORKBUN: handles retries/ratelimits better, and now also supports CAA.
- The get-zones subcommand is more reliable, which probably also makes preview more reliable.
Thanks to everyone for their contributions! This is a community-driven project and we couldn't do it without all your PRs, reviews, and other support!
Stay safe! See you in the new year!
- -Tom
Here's the details:
Changelog
Major features:
- b2ee265578dad749297d960839c5861f10cfda01: NEW PROVIDER: CentralNic Reseller (CNR) - formerly RRPProxy (#3203) (@AsifNawaz-cnic)
Provider-specific changes:
- 9d42930120aad369a0559e32eeb8bba4035a3815: CLOUDNS: enable concurrent access (#3232) (@hmoffatt)
- 0b85cf2fe2d1bc8e1982bd93bedb59c54d85d341: CNR Provider: Review CI / Docs / Capabilities (add NAPTR, SSHFP) (#3241) (@tlimoncelli)
- 006a434fc6801823d61b07e2566987455f442a7f: CNR: Disable pager101 integration test (#3226) (@tlimoncelli)
- 2eeeb7651222c6bdf2a80c832c8ae7fd1326a28e: DIGITALOCEAN: Enable cmode concurrent (#3207) (@willpower232)
- 52c9bad62e34ca4d060803e7e1cbc18df17a9c54: GANDI: Enable cmode concurrent (#3201) (@tlimoncelli)
- 5d625e81ea097c5fc15ac244514127e83da2aa28: HETZNER: enable concurrency capability (#3234) (@das7pad)
- 87fcb273c8318a715daa3591d4ad417179cf6fc5: NAMECHEAP: Enable cmode concurrent (#3202) (@tlimoncelli)
- d29c1cf5cd494ea3752136b624d088927e0cf073: NETLIFY: Enable cmode concurrent (#3205) (@willpower232)
- de6afe2506ca93f0fc251fb9321221214897112f: PORKBUN: increase req interval and retry on 503 (#3228) (@imlonghao)
- 5d8e711a532ee8f26caf2405f99d10505d8cf2cb: PORKBUN: support CAA (#3200) (@imlonghao)
Documentation:
- a6308edd52f3d6b0699fabb6c40a397bc42c76a1: DOCS: Add instructions for |
| 4.14.3 | 7 de novembre del 2024 | — | 64 bits ZIPARM64 ZIP Notes de la versióChangelog
Provider-specific changes:
- de0f346ca24b08c455fe40ce42c7e4bd3c61b700: NS1: Remove tests for NS1_URLFWD (#3195) (@tlimoncelli)
Dependencies:
- 5c68ccb135edb68c4b07ecd21e6a39142b721568: CHORE: update deps (#3197) (@tlimoncelli)
Other changes and improvements:
- df8f8a642624c7e1aa4d5ef1b2b8c7968ec6d482: feat(import_transform): skip records with import_transform_skip set (#3193) (@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 https://github.com/StackExchange/dnscontrol/issues/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 |
| 4.14.2 | 5 de novembre del 2024 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNSControl Fans!
This is a bugfix release. The bug only affects one use of DNSControl (you know who you are) therefore adopting this release isn't urgent. This release also bumps modules for HUAWEICLOUD, ORACLE, and SOFTLAYER.
Changelog
CI/CD:
- 1fde1332c14500846f327bcab94cce7bcc28379f: Build(deps): Bump github.com/huaweicloud/huaweicloud-sdk-go-v3 from 0.1.117 to 0.1.120 (#3186) (@dependabot[bot])
- 8a6912b7629de11e995cbba786f8815f58b6b614: Build(deps): Bump github.com/oracle/oci-go-sdk/v65 from 65.75.2 to 65.77.1 (#3187) (@dependabot[bot])
- f14de794af4a5da8cf2370d4b31fbc3ab8f5932a: Build(deps): Bump github.com/softlayer/softlayer-go from 1.1.5 to 1.1.7 (#3188) (@dependabot[bot])
Other changes and improvements:
- 74582e14e718cf0f8097176181d7e54f01599718: BUG: IMPORT_TRANSFORM_STRIP not stripping CNAME targets (#3189) (@tlimoncelli)
- 583cba3855fc6bfed312ef9bfa8b491005f08faa: IMPORT_TRANSFORM_SUFFIX: Fix for CNAMEs (#3192) (@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 https://github.com/StackExchange/dnscontrol/issues/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 |
| 4.14.1 | 1 de novembre del 2024 | — | 64 bits ZIPARM64 ZIP Notes de la versióGreetings DNSControl Fans!
This is a bugfix release, though one new feature is included (GCORE gains support for GeoDNS/Failover thanks to @xddxdd).
- NS1 no longer fails if it sees a REDIRECT (#3167) (@kabenin)
- ORACLE no longer gives invalid warnings in one situation (#3178) (@fabienmazieres)
- ORACLE supports more than 50 zones (was only seeing the first 50) (#3179) (@fabienmazieres)
- ORACLE now properly handles the API's inconsistent handling of "trailing dot" on NS records (#3170) (@fabienmazieres)
- M365_BUILDER no longer fails on second level domains (#3165) (@CJFelto)
- Security fix: github.com/go-acme/lego to v4 to resolve security issue (#3169) (@jauderho)
- Integration test TestDualProviders cleans up after itself better (#3171) (@fabienmazieres)
Thanks to everyone for their contributions! This is a community-driven project and we couldn't do it without all your PRs, reviews, and other support!
Here's the details:
Changelog
Provider-specific changes:
- be25228cc84f54511d627447db9c09c592529431: GCORE: Add support for GeoDNS/Failover (#3161) (@xddxdd)
- ee65e4610ae8f75203d2a0c885cc5a450dde05c5: NS1: Ignore RRSets of type REDIRECT (#3167) (@kabenin)
- 5fbbad14b68b316770658872f2c7d77d77d0c0b4: ORACLE: BUGFIX: Support accounts with > 50 zones (#3179) (@fabienmazieres)
- a6fe3fc48f050444a38bfacd9e7d37bbf8028aad: ORACLE: Do not warn about TTL for sub domain NS records (#3178) (@fabienmazieres)
- 4190659152eab207a776cffc45f6adef8d5f5313: ORACLE: Handle the API's inconsistent NS "trailing dot" issue (#3170) (@fabienmazieres)
CI/CD:
- 16fa123cfa95bfbcc655e9387117aee880b9b801: Build(deps): Bump actions/cache from 4.1.1 to 4.1.2 (#3175) (@dependabot[bot])
- 635eb314d2c636d42dfc88245ddd7ebb2ad8061c: M365_BUILDER: Support second level domains, fix domainGUID Generation (#3165) (@CJFelto)
Dependencies:
- a0f7123a14f309f0eb6c9e505765b40e81d1f06e: CHORE: Update deps and fmt (#3184) (@tlimoncelli)
Other changes and improvements:
- 1872b121160f4b69aaa3bd9052b310772a148775: NEW FEATURE: IMPORT_TRANSFORM_STRIP (#3181) (@tlimoncelli)
- 2abbab0c841c6f2b6ef67f421ec445198d3d5c03: CHORE: go generate (#3182) (@tlimoncelli)
- 1edde6274ad2bd4ec3212d57f3938fc927aefe89: Clean-up records after TestDualProviders (#3171) (@fabienmazieres)
- e0ef3cbde59fc3ea699489766dd8a5e5b11517a2: GET-CERTS: Bump github.com/go-acme/lego to v4 to resolve security issues with go-jose (#3169) (@jauderho)
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 https://github.com/StackExchange/dnscontrol/issues/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 |
| 4.11.0 | 16 de maig del 2024 | — | 64 bits ZIPARM64 ZIP Notes de la versióHello DNSControl fans!This is mostly a bug-fix and catch-up release. The most significant fix is that ppreview --expect-no-changes now works, thus making ppreview/ppush feature complete. Those commands will replace preview/push in 1-2 releases, so please test them and give your feedback as soon as possible. For my configuration ppreview reduces run-time from 4-5 minutes to 30 seconds.- New record support: DESEC added SVCB/HTTPS; NS1 added SVCB, HTTPS, TLSA, DNAME, DHCID; BUNNY_DNS added ALIAS.
- Added support for concurrent operation (ppreview/ppush): NS1, TRANSIP
- "ppreview --expect-no-changes" now works!
- ZSH Autocomplete improved
- Welcome new maintainer for AKAMAIEDGEDNS, Ed Lynes!
Thanks to everyone for their contributions! This is a community effort and it wouldn't be a success without all your help!Changelog
Provider-specific changes:
- AKAMAIEDGEDNS: new maintainer: Ed Lynes (#2954) (@svernick)
- DESEC: Enable support for SVCB/HTTPS (#2942) (@Meroje)
- NS1: Add SVCB, HTTPS, TLSA support (#2945) (@costasd)
- NS1: add support for DNAME and DHCID record types (#2951) (@costasd)
- NS1: enable concurrency (#2952) (@costasd)
- NS1: update ns1-go to 2.10.0 (#2941) (@costasd)
- TRANSIP: Completed/checked the missing capabilities (#2957) (@cafferata)
- TRANSIP: Concurrency documented (#2948) (@cafferata)
Documentation:
- DOCS: Clarify RE doc (#2934) (@tlimoncelli)
- DOCS: Code examples with END constant (#2950) (@cafferata)
- DOCS: [OVH] Several improvements (#2949) (@cafferata)
CI/CD:
- CICD: De-conflate integration test for SVCB and HTTPS (#2938) (@tlimoncelli)
Dependencies:
- CHORE: Update deps (#2953) (@tlimoncelli)
- CHORE: update deps (#2944) (@tlimoncelli)
Other changes and improvements:
- BUG: "ppreview --expect-no-changes" returns error for "informational" messages (#2936) (@tlimoncelli)
- BUG: ZSH Autocomplete does not work if installed as a file #2955 (#2956) (@Maetveis)
- BUNNY_DNS: Add support for ALIAS (#2946) (@DamianZaremba)
- CHORE: Linting and comment-fixing (#2937) (@tlimoncelli)
- CHORE: Upgrade AWS module (#2958) (@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
Install with MacPorts
sudo port 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
Install with MacPorts
sudo port upgrade dnscontrol
Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page. |
| 4.8.2 | 24 de gener del 2024 | — | 64 bits ZIPARM64 ZIP Notes de la versióHello DNSControl fans!This release is mostly bug and doc fixes. The only new feature is that GCORE now supports ALIAS records, which it always supported, but now DNSControl knows that too.Enjoy!Changelog
Provider-specific changes:
- da0f97d37af90db42300f9fec5c0899b8735a7ad: DOCS: realtimeregister: Add security advice about creds (#2795) (@PJEilers)
- 5dfc8ca935d86cf6d80863ab307d83d1fa320b3b: GCORE: enable ALIAS records (#2802) (@xddxdd)
- 1db0ae2dc8dac99cc7de4fdb7abf636ce57471fc: TRANSIP: Audit records verified (#2794) (@cafferata)
- 057c921ebf40c4d3734167ebf52642d8180c1cbb: TRANSIP: Fix description of multirecord updates to be increasing (#2791) (@blackshadev)
Documentation:
- 5d57677c05ffa0d8385b0d72e1dec9834855744a: DOCS: TransIP - Described API limitations (#2789) (@cafferata)
- 447db0e68cc3ef98d6b6dcec16a805a7d7782ac3: DOCS: TransIP - Updated console output (#2793) (@cafferata)
- 56220fba5f94b13c935dea782682f4fd45d6d0a1: DOCS: Clarify PTR example (#2792) (@tlimoncelli)
- eb451020294a88576dd77f42c4ecf4bed0a62837: DOCS: Clarify Windows use of --creds filename (#2812) (@tlimoncelli)
- 82d6a9b124dc81f584f909464c70a564582884c9: DOCS: Fixed the broken CAA_BUILDER() link (#2790) (@cafferata)
- 5a90eae11533baf74488e8138f411729d333f220: DOCS: [GitBook] Remove configuration file (#2807) (@cafferata)
CI/CD:
- fbd436f607b5bc0d781093dbd5df245dbd622d9a: Build(deps): Bump actions/cache from 3.3.2 to 3.3.3 (#2796) (@dependabot[bot])
- ba87993278054762b3827ddda77d9212a929e9b2: Build(deps): Bump actions/cache from 3.3.3 to 4.0.0 (#2806) (@dependabot[bot])
- 513caa5af1ece816d6dbd06da75ead6243c24d6a: CICD: Add nullMX tests (#2801) (@tlimoncelli)
- 355c0fe6a1edb2c04fe56f2fc482bb6f90fabebc: CICD: Rename the master branch to main (#2774) (@cafferata)
Dependencies:
- c1c59f703b0e80e3102e9f00fa0feebc1fa42b3c: CHORE: Update deps (#2787) (@tlimoncelli)
- d926e454d08eb642d99c8710c63cab749d55ff87: CHORE: Update deps (#2804) (@tlimoncelli)
- 881a641f0de289b1625076f47cd4ffec78147b39: CHORE: Update deps (#2811) (@tlimoncelli)
Other changes and improvements:
- f5575bba4fbfffd0f5bb28e3c3c18162cd3077d9: CHORE: Missed generated content (#2803) (@cafferata)
- 916e9418e7cafbbb7f9d264853f8e9f5617e216a: Update generated files for v4.8.2 (@tlimoncelli) |
| 4.7.2 | 5 de desembre del 2023 | — | 64 bits ZIPARM64 ZIP Notes de la versióWelcome to v4.7.2!
This is the first production-ready release in the v4.7.x series (v4.7.0 and v4.7.1-beta should not be used in production; sorry about any confusion that may have caused... this was the first time doing a release that way).
This release implements a single change: How TXT records are stored internally. There should be no user-visible changes.
- TXT-handling code is now simplified with fewer edge-cases
- A new opinion is added ("Opinion # 8 TXT Records are one long string")
- The get-zone subcommand now generates TAB-separated files that are more correct for TXT records (the quotes were a bug).
TXT record handling was complex because we abstracted them at the wrong layer. Code that works with TXT records is now more simple, easier to modify, and a lot of minor bugs have been squashed. For example, diff'ing old and new TXT records is consistent across all providers.
Thanks to everyone for help testing this release! |
| 4.1.1 | 6 de juny del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP Notes de la versióChangelog
Provider-specific changes:
- : AUTODNS: Guard against conversion errors (#2396) (@tlimoncelli)
- : BIND: Automatically create the subdirectories leading up to zonefiles (#2397) (@tlimoncelli)
- : BIND: reset zonefile for reading records (#2407) (@fritterhoff)
- : CLOUDFLAREAPI: Allow API debugging to be enabled via env variable (#2395) (@hmoffatt)
Other changes and improvements:
- : Also push container images to github / gcr.io (#2408) (@Firefishy)
- : Build(deps):
Bump github.com/G-Core/gcore-dns-sdk-go from 0.2.3 to 0.2.6 (#2413) (@dependabot[bot])
- : CHORE: Eliminate SetTargetTXTString() (#2409) (@tlimoncelli)
- : CHORE: Rename js.
Javascript to js.
JavaScript (#2405) (@tlimoncelli)
- : CHORE: Update dependencies (#2415) (@tlimoncelli)
- : CICD: Add required GHA permissions for goreleaser (#2424) (@Firefishy)
- : CICD: Also push container images to GitHub Container Registry (ghcr.io) (#2418) (@Firefishy)
- : Create codeql.yml (@tlimoncelli)
- : DOCS: Add to styleguide info about top-of-doc params (#2404) (@tlimoncelli)
- : DOCS: TypeScript updates (#2402) (@j-f1)
- : DOCUMENTATION: Add JSDoc info to style guide (#2403) (@tlimoncelli)
- : REFACTOR: .target should always be FQDN (#2421) (@tlimoncelli)
- : Revert "Also push container images to github / gcr.io" (#2416) (@tlimoncelli) |
| 4.1.0 | 1 de juny del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 4.0.1 | 23 de maig del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 3.31.4 | 11 de maig del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 3.31.3 | 3 de maig del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 3.31.2 | 26 d’abril del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 3.31.1 | 18 d’abril del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 3.31.0 | 18 d’abril del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 3.30.0 | 30 de març del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 3.29.1 | 24 de març del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 3.29.0 | 23 de març del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 3.28.0 | 17 de març del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 3.27.2 | 9 de març del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |
| 3.26.0 | 16 de febrer del 2023 | — | 64 bits ZIPARM64 ZIP32 bits ZIP |