# Changelog of Bulk Website Screenshot Capture — Full-Page PNG/JPEG (`logiover/bulk-website-screenshot-capture`) Actor

- **URL**: https://apify.com/logiover/bulk-website-screenshot-capture/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/bulk-website-screenshot-capture.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

- Replaced the fragile Console-prefill targets with lightweight public pages; verified the exact desktop PNG input locally with 2/2 non-empty screenshots.
- All-failed screenshot batches now fail explicitly after emitting diagnostic rows instead of appearing as a successful empty run.
- 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.
- Replaced fragile Console-prefill targets with lightweight public pages after the former proxied Apify/GitHub pair timed out; the exact new two-URL desktop PNG input produced 2/2 non-empty screenshots locally.
- Retained explicit all-failed semantics and per-URL failure rows so a transport-wide screenshot failure cannot be reported as a successful empty dataset.

### 2026-07-23

- Reliability fix: added 210 s time-budget with `autoscaledPool.abort()` called from `failedRequestHandler` — runs now exit SUCCEEDED with partial results instead of TIMED-OUT.
- Reduced `navigationTimeoutSecs` from default 60 s to 20 s so each blocked navigation fails fast instead of burning 60 s × retries.
- Reduced `maxConcurrency` from 5 to 2 (prevents memory OOM at 95 % of 1 GB with concurrent Chromium instances).
- Reduced `maxRequestRetries` from 2 to 1 to halve the retry budget per URL.
- Reduced `requestHandlerTimeoutSecs` from 90 to 45 and `waitForLoadState` timeout from 20 s to 8 s.
- FAILED runs caused by `Cannot find module 'playwright'` were from stale builds with wrong Docker image — current `actor-node-playwright-chrome:20` Dockerfile is correct, rebuild fixed it.

### 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 — `startUrls` no longer required. Running with empty input `{}` captures a default set of well-known sites (Apify, GitHub, Stripe, Vercel, Hacker News) so you get screenshots with zero config.
- `deviceProfile` and `format` remain user-friendly dropdowns (Desktop / Mobile / Tablet / Custom, PNG / JPEG).
- Run no longer hard-exits on empty input; URL normalization is unified so string and `{ url }` list items both work.
- Dataset schema now documents every field (title + description); viewport dimensions and file size remain numeric columns.

### 2026-06-24

- Initial release — headless-Chromium (Playwright) bulk screenshot capture, full-page or viewport, desktop/mobile/tablet profiles, cookie-banner auto-dismiss, lazy-load scrolling, PNG/JPEG output stored in the key-value store with permanent public URLs, cost-capped via maxScreenshots.
