# Changelog of Domain Monitor: Expiry, DNS & Email Security Alerts (`rendangmedan/domain-monitor`) Actor

- **URL**: https://apify.com/rendangmedan/domain-monitor/changelog.md
- **Full Actor documentation**: https://apify.com/rendangmedan/domain-monitor.md

## Changelog

### 0.1.0 (2026-10-12)

First version.

- RDAP lookup through the IANA bootstrap registry (cached 24 hours in the state store), with
  per-server concurrency and spacing, `Retry-After` and HTTP 429 handling, exponential backoff with
  jitter, and `rdap_unsupported` for TLDs without an RDAP service.
- Registrar limited to name and IANA ID; contact entities (registrant, admin, tech, billing...)
  are never read. SOA `RNAME` dropped, e-mail addresses in DNS records masked by default.
- DNS records A, AAAA, MX, NS, TXT, CNAME, CAA, SOA (plus DS for DNSSEC) through dnspython, with
  DNS over HTTPS as a fallback and a resolver health probe. CAA answers in the RFC 3597 generic
  form are decoded.
- E-mail authentication audit: SPF (recursive lookup count), DMARC, DKIM on common selectors,
  MTA-STS (policy file), TLS-RPT, BIMI.
- Delta mode: sharded state in a named key-value store, change list, expiry alerts at the
  threshold then at 14, 7, 3 and 1 days, `onlyChanged`.
- Input normalisation: URLs, IDN / punycode, embedded Public Suffix List (ICANN section).
- Pay per event: `domain-checked` charged only for successfully checked domains; one uncharged
  error item per failed domain or invalid input; the user's maximum charge per run is respected.
- Test suite runs offline on synthetic fixtures; `tests/smoke_check.py` checks the live services.
