CLISeptember 2026
Teardown That Leaves Your DNS Alone
wraps email destroy now touches only the DNS records Wraps created, across Route53, Cloudflare and Vercel.
wraps email destroydeletes only the records Wraps created. Every deletion matches name, type and exact value, and a Route53 record set holding values Wraps did not write is rewritten without Wraps’ value rather than deleted whole — deletion previously matched name and type alone, so accepting the DNS cleanup prompt on a domain that already had a_dmarcpolicy removed that policy along with the records Wraps wrote. Cloudflare and Vercel domains are cleaned up too, not just Route53, and the record lookup is paginated so zones larger than 500 record sets no longer skip records silently. If you randestroybefore this and the domain had a_dmarcpolicy predating Wraps, confirm it is still publishedwraps email reply destroydeletes the MX and SPF records it created atr.mail.<domain>instead of printing a reminder to remove them by hand — left in place, the MX still pointed at SES with nothing configured to receive, so signed reply addresses bounced.wraps email inbound destroynow warns when reply threading is configured, and still never deletes those records itself: they follow the sending domain, not the inbound receiving domain- Fix: a DNS write that correctly did nothing is no longer reported as a failure. Re-running
wraps email inbound init,inbound addorreply initagainst records that were already correct used to print the full manual SPF block, and following it against an existing SPF record produced a secondv=spf1record — the RFC 7208 PermError the preflight exists to prevent - Fix:
wraps email checkrecommends~alland no longer grades a domain down for it. A-alldeduction now applies only where the domain authorizes senders and DMARC is absent, invalid,p=noneort=y— RFC 9989 section 7.1 cautions against-allbecause it rejects mail pre-DATA, before DMARC can pass it on an aligned DKIM signature — and a parkedv=spf1 -allis never flagged
Also fixed (2)
- The apex SPF record is still left for you to edit by hand — stripping include:amazonses.com from a record that may carry other providers' includes is a rewrite rather than a deletion, and destroy does not attempt it.
- wraps support printed a GitHub issues link under the wraps-dev organization, which 404s; it now points at wraps-team, where the repository lives (CLI v3.11.2).
CLI v3.11.1

