Skip to content

v1.5.0 — DNS wipe prevention, multi-TXT fix, reliability batch, zod v4

Latest

Choose a tag to compare

@ringo380 ringo380 released this 02 May 20:22
· 1 commit to main since this release

See CHANGELOG.md for full details across v1.4.0–v1.5.0.

Highlights since v1.3.2

DNS safety architecture (v1.4.0)

  • Pre-write zone snapshots auto-saved to ~/.config/namecheap-mcp/snapshots/ on every getHosts and before every setHosts. New list_dns_snapshots and restore_dns_snapshot tools expose recovery.
  • Empty-baseline guard in update_dns_record refuses to write when getHosts returns 0 records on a zone using Namecheap DNS — closes the original wipe-incident class of bug.
  • set_dns_hosts now requires confirmReplaceAll: true + matching expectedDeletions, with a post-write count verification.
  • Strict parser (src/parse.ts) throws on malformed Namecheap responses instead of silently returning [].
  • EmailType preserved across read/merge/write round-trips.

Multi-value DNS fix (v1.4.2)

  • update_dns_record no longer clobbers sibling TXT/CAA/NS records at the same hostName. Matching logic extracted to src/dns-matching.ts with unit tests covering multi-TXT survival, CAA parity, and MX regression.

Reliability (v1.4.3)

  • Race-safe snapshot pruning (advisory mkdir lock per domain).
  • Exponential backoff on HTTP 429 (1s/2s/4s, 3 retries).
  • Idempotent update_dns_record delete is now a clean no-op with no API round-trip.
  • auth_status reports current public IP and matches it against NAMECHEAP_CLIENT_IP — resolves the 1011102 ambiguity (bad key vs unwhitelisted IP) on the spot.
  • Raw XML dump on parser failure when NAMECHEAP_DEBUG=1.

Dependency upgrades (v1.5.0)

  • zod 3 → 4.3.6 (rewritten core, 2.5–6.5× faster parsing).
  • @types/node 20 → 25.6.0 (Node 24 LTS).
  • dotenv 16 → 17, fast-xml-parser 5.5.7 → 5.7.1.