# Changelog of Business Email Enricher - Emails, Phones & Socials (`halvenlabs/business-email-enricher`) Actor

- **URL**: https://apify.com/halvenlabs/business-email-enricher/changelog.md
- **Full Actor documentation**: https://apify.com/halvenlabs/business-email-enricher.md

## Changelog

All notable changes to this Actor are documented here.

### 1.1.0

#### Features

- Five new social/messaging platforms extracted per site: **WhatsApp** (`wa.me`/`chat.whatsapp.com`), **Discord** (`discord.gg`/invite), **Snapchat**, **Threads**, and **Reddit** — the leading contact-details scrapers on the Apify Store cover these, and messaging links are increasingly the primary contact channel for small businesses.

### 1.0.1

#### Fixed

- One `mailto:` link with malformed percent-encoding no longer crashes the whole site's enrichment (which burned all retries and recorded the site as "unreachable", losing every valid email found on the page).
- An input that redirects to an already-enriched site now produces an uncharged `status: "duplicate"` row instead of silently producing nothing.

#### Security

- Redirects are now re-validated with a DNS resolution check too (not just URL syntax), so a redirect target that resolves to a private/metadata IP is refused. `safeurl.js` synced with the hardened shared version.

### 1.0.0

Initial release.

#### Features

- Full extraction with a flat, CSV/Excel-friendly dataset schema and a Store output table view.
- `maxItems` cap enforced globally (safe under concurrency), plus input validation with clear, fail-fast errors.
- Pay-per-event pricing: `actor-start` + per-result-item charging (charged only after an item is produced).
- Apify Proxy support, automatic retries with backoff, and graceful per-item degradation (one bad page never crashes the run).
- Resumable & migration-safe via `Actor.useState` (no double-charge on platform migration).

#### Security & robustness

- Input/redirect SSRF guards (block localhost, private/reserved IPs, cloud-metadata, `file://`) with DNS-rebinding resolution checks where user URLs are fetched.
- ReDoS-safe extraction patterns and response-body size caps.
- Push-failure rollback so a failed push never silently loses items or mischarges.
