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:
- ec957c7: NEW PROVIDER: UniFi Network DNS provider (#4013) (@zupolgec)
- 2738bff: DOCS: Add Documentation MCP Server page (#4094) (@cafferata)
- d681623: MIKROTIK: new provider for Mikrotik RouterOS' DNS server (#4083) (@hedger)
- 045e9dc: HEXONET: Deprecated Hexonet provider implementation and documentation (#4086) (@AsifNawaz-cnic)
Provider-specific changes:
- 760d436: AKAMAIEDGEDNS: Akamai Openedgegrid golang v12.3.0 update(#4067), AKAMAICDN and CNAME on the same hostname(#2959), Support wrapped errors(#3314) (#4070) (@edglynes)
- 878229a: AUTODNS: Bugfix: More than 100 zones results in failure (#4075) (@arnoschoon)
- 4ea0ad4: CNR: add support for DNAME, DHCID, and SVCB record types (#4077) (@AsifNawaz-cnic)
- 853c20d: DESEC: Add support for OPENPGPKEY (#4099) (@wanderer)
- af1a5e9: GIDINET: Enable SRV record support (#4074) (@zupolgec)
- 3c18268: HEDNS: Preserve Dynamic DNS state & add DDNS key management (#4087) (@hedger)
Documentation:
- d2456e6: DOCS: Fixed broken providers filenames (#4082) (@cafferata)
- 859538b: DOCS: Improvements (#4081) (@cafferata)
- 5597e1b: DOCS: Remove golint, add golangci-lint (#4066) (@tlimoncelli)
CI/CD:
- 36d4d98: BUILD: GoReleaser add Docker Buildx setup to release workflow (#4103) (@cafferata)
- d70cbe8: BUILD: GoReleaser add macOS code signing and notarization (#4073) (@cafferata)
- 00673f5: BUILD: Migrate GoReleaser Docker config to dockers_v2 (#4095) (@cafferata)
- 0678c3d: Build(deps): Bump CatChen/check-git-status-action from 1 to 2 (#4098) (@dependabot[bot])
- 78a1b02: Build(deps): Bump actions/setup-node from 4 to 6 (#4084) (@dependabot[bot])
- cc3998b: Build(deps): Bump goreleaser/goreleaser-action from 6 to 7 (#4097) (@dependabot[bot])
- 01d7795: Build(deps): Bump minimatch from 10.1.1 to 10.2.2 (#4091) (@dependabot[bot])
- 86e9d52: CICD: Split pr_check_git_status into separate jobs for better PR feedback (#4079) (@cafferata)
Dependencies:
- 126cfc3: CHORE: Update dependencies (#4076) (@tlimoncelli)
- 03cb287: CHORE: Update dependencies (#4092) (@tlimoncelli)
- 6d78ec3: CHORE: Update dependencies (#4101) (@tlimoncelli)
- fe4f24c: CHORE: Update dependencies (#4104) (@tlimoncelli)
- 04d97e5: CHORE: Update dependencies / update bin/generate-all.sh (#4078) (@tlimoncelli)
Other changes and improvements:
- 693a7b7: CHORE: Fix String Builder lint issues (#4090) (@tlimoncelli)
- ab4b454: CHORE: Fix linting issues (#4100) (@tlimoncelli)
- db92276: CHORE: GoReleaser align changelog regex with actual provider constants (#4072) (@cafferata)
- 793886d: CHORE: fixed parser test data for the MIKROTIK provider (#4093) (@hedger)
- 1522712: CHORE: remove dead code: HintRecordSetLen1 (#4096) (@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.
Install
macOS and Linux
Install with Homebrew (recommended)
brew install StackExchange/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/stackexchange/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/StackExchange/dnscontrol/v4@mainUpdate
Update to the latest version depends on how you choose to install dnscontrol on your machine.
Update with Homebrew
brew upgrade StackExchange/tap/dnscontrolAlternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.