Skip to content

v0.1.9

Choose a tag to compare

@pbennett pbennett released this 18 Oct 05:09

Fixes

An empty custom DNS list no longer breaks the NFD's redirect (e96a21f)

The NFD dashboard saves [] to the dns property when the custom-DNS editor is left empty. Only a missing property counted as "no records", so a [] NFD skipped the redirect placeholder and served zero records. Every query then returned NXDOMAIN, and the owner's redirect URL stopped working. This was reported on elixer.algo: elixer.algo.xyz resolved right after registration, then returned NXDOMAIN from Cloudflare and Google once [] was saved.

An empty list ([], null, or whitespace) now behaves exactly like an unset property everywhere, segments included. The NFD answers its apex A record with the algoxyzip redirect address. A pre-v3 NFD with [], which previously returned SERVFAIL as incompatible, now gets the placeholder too.

Malformed dns JSON is unchanged: it still returns SERVFAIL.

Internal

  • The placeholder and v3-compatibility logic moved out of FetchNFD into nfdFetcher.applyDnsPlaceholder, so it can be unit-tested without algod.
  • TestApplyDnsPlaceholder covers absent, empty and null dns, expiry, for-sale, self-owned NFDs, the v3.0 boundary, and blueskydid. TestHasDnsRecords covers the empty-list check itself.

Documentation

  • README.md and docs/NFD_DNS_USER_GUIDE.md: the placeholder fallback now notes that an empty custom DNS list counts as none.
  • CLAUDE.md: gotcha 8 updated, and line references re-synced.

Full changelog: v0.1.8...v0.1.9