Greetings, DNS fans!
Breaking changes:
- The
--populate-on-preview flag
now defaults to false, which is safer and matches user expectation thatpreview
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()
orNO_PURGE
on providers that can not implement them reliably - DIGITALOCEAN upgraded to use the "diff2" engine, which is more modern and makes
IGNORE()
andNO_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:
Provider-specific changes:
- 58afc59: ADGUARDHOME: updated documentation with links to AGH pages (#3672) (@ishanjain28)
- 304ce4c: AXFRDDNS: Fix spurious AUTODNSSEC warnings (#3703) (@bgilmore)
- 8b8d677: CNR: nameserver corrections should be case insensitive (#3681) (@KaiSchwarz-cnic)
- 66e7fd4: DIGITALOCEAN: Enable DocDualHost feature (#3698) (@Deraen)
- 91c1436: DIGITALOCEAN: Use diff2 to implement digitalocean provider (#3695) (@Deraen)
- 3f4f9b8: DNSIMPLE: DOCS: handle multiple provider instances (#3678) (@philpennock)
- 570477f: DNSIMPLE: pedantic correctness fix for concurrency (#3677) (@philpennock)
- af5907a: DNSIMPLE: preview data is now gathered concurrently (CanConcur) (#3675) (@philpennock)
- a815bdc: FORTIGATE: Add NS and MX record support (#3671) (@KlettIT)
- 1e8d720: GCORE: update create zone call signature from latest SDK (#3712) (@xddxdd)
- ca64774: Joker: Implement DNS Provider (#3661) (@atrull)
- e84925b: Loopia: feature updates (#3686) (@systemcrash)
Documentation:
- 6cf9243: DOCS: Add link on homepage to test-a-branch (#3689) (@tlimoncelli)
- 088ea41: DOCS: Getting started get-zones (feedback) (#3700) (@cafferata)
- b0a57e5: DOCS: Improve docs and error messages related to apex domains (#3690) (@tlimoncelli)
- a9243aa: DOCS: Improve grammar/typos in AXFR+DDNS provider documentation (#3697) (@backeby)
- 7174d89: DOCS: Remove get-certs and MSDNS from release notes (#3669) (@gucci-on-fleek)
- 1f86d69: DOCS: Warn that "" should be "@" in error messages & docs. Update docs to suggest safer onboarding process. (#3691) (@tlimoncelli)
- ecbc499: DOCS: expand upon concurrency (#3676) (@philpennock)
CI/CD:
- edf3111: Build(deps): Bump alpine from 3.22.0 to 3.22.1 (#3705) (@dependabot[bot])
- f350185: CICD: Update PR instructions (#3688) (@tlimoncelli)
Dependencies:
- 953e386: CHORE: Update dependencies (@tlimoncelli)
- 33e87d9: CHORE: Update dependencies (#3711) (@tlimoncelli)
Other changes and improvements:
- 51b5056: Add docs (@tlimoncelli)
- 30fedaa: BUG: Improve error handling during zone population and gathering (#3694) (@gvengel)
- b947bdd: CHORE: generate-all.sh (#3699) (@tlimoncelli)
- 65a2a4f: Require Go 1.24 or higher (#3696) (@tlimoncelli)
- b578604: Revert "Add docs" (@tlimoncelli)
- 6105082: TESTING: Exempt 4 providers from NS_only_APEX test (#3687) (@tlimoncelli)
- 74f2005: The --populate-on-preview flag now defaults to false, which is safer (POSSIBLE BREAKING CHANGE) (#3693) (@tlimoncelli)
- 633196e: Warn if IGNORE() is unreliable for this provider (#3683) (@tlimoncelli)
- 78c2313: fmt (#3684) (@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.
Install
macOS and Linux
Install with Homebrew (recommended)
brew 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
Alternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.