Greetings DNS fans!
Release v4.43.0 highlights:
- 4 New Providers! The most new providers we've had in one release in a long time! Thanks and welcome to our newest maintainers! We look forward to great things!
- DYNU (#4364) thanks to @DustyRah!
- OpenWRT (#4166) thanks to @huskyistaken!
- GIGAHOST (#4394) thanks to @jochristian!
- SCALEWAY (#4462) thanks to @alessiopcc!
- AUTODNS now supports child domains. Thanks, @arnoschoon!
- ROUTE53 can now edit SOA records. Thanks, @istenrot!
- AXFRDDNS now supports communication over Unix domain sockets. Thanks, @tomfitzhenry!
- GANDI_V5 now supports HTTPS/SVCB, NAPTR, LOC, OPENPGPKEY record types. Thanks @francois2metz!
- "init" support added for AKAMAIEDGEDNS, AUTODNS, CLOUDNS, SeSEC, DNSSCCALE, DNSMADEEASY, FORTIGATE, JOKER, LINODE, MIKROTIK, and PORKBUN. If you haven't tried "dnscontrol init" yet, it's one of the coolest new features.
- The HETZNER provider has been removed, having been replaced by HETZNERV2, thanks to @das7pad!
Upcoming releases:
- The next release will be "v4.43.1-rc1". It will have no changes. We're just testing the ability to create release candidates. Release candidates will not appear in Homebrew or (maybe) Docker.
- There may be a v4.43.2 soon (again, no changes) if we need to flush out rc1. For example, if Homebrew publishes rc1 as the default.
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:
- f1d056a: NEW PROVIDER: DYNU (#4364) (@DustyRah)
- 1e113cc: NEW PROVIDER: OpenWRT (#4166) (@huskyistaken)
Provider-specific changes:
- e5a85ad: AKAMAIEDGEDNS: support init command (#4270) (@TomOnTime)
- ae7eca6: AUTODNS: optionally include sub-user (children) zones in get-zones (#4391) (@arnoschoon)
- 2164268: AUTODNS: reject TXT values that AutoDNS cannot store losslessly (#4392) (@arnoschoon)
- 02a4641: AUTODNS: support init command (#4272) (@TomOnTime)
- 89d514e: AXFRDDNS: support unix domain sockets in update-mode/transfer-mode (#4304) (@tomfitzhenry)
- d1afeea: BUGFIX: GANDI_V5: Add missing apiurl field to profile.json (#4416) (@TomOnTime)
- dcdbd2b: CLOUDNS: support init command (#4277) (@TomOnTime)
- 0b36a3d: CNR: Skip ALIAS on DNSSEC-signed zones, add SMIMEA + AUTODNSSEC support, and enhance SVCB handling (#4401) (@AsifNawaz-cnic)
- dd7c6eb: DESEC: support init command (#4279) (@TomOnTime)
- 8772862: DNSCALE: support init command (#4281) (@TomOnTime)
- 635baec: DNSMADEEASY: fix PortalURL (#4467) (@vojtad)
- 7186be8: DNSMADEEASY: support init command (#4283) (@TomOnTime)
- 237c44c: FORTIGATE: support init command (#4284) (@TomOnTime)
- 2579533: GANDI_V5: add HTTPS, NAPTR, LOC, OPENPGPKEY and NVCB records (#4387) (@francois2metz)
- 3d0372b: GIGAHOST: Add Gigahost DNS provider (#4394) (@jochristian)
- ea09988: JOKER: support init command (#4294) (@TomOnTime)
- ff7b561: LINODE: support init command (#4295) (@TomOnTime)
- d1b5dcb: LuaDNS: Skip changing nameserver TTL (#4470) (@riku22)
- ec83f32: LuaDNS: add integration test support (#4472) (@riku22)
- fa9626b: MIKROTIK: support init command (#4297) (@TomOnTime)
- cd0d84b: NETBIRD: Add apiurl creds argument (#4486) (@3l0w)
- b2fe8df: PORKBUN: support init command (#4418) (@imlonghao)
- b7d62d0: ROUTE53: Enable SOA record editing (#4402) (@istenrot)
- d0166af: ROUTE53: Enable SOA record editing, v2 (#4406) (@istenrot)
- a0f8f19: Revert "ROUTE53: Enable SOA record editing (#4402)" (#4403) (@TomOnTime)
- 9328279: SCALEWAY: Add Scaleway DNS provider (#4462) (@alessiopcc)
- 8f70e86: TENCENTDNS: Support line and weight metadata (#4482) (@5aaee9)
Documentation:
- ce8d993: DOCS: Change "Feature Flags" to "Feature Summary" (#4474) (@TomOnTime)
- 5143ffd: DOCS: every provider doc includes feature flags automatically (#4173) (@chicks-net)
CI/CD:
- df8100e: Build(deps): Bump actions/cache from 5.0.5 to 6.0.0 (#4397) (@dependabot[bot])
- b40aa65: Build(deps): Bump actions/cache from 6.0.0 to 6.1.0 (#4408) (@dependabot[bot])
- e60e683: Build(deps): Bump actions/checkout from 6 to 7 (#4398) (@dependabot[bot])
- a804cea: Build(deps): Bump actions/setup-node from 6 to 7 (#4477) (@dependabot[bot])
- 566f168: Build(deps): Bump alpine from 3.23.4 to 3.24.1 (#4407) (@dependabot[bot])
- d3cd6ed: Build(deps): Bump go.mongodb.org/mongo-driver from 1.13.1 to 1.17.7 (#4386) (@dependabot[bot])
- 8cfbff4: Build(deps): Bump js-yaml from 4.1.1 to 4.2.0 (#4384) (@dependabot[bot])
- 4673302: Build(deps): Bump ws from 8.20.1 to 8.21.0 (#4385) (@dependabot[bot])
Dependencies:
- 64beb5a: CHORE: Update dependencies (#4404) (@TomOnTime)
- a6288ff: CHORE: Update dependencies (#4413) (@TomOnTime)
- 41f0749: CHORE: Update dependencies (#4457) (@TomOnTime)
- ee3c4cd: CHORE: Update dependencies (#4506) (@TomOnTime)
- 7626685: CHORE: Update dependencies (#4507) (@TomOnTime)
Other changes and improvements:
- 237650b: BACKPORT: Make merge to release_candidate_v5 easier (#4445) (@TomOnTime)
- 71cdc59: CHORE: Add utilities: ToFqdnWithDot(), ToFqdnNoDot(), ToShort() (#4502) (@TomOnTime)
- b6faabc: CHORE: Fix GoReleaser to skip release candidates (#4485) (@TomOnTime)
- bf4bfa1: CHORE: Move NewDomainConfig (#4443) (@TomOnTime)
- 42ad458: HETZNER: remove defunct provider (#4456) (@das7pad)
- 7ba346e: Misc fixes: GANDI_V5, SVCB/HTTPS records, linting and more (#4399) (@TomOnTime)
- ed603bf: REFACTOR: Add models.MustNewDomainConfig for test fixtures (#4458) (@TomOnTime)
- 0fb9c59: REFACTOR: Backport changes from release_candidate_v5 (#4442) (@TomOnTime)
- 1ae213e: REFACTOR: Change signature of EnsureZoneExists to include "dc" (#4441) (@TomOnTime)
- c8d102a: Remove v5 files that crept into main (#4505) (@TomOnTime)
- 3a2f06f: TEST: Add validations and tests for SOA records to reject multiple SOAs (#4417) (@istenrot)
Deprecation warnings
Warning
- REV() will switch from RFC2317 to RFC4183 in v5.0. This is a breaking change. Warnings are output if your configuration is affected. No date has been announced for v5.0. See https://docs.dnscontrol.org/language-reference/top-level-functions/revcompat
- NAMEDOTCOM, OPENSRS and SOFTLAYER need maintainers! These providers have no maintainer. Maintainers respond to PRs and fix bugs in a timely manner, and try to stay on top of protocol changes.
Install
macOS and Linux
Install with Homebrew (recommended)
brew trust --formula dnscontrol/tap/dnscontrol
brew install DNSControl/tap/dnscontrolUsing with Docker
You can use the Docker image from Docker hub or GitHub Container Registry.
docker run --rm -it -v "$(pwd):/dns" ghcr.io/dnscontrol/dnscontrol previewAnywhere else
Alternatively, you can install the latest binary (or the apt/rpm/deb/archlinux package) from this page.
Or, if you have Go installed, you can install the latest version of DNSControl with the following command:
go install github.com/DNSControl/dnscontrol/v4@mainUpdate
Update to the latest version depends on how you choose to install dnscontrol on your machine.
Update with Homebrew
brew upgrade DNSControl/tap/dnscontrolAlternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.