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:
- 51bf2e3: BIND get-zones now works when using %D (#3930) (@tlimoncelli)
- f7c145a: 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:
- efe713c: FEATURE: Set --notify via creds.json so that preview or push can always notify (#3910) (@michaelkaye)
- 9076f40: NEW FEATURE: Make "fmt" more like other formatters (warning: New default for -o) (#3927) (@tlimoncelli)
Provider-specific changes:
Documentation:
- 97d8c66: DOCS: Added code examples for new notification options (#3928) (@cafferata)
- 1431526: DOCS: Document no_ns (#3926) (@tlimoncelli)
- 2a8e810: DOCS: Fix RP page (#3920) (@tlimoncelli)
- 9bb022c: DOCS: Modernize URls in writing-providers.md (#3929) (@tlimoncelli)
CI/CD:
- 9c55dca: Build(deps): Bump actions/cache from 4.3.0 to 5.0.1 (#3915) (@dependabot[bot])
- b559eec: Build(deps): Bump actions/upload-artifact from 5.0.0 to 6.0.0 (#3914) (@dependabot[bot])
- 15cae56: CICD: Update release notes template (#3903) (@tlimoncelli)
Dependencies:
- 1377d00: CHORE: Update dependencies (#3934) (@tlimoncelli)
Other changes and improvements:
- 51bf2e3: BUGFIX: BIND Fix get-zones for bind when using %D (#3930) (@tlimoncelli)
- f7c145a: BUGFIX: Multiple bugs in RP (RecordConfig v2) (#3931) (@tlimoncelli)
- dcdc252: BUGFIX: RecordConfig v2 wasn't processing record meta data (#3932) (@tlimoncelli)
- 41efba6: CHORE: Fix Raw/ASCII/Unicode order (linting) (#3933) (@tlimoncelli)
- 749db2c: CHORE: Linting (#3907) (@tlimoncelli)
- 7ab7d14: CHORE: Move non-provider code out of /providers (#3916) (@tlimoncelli)
- 43d2fa8: CHORE: Update the link to future video meetings (#3917) (@tlimoncelli)
- ecbfa9b: CHORE: remove underscores from filenames for consistency (#3909) (@chicks-net)
- cba298b: Other changes and improvements: Show zone.UniqueName instead of zone.Name in informational output. (#3923) (@ecraven)
- 6d4a185: REFACTOR: Run moderize -fix (#3908) (@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 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.