v4.14.0
Hello DNS Fans!
The big news is that the concurrent data gathering feature is stable and will become the default in the next release. Instead of new commands (ppreview
/ppush
) the functionality is enabled using the --cmode
flag.
- v4.14: --cmode defaults to
legacy
(old code, data gathering is done serially) - v4.15: --cmode defaults to
concurrent
(new code, data gathering is done concurrently) - v4.16: The
legacy
mode is removed
Any use of the old, legacy, code prints a warning:
WARN: In v4.15 --cmode will default to "concurrent". Please test and report any bugs ASAP.
In v4.16 or later, "legacy" will go away. See https://docs.dnscontrol.org/commands/preview-push
Any use of the ppreview
/ppush
commands prints a warning similar to:
WARN: ppreview is going away in v4.16 or later. Use "preview --cmode=concurrent" instead.
Other major changes/improvements:
--report
now works inpreview
, not justpush
.- CLOUDNS now supports LOC and AutoDNSSEC.
- The "# of corrections" count was wrong for some providers. It should now be accurate for all providers.
Thanks to everyone for their contributions! This is a community project and we couldn't do it without all your help!
Tom
Changelog
Major features:
- bbc6892: FEATURE: enable --report for preview (not just push) (#3149) (@tlimoncelli)
- 16a99a1: CHORE: Add deprecation messages to preview/push/ppreview/ppush commands (#3155) (@tlimoncelli)
- 06ba3cc: Bugfix: Providers with batched updates might not report the correct number of changes (#3108) (@tlimoncelli)
Provider-specific changes:
- 040384f: BIND: DOCS: clarify meta config instructions (#3111) (@chicks-net)
- d7f4d0e: CLOUDNS: add support for LOC records (#3127) (@hmoffatt)
- c1abd5d: CLOUDNS: don't print full URL on error (#3124) (#3126) (@hmoffatt)
- dcba570: CLOUDNS: implement AutoDNSSEC (#747) (#3114) (@hmoffatt)
- 795dbea: ORACLE: fix nameserver trailing dot error (#3151) (@kallsyms)
- 864325e: PORKBUN: Update porkbun API endpoint per documentation / email (#3153) (@plttn)
- 57f15c1: PORKBUN: fix staticcheck warnings (#3159) (@imlonghao)
- 9178a83: POWERDNS: Improve preformance by using new batched add/remove functions in 0.6.6 API (#3105) (@Veratil)
Documentation:
- 12a72cb: DOCS: Minor clarifications on NAMESERVER() (#3113) (@tlimoncelli)
- 2a424f5: DOCS: Update Cloudflare permission to "Single Redirect" (#3122) (@kevinji)
CI/CD:
- bf2b6cb: Build(deps): Bump actions/cache from 4.0.1 to 4.1.0 (#3147) (@dependabot[bot])
- 967b37d: Build(deps): Bump actions/cache from 4.1.0 to 4.1.1 (#3157) (@dependabot[bot])
- 6e2cfb5: Build(deps): Bump actions/upload-artifact from 4.3.6 to 4.4.0 (#3104) (@dependabot[bot])
- 94e6b48: Build(deps): Bump actions/upload-artifact from 4.4.0 to 4.4.1 (#3146) (@dependabot[bot])
- db91c71: Build(deps): Bump actions/upload-artifact from 4.4.1 to 4.4.3 (#3156) (@dependabot[bot])
- 3553459: Build(deps): Bump alpine from 3.20.2 to 3.20.3 (#3116) (@dependabot[bot])
- ee610bf: Build(deps): Bump github.com/huaweicloud/huaweicloud-sdk-go-v3 from 0.1.115 to 0.1.116 (#3140) (@dependabot[bot])
- b29c65a: Build(deps): Bump github.com/oracle/oci-go-sdk/v65 from 65.75.1 to 65.75.2 (#3152) (@dependabot[bot])
- f18ef35: CICD: GoReleaser snapshot property deprecation (#3131) (@cafferata)
- b22078e: DEV: Update dependabot.yml (#3115) (@tlimoncelli)
Dependencies:
- 2bb0d87: CHORE: Update deps (#3160) (@tlimoncelli)
- 62da39c: CHORE: update deps (#3128) (@tlimoncelli)
- aca618a: CHORE: update deps (#3141) (@tlimoncelli)
Other changes and improvements:
- d6d50fc: LOC: fix float altitude value ingestion, gate size and precision values (#3130) (@systemcrash)
- 269542c: RELEASE: Move some BYOS steps to be standard (#3107) (@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
- MSDNS maintainer needed! Without a new volunteer, this DNS provider will lose support after April 2025. See #2878
- 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.
- get-certs/ACME support is frozen and will be removed without notice between now and July 2025. It has been unsupported since December 2022. If you don't use this feature, do not start. If you do use this feature, migrate ASAP. See discussion in issues/1400
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.