# Changelog of Bulk Email Deliverability Checker — MX, SPF, DKIM, DMARC & BIMI (`logiover/bulk-email-deliverability-checker`) Actor

- **URL**: https://apify.com/logiover/bulk-email-deliverability-checker/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/bulk-email-deliverability-checker.md

## Changelog

### 2026-09-01

- Fixed the run overrunning the 5-minute limit: the 35 DNS lookups a domain needs (MX, SPF, DMARC, BIMI and 31 DKIM selectors) were issued one after another over proxied HTTPS. They now resolve over direct DNS and run in parallel — the default input went from ~316 s to ~3 s, with identical results.
- DNS-over-HTTPS (Cloudflare, then Google) is now an automatic fallback rather than the only path, so resolution still works where direct DNS is unavailable.
- Results are now written to the dataset as they are produced instead of only at the very end, so a run that is cut short still saves everything it checked.
- The time budget is now enforced during a domain's checks, not only between domains — previously a run with fewer domains than workers could never stop itself.
- A transient Apify Proxy error no longer aborts the run before the first domain is checked.
- Shortened the per-request DNS-over-HTTPS timeout from 20 s to 8 s so one unresponsive resolver cannot stall a batch.

### 2026-07-18

- Maintenance & reliability pass — re-verified end-to-end against live data via the Apify API; confirmed the Actor completes successfully and returns non-empty, well-formed results within the 5-minute quality window on its default input.
- Refreshed build so the latest version is current; no change to inputs, output fields or scraping logic.

### 2026-07-12

- Input is now fully optional — running with empty input checks a built-in set of well-known domains, so you always get results.
- Input now accepts full email addresses too (e.g. hi@example.com); the domain is extracted automatically.
- Added `maxResults` (default 1000) to bound large/empty runs and keep them fast and cheap.
- Added `sortBy` dropdown (input order / highest score / worst offenders / best grade) to order the output.
- Numeric fields (`mxCount`, `spfLookupCount`, `dmarcPct`, `deliverabilityScore`, `passCount`, `totalChecks`) are now real numbers, and `hasMx`/`hasSpf`/`hasDmarc`/`hasDkim`/`hasBimi` are real booleans (previously strings).
- Added a per-record dataset `fields` schema (nullable-safe) with titles and descriptions.
- Added a ~4-minute time budget: long runs stop gracefully and save everything collected.
- Proxy defaults to Apify Proxy (AUTO) for the DNS-over-HTTPS requests; the dead DATACENTER-only group is never forced.

### 2026-06-28

- Health check passed — actor verified working end-to-end on Apify platform.
- Changelog refreshed for Store quality compliance.

### 2026-06-24

- Initial release — 5-protocol email deliverability audit (MX, SPF, DKIM, DMARC, BIMI), weighted scoring, 31 DKIM selectors probed, no API key, CSV/JSON export.
