# Changelog of Domain DNS Facts: Mail Provider, SPF and DMARC (`edgef-4/domain-dns-facts`) Actor

- **URL**: https://apify.com/edgef-4/domain-dns-facts/changelog.md
- **Full Actor documentation**: https://apify.com/edgef-4/domain-dns-facts.md

## Changelog

### Unreleased (2026-10-08)

- Speed and limits: the four lookups after the MX one now run side by side through one limiter of 5 requests a second (before: one after another at 2 a second), so a domain takes about 1 second where it took 2.5. The input cap is now 2,000 domains per run (before: 10,000, which a run with the default timeout of 3,600 seconds could not finish).
- README: two real records next to the synthetic sample (stripe.com with mail at Google, github.com with mail at Microsoft), with the time they were read.
- Provider guesses: Google's own name servers (`google`), Cloudflare's own name servers (`cloudflare`), Gandi mail (`gandi`) and Cloudflare's mail security gateway (`cloudflare_email_security`) are now recognised.
- New field `ns_host_count`: the number of NS hosts in the answer, so a reader can see when `ns_provider` comes from a host beyond the four in `ns_hosts`.
- README: spaces around a name are removed (only a space inside the name is rejected), and a subdomain is looked up exactly as given.
- Cut-off answers: a resolver answer marked as cut off (`TC` true) is asked for once more; if it is cut off again, the lookup is reported as `dns_truncated` and its facts stay null (unknown) instead of being read as absent.

### 0.1 (2026-10-07)

- First version: MX and mail route (null MX, A fallback), provider guesses for MX and NS, SPF presence and all rule, DMARC policy and subdomain policy, DNSSEC validation flag, all over DNS over HTTPS.
- Pay per event: one `result` per domain with status ok; rejected lines, missing domains and resolver failures are not charged.
- Registration data is not included (registry terms forbid bulk automated use).
