# Changelog of Letterboxd Film & Review Scraper — Ratings, No Login (`logiover/letterboxd-film-review-scraper`) Actor

- **URL**: https://apify.com/logiover/letterboxd-film-review-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/letterboxd-film-review-scraper.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

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

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

- Running with empty input `{}` now works: with no URLs or keywords the scraper browses Letterboxd's popular films (and, when review scraping is on, extracts their reviews) instead of exiting. No input field is required anymore.
- Added a **Popular / Trending Films** mode plus a **Popular Films — Sort / Period** dropdown (popular this week/month/year, all-time, highest rated, newest releases).
- Years are now stored as real numbers (`year`, `filmYear`) instead of strings. All existing review-extraction behaviour and output field names are unchanged.
- Added a soft 4-minute time budget on paginations so long runs finish gracefully with whatever was collected.
- Added a full dataset field schema (titles + descriptions, nullable types) and switched numeric columns (year, ratings, likes) to number display format.

### 2026-06-28

- Fixed "Under maintenance" quality flag: search queries are now gated behind `mode === 'search'` — the prefill input was running 2 extra searches + all their result film pages even in 'film' mode, causing timeout.
- Parallelized full-text review fetches for up to 5× faster review extraction.
- Cleaned up `searchQueries` prefill to avoid unintended work in non-search modes.

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