# Changelog of PredictLeads Company Enrichment (`predictleads/predictleads-company-enrichment`) Actor

- **URL**: https://apify.com/predictleads/predictleads-company-enrichment/changelog.md
- **Full Actor documentation**: https://apify.com/predictleads/predictleads-company-enrichment.md

## Changelog

### 3.0.0

- Added `company` module (base company profile — descriptions, location, ticker, parent/subsidiary/similar companies).
- Split discovery into a separate **PredictLeads Prospecting** actor; this actor now focuses solely on enriching a known list of companies.
- List fields (`tags`, `categories`, `contract_types`, `source_urls`, …) are now comma-joined strings for clean single CSV/Sheets columns.
- Added an Apify output-schema view so dataset exports lead with the most useful columns instead of alphabetical order.
- Records are now written to both the default dataset (Console Output tab / exports) and per-module named datasets.

### 2.0.0

- Added configurable concurrency for parallel domain processing (3–10x faster).
- Added input sanitization (URL cleaning, whitespace trimming, lowercasing).
- Added deduplication of records across pages.
- Added per-domain timeout (5 minutes) and graceful shutdown on SIGTERM/actor timeout.
- Added machine-readable `RUN_SUMMARY` to key-value store after every run.
- Added structured logging with timing, progress percentage, and summary table.
- Added `concurrency`, `requestDelayMs`, and `proxy` input fields.
- Added connection pooling with keep-alive for reduced latency.
- Added smart pagination: walks pages by incrementing `page`, stopping at the reported `count`, an empty page, or the per-module result cap (the API returns no `next_page` cursor).
- Added `investors` array to financing events and `company_ticker` across company modules.
- Added structured news event fields (`location_data`, `product_data`, and `*_tags`).
- Discovery filters accept friendly keys (`location`, `event_category`, `financing_type`) that map to the API's parameter names (`company_location`, `categories`, `financing_types_normalized`).
- Credential preflight validates via the `/api_subscription` endpoint, so it no longer spends a company-lookup credit per run.
- Added `QuotaExhaustedError` (402) handling.
- Added human-readable module labels and grouped sections in input UI.
- Improved null safety: unmapped fields return `null` instead of `undefined`.
- Refactored to module registry pattern, centralized constants, and typed error hierarchy.

### 1.0.0

- Initial Apify Store actor for PredictLeads Company Intelligence.
- Added company and discovery modes across 17 PredictLeads endpoints.
- Added strict TypeScript runtime, JSON:API normalization, retries, validation, and Apify dataset output.
