Greetings DNS fans!
Thanks to all contributors involved in this release! This is a community project and we couldn't do it without all of your contributions!
SECRET NEW FEATURE: There's a new syntax for D(). Test it out and let me know if you like it. (Both the old and new syntax will be supported.) Details are here: https://docs.dnscontrol.org/getting-started/converting-dnsconfig
TWO NEW PROVIDERS: DNSControl now supports MITTWALD and SPACESHIP! Thanks and welcome to @twiesing and @rootful who joins the project as its maintainers. We look forward to great things!
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.
SECRET BETA: Try the new D() syntax!
The new D() syntax in dnsconfig.js attempts to improve usability. It is fully backwards compatible. See the examples in the conversion guide. Feedback needed!
Changelog
Breaking changes:
- 9710715: feat(M365_BUILDER)!: rewrite in Go and update the records to Microsoft's current requirements (#4936) (@jonathan8devs)
Provider-specific changes:
- b719bca: feat(p/AZURE_PRIVATE_DNS): Add OIDC support / support same auth methods as AZURE_DNS (#4929) (@TomOnTime)
- c65a9c4: feat(p/BUNNYDNS): add GeoDNS metadata support (#4941) (@xddxdd)
- 03db6d3: feat(p/BUNNYDNS): manage health monitoring features via dnsconfig.js (#4951) (@xddxdd)
- 794895e: feat(p/GCORE): add "golden file" tests (#4942) (@xddxdd)
- 5ea9471: feat(p/OPENPROVIDER): add Openprovider as a new provider (#4891) (@nvanlaerebeke)
- 333b7b1: fix(p/FORTIGATE): ask the TLS and HTTP debug settings as yes/no questions in init (#4878) (@cafferata)
- e7e452f: fix(p/OPENPROVIDER): retry transient API failures with diagnostics (#4937) (@nvanlaerebeke)
- c5fabaa: fix(p/REALTIMEREGISTER): ensure proper quoting of txt records (#4945) (@BigDataJohan)
New features:
- 7935ffd: feat: Add new PROVIDER()/REGISTRAR()/DNS_SERVICE() syntax (#4955) (@TomOnTime)
- 966e4cf: feat: NEW PROVIDER: MITTWALD (Mittwald mStudio provider) (#4933) (@twiesing)
- 9091ae9: feat: NEW PROVIDER: SPACESHIP (DNS provider and registrar) (#4921) (@rootful)
- 94a262d: feat: Normalize all "targethost" and hex-encoded fields (#4944) (@TomOnTime)
Bug fixes:
- 6cc7283: fix: gRPC-Go xDS servers: Denial of Service (DoS) bug (low impact) (#4934) (@TomOnTime)
- d12f392: fix: lowercase cname rdata in normalization (#4940) (@SethFalco)
Documentation:
- 36fd20f: docs: Autogenerate the table in README.md (#4948) (@TomOnTime)
- 8f6a243: docs: make the table of contents links resolve on GitBook (#4932) (@cafferata)
- e0c9c78: docs: rewrite golden file documention (#4912) (@TomOnTime)
CI/CD:
- dae209b: build(deps): bump brace-expansion from 5.0.9 to 5.0.12 (#4953) (@dependabot[bot])
- 60af384: build(deps): bump js-yaml from 5.2.3 to 5.4.2 (#4952) (@dependabot[bot])
- dc22869: ci: Adjust test length per provider (#4939) (@TomOnTime)
- b9d0ae7: ci: Stop skipping the integration tests on scheduled runs (#4935) (@jonathan8devs)
Other changes and improvements:
- 66037b8: FEATURE: Add Infoblox NIOS DNS provider (#4846) (@matthewmgamble)
Deprecation warnings
Warning
- REV() will switch from RFC2317 to RFC4183 sometime after v5.0 is released. This is a breaking change. Warnings are output if your configuration is affected. 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.