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:
- c1b90d0: INWX: Let the API (not DNSControl) enforce the RFC 7505 prohibition of mixed regular/null MX records (#3805) (@eliheady)
- 6ef0648: NETCUP: add TLSA support (#3802) (@jpschley)
- 25dd06a: POWERDNS: Map dnscontrol Tags to powerdns Variants (#3803) (@pefeigl)
- 2a4e250: POWERDNS: New record type: LUA (#3815) (@eratzlaff)
- 8f13dd1: POWERDNS: Split horizon feature now enabled by flag (#3829) (@eratzlaff)
- a1e74eb: POWERDNS: Zone creation now abides by variant tags (#3830) (@eratzlaff)
- 24f602a: feat(Route53): Add support for RoleArn and ExternalId #3816 (#3817) (@kevinneufeld)
Documentation:
- f365902: DOCS: Add internals for ordering (#3811) (@blackshadev)
CI/CD:
- 70c1feb: Build(deps): Bump actions/upload-artifact from 4.6.2 to 5.0.0 (#3806) (@dependabot[bot])
- 2df7a9d: Build(deps): Bump alpine from 3.22.1 to 3.22.2 (#3818) (@dependabot[bot])
- b7c4cac: fix(DKIM_BUILDER): allow empty pubkey (#3800) (@matteotrubini)
- d8aa890: refactor(DKIM_BUILDER): improve input validation and error handling (#3812) (@matteotrubini)
Dependencies:
- 60e5fa6: CHORE: Update dependencies (#3825) (@tlimoncelli)
- 71c2cc2: CHORE: Update dependencies (#3831) (@tlimoncelli)
Other changes and improvements:
- bfc2b26: CHORE: generate-all.sh (#3827) (@tlimoncelli)
- 237de6f: 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.
Install
macOS and Linux
Install with Homebrew (recommended)
brew install 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 dnscontrolAlternatively, you can grab the latest binary (or the apt/rpm/deb package) from this page.