← Back to all sparks
D

DNSControl

INFRA · APIS
Velocity5.0

Infrastructure-as-code system for managing DNS zones across many providers

DNSControl is rewriting its record internals in public, one release candidate at a time

dnsinfrastructure-as-coderefactorrelease-candidatescodeberg
Current state
DNSControl is mid-way through a v5 refactor being shipped as a visible candidate series — rc1 through rc4 in roughly two weeks, all of them explicitly promising zero user-facing change. The work replaces how DNS record fields are stored internally with a dnsv2.RDATA type, with legacy structs converted bidirectionally so existing providers keep working untouched. Two other threads run alongside: migrating the miekg/dns dependency from GitHub to Codeberg, now complete and no longer dual-imported, and removing old fields to cut memory use. The release notes read as direct appeals to users — naming nine providers nobody has tested and asking for volunteers, and inviting anyone to a monthly community call.
Where it's heading
The stated goals are about future velocity rather than present features: making new DNS record types faster to adopt and custom record types easier to implement. That is a bet that the bottleneck on supporting new record types was the internal representation, and it is being paid for with a long candidate series rather than a big-bang release. The provider conversion finished during this window — rc3 declares all providers converted with long-tail work remaining — so the refactor is past its riskiest stretch.
Prediction
The maintainer states v5.x is on schedule to ship before September, and the untested-provider list is the visible blocker; expect further candidates focused on provider coverage rather than new goals.

Recent moves

  1. 8d ago

    DNSControl v5 rc4 completes the move to Codeberg-hosted miekg/dns

    The dependency migration from github.com/miekg/dns to the Codeberg-hosted version is finished and both are no longer imported together, and the removal of old fields promised at rc1 has begun. The maintainer states the 5.x line is on schedule to ship before September, with untested providers the named blocker.

    View source ↗
  2. 9d ago

    DNSControl v5 rc3 finishes converting every provider

    The milestone candidate of the series: all providers are converted to the new internal representation, with long-tail work remaining. It is the point where the refactor stops being a test balloon and becomes the shape of v5.

    View source ↗
  3. 19d ago

    DNSControl v5 rc2 continues the internal rewrite

    An interim candidate with no user-visible changes, published mainly to get the branch into users' environments and warn that many more candidates were coming. Build and container instructions make up most of the entry.

    View source ↗
  4. 21d ago

    DNSControl v5 rc1 lays out the dnsv2.RDATA refactor

    The candidate that states the plan: store record fields in a dnsv2.RDATA type for memory efficiency, make new and custom DNS record types faster to add, and convert legacy provider structs bidirectionally so existing configs and providers keep working. Everything in the later candidates is execution against this list.

    View source ↗