Skip to content

Releases: StackExchange/dnscontrol

v4.7.1-beta

30 Nov 19:58
Compare
Choose a tag to compare
v4.7.1-beta Pre-release
Pre-release

THIS IS A PRE-RELEASE. DO NOT USE IN PRODUCTION. PLEASE DO TEST AND GIVE FEEDBACK ON PR #2631

The only change in this release is that TXT records are stored a new way. Instead of storing the individual segments, they are stored as one big string. The providers are now responsible for any joining, splitting, escaping, or quoting. There should be no user-visible effects.

NOTE TO MAINTAINERS OF PROVIDERS: Please test your provider. A lot changed in how TXT records are handled. Please re-run the integration tests like:

export PROVIDER_FOO=foo    # Set your ENV variables.  See providers.json for the list.
cd integrationTest/
go test -v -verbose -provider NAME_OF_PROVIDER
# This next line just runs the TXT tests.
go test -v -verbose -provider NAME_OF_PROVIDER -start 16 -end 17

Fix any broken tests. Post a comment if you need help or to let me know the test results.

The branch is tlim_newtxt_minimal.

PR is #2631

v4.7.0

20 Nov 20:03
Compare
Choose a tag to compare
v4.7.0 Pre-release
Pre-release

This is a pre-release (our first time doing one!)

THIS IS A PRE-RELEASE. DO NOT USE IN PRODUCTION. PLEASE DO TEST AND GIVE FEEDBACK ON PR #2631

The only change in this release is that TXT records are stored a new way. Instead of storing the individual segments, they are stored as one big string. The providers are now responsible for any joining, splitting, escaping, or quoting. There should be no user-visible effects.

NOTE TO MAINTAINERS OF PROVIDERS: Please test your provider. A lot changed in how TXT records are handled. Please re-run the integration tests like:

cd integrationTest/
export PROVIDER_FOO=foo    # Set your ENV variables.  See providers.json for the list.
go test -v -verbose -provider NAME_OF_PROVIDER
# This next line just runs the TXT tests.
go test -v -verbose -provider NAME_OF_PROVIDER -start 16 -end 17

Fix any broken tests. Post a comment if you need help or to let me know the test results.
The branch is tlim_newtxt_minimal.

PR is #2631

There are a number of "helper" functions with the suffix Func. I'll document those more soon.

Changelog

Provider-specific changes:

Other changes and improvements:

v4.6.1

20 Nov 19:51
bfa9da9
Compare
Choose a tag to compare

Welcome to release v4.6.1! This is mostly a release is a clean-up release with 1 big new feature!

The big news is that DNSControl now generates command-line completion! Thanks to @whi-tw for implementing this! The command is currently in beta, and is hidden in the -h listing until the next release. Read more about it here: https://docs.dnscontrol.org/getting-started/getting-started#1.1.-shell-completion and give feedback.

The DNSIMPLE provider was renamed DNSMADEEASY to match their company name. Please update your dnsconfig.js files.

Some changes of note:

  • DNSIMPLE provider was renamed DNSMADEEASY
  • PORKBUN now supports "list-zone".
  • PORKBUN bug related to non .de domains (or .de domains)
  • Large INWX sites will appreciate improvements to nameserver handling
  • GCLOUD output is more compact. No more extra newlines.
  • The "are you sure?" prompt of push -i had Y/n wrong. It is now y/N. How did we not notice that in all these years?
  • Preparation for the internal change to TXT record handling. You'll notice that all providers now refer use accessors instead of accessing .TxtStrings directly. This will make future refactor easier.

Changelog

Provider-specific changes:

Other changes and improvements:

v4.6.0

24 Oct 14:17
Compare
Choose a tag to compare

As announced on #2262 this is the release that removes all the diff1 code. All providers now either use the diff2 algorithm or the diff1-compatibility mode. There have also been improvements to the CICD pipeline, AZURE_DNS now abides by rate limits, GCORE now handles TXT records better, INWX fixes a bug that confused zones with registered domains, and many doc updates from @cafferata.

This is the first release that is smaller than the previous release... if you believe in KLOCs:

