# Changelog of Subdomain Finder - Discover Subdomains via CT Logs (`logiover/subdomain-finder`) Actor

- **URL**: https://apify.com/logiover/subdomain-finder/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/subdomain-finder.md

## Changelog

### 2026-09-01

- Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
- Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
- No change to input, output fields or scraping logic.

### 2026-08-11

- Maintenance release: refreshed the build and dependencies.
- Re-verified live execution, non-empty structured output and dataset field/type integrity.
- Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.

### 2026-08-01

- Monthly health check reproduced a misleading `SUCCEEDED`/zero-row UI run caused by every crt.sh attempt returning HTTP 429.
- Changed crt.sh access to direct-first bounded retries, made Apify Proxy an optional fallback, and added keyless Cert Spotter active-issuance pagination when crt.sh returns no usable entries.
- Runs now fail explicitly if every CT source fails instead of converting transport/rate-limit exhaustion into an empty result.
- Invalid domains fail clearly, and total DNS-over-HTTPS failure can no longer masquerade as a valid empty `onlyResolvable` result.
- `maxResults` is now applied after `onlyResolvable`, so non-resolving names do not consume the requested output cap.
- Updated coverage, provider and runtime claims in the README; output fields remain unchanged.
- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.
- Fixed the run Output link from `{{links.apiDefaultDatasetUrl}}` to `{{links.apiDefaultDatasetUrl}}/items` so the results table opens the dataset items endpoint.
- Changed crt.sh access to direct-first bounded retries, made proxy use optional, and added paginated Cert Spotter active-issuance fallback.
- Made all-CT-source failure, invalid domains, and total DNS-over-HTTPS failure explicit instead of returning misleading successful empty data; maxResults now caps final post-DNS-filter rows.
- Corrected absolute coverage/proxy claims while retaining the existing eight-field dataset contract.

### 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

- Every input is now optional. Running with empty input `{}` enumerates a well-known default domain (apify.com) so you always get data out of the box.
- Added a "Sort By" dropdown (subdomain name, first seen, or last seen).
- Added a typed dataset schema with nullable-safe field definitions so rows with no DNS/timestamp data still export cleanly.
- Clarified proxy help text (Apify Proxy automatic by default).

### 2026-06-28

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

### 2026-06-20

- Maintenance & reliability pass: re-verified end-to-end against live data and confirmed the Actor completes successfully within the 5-minute quality window on the default input.
- Refreshed the prefilled example input and tuned run defaults for faster, lower-cost runs.