$ git co last_commit_before_diff1_removed
HEAD is now at d3b35847 CICD Enable ad-hoc runs (#2600)
$ find * -name \*.go -print0 | xargs -0 cat | wc -l
   48588
$ git co v4.6.0
$ find * -name \*.go -print0 | xargs -0 cat | wc -l
   46174

That's 2414 fewer lines or about 5% of the code base.

Thanks to all the contributors! We couldn't do it without you!

Tom

Changelog

Provider-specific changes:

Other changes and improvements:

Deprecation warnings (updated 2023-02-18)

  • Call for new volunteer maintainers for NAMEDOTCOM and SOFTLAYER. 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.
  • ACME/Let's Encrypt support is frozen and will be removed eventually. The get-certs command (renews certs via Let's Encrypt) has no maintainer. There are other projects that do a better job. If you don't use this feature, please do not start. If you do use this feature, please plan on migrating to something else. See discussion in issues/1400

v4.5.0

08 Oct 17:35
cb3c020
Compare
Choose a tag to compare

This is mostly a "cleanup release" with a lot of bugfixes and documentation improvements.

Some notable changes:

  • Increment the minimal Go release to 1.21 (#2590)
  • Fix docs for _BUILDER functions (#2583)

Thanks to the many contributors to this release! This is a community effort!

HELP WANTED! The next release will remove support for the old "diff1" algorithm. Please test your configuration. Visit #2575 for details. Your feedback is needed and appreciated!

Tom

Changelog

Provider-specific changes:

Other changes and improvements:

v4.4.1

16 Sep 20:27
fa89006
Compare
Choose a tag to compare

This point release fixes a bug with the new --report flag.

Changelog

Other changes and improvements:

v4.4.0

15 Sep 19:51
c01fb2d
Compare
Choose a tag to compare

Tons of new features in this release!

  • New flag --report: Outputs a JSON-formatted report of how many changes happened on each domain.
  • New DNS Record Type: DHCID
  • CLOUDFLAREAPI now supports NAPTR
  • NETLIFY: Fix SRV priority bug
  • PORKBUN can now be a registrar

Changelog

Major features:

Provider-specific changes:

Other changes and improvements:

v4.3.0

29 Aug 20:32
e32bdc0
Compare
Choose a tag to compare

This release introduces a new provider (Mythic Beasts), a new notification target (Telegram), and brings the most computer-science-y feature we've ever added: Ordered updates.

Order updates means that changes will be ordered with respect to dependencies. For example when creating an A record and a CNAME that points to that A record, DNSControl will always try to create the A record first, so that when the CNAME is created it is pointing to a target that already exists. When removing records, the targets must be removed before their dependents (dependenters?). Some DNS providers require this kind of ordering and the provider code had to carefully re-order updates. Now this is done for the provider.

Due to the complexity of DNS, when adding, removing, and modifying records this ordering process can be very difficult to get right!

Because this feature is new and might still have bugs, it can be disabled with the --disableordering flag. (dnscontrol --disableordering preview)

Thanks to @blackshadev for delivering this feature (and putting up with all my suggestions along the way!)

Changelog

Major features:

Provider-specific changes:

Other changes and improvements:

v4.2.0

22 Aug 15:00
d4f6e01
Compare
Choose a tag to compare

Holy cow! What a different 3 months makes! I was away for 2 months on a much-needed sabbatical. Now I'm caught up and releases are flowing again.

A TON of bugfixes and improvements for for BIND, Cloudflare, CSCGlobal, DigitalOcean, Google DNS, Hexonet, INWX, Linode, NS1, OVH, POWERDNS, and TRANSIP. Global changes include a new flag --no-colors, "get-zones" produces better looking output, a broken log message is fixed, and @cafferata has generously completed another round of documentation overhauls.

Sadly this release says goodbye to 32-bit OSs. DNSControl still builds and runs on 32-bit OSes (bug reports accepted!), but we'll no longer ship binaries, packages, or containers for 32-bit Linux, FreeBSD, or Windows.

Speaking of releases, @musdav has been hard at work improving the CI/CD pipelines. Thanks, David!

Thanks to all the contributors! Github lists 193 so far! This is a community-driven project. We couldn't do it without you!

Changelog

Major features:

Provider-specific changes:

Other changes and improvements:

v4.1.1

06 Jun 18:39
9c9ff4d
Compare
Choose a tag to compare

The focus of this bugfix release is to fix the BIND provider which was not naming zonefiles correctly (fixed in #2407). Container fans will appreciate that containers are now also uploaded to GHCR (https://github.com/stackexchange/dnscontrol/pkgs/container/dnscontrol) which has more generous download/rate limits.

Changelog

Provider-specific changes:

Other changes and improvements: