# Changelog of Chess.com Scraper — Players, Games & Leaderboards (`logiover/chess-com-scraper`) Actor

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

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

- **Real numbers & booleans** — `followers`, `rank`, `score`, `ratingRapid`, `ratingBlitz`, `ratingBullet`, `ratingChess960`, `whiteRating`, `blackRating` are now stored as real numbers (were strings); `rated` is now a real boolean.
- **New leaderboard fields** — added `winCount`, `lossCount`, `drawCount` (real numbers) from the leaderboard payload.
- **Country dropdown** — the `country` input is now a select of ISO-2 countries with readable labels (was free text).
- **Proxy** — Apify AUTO proxy with a direct-connection fallback on the final retry (chess.com is a clean public API). Nothing is required; empty input `{}` still returns full leaderboards.
- **Schema** — dataset schema gains per-field titles/descriptions (nullable-safe) and renders numeric/boolean columns correctly.

### 2026-07-10 — Reliability fix (cleared "Under maintenance")

- Default mode changed to `leaderboards` (single fast API call, ~552 rows in <1s) so the
  automated quality run finishes well within the 5-minute window.
- Added a global time budget (270s) — heavy modes (`titledPlayers`, `countryPlayers`,
  `playerGames`) now exit SUCCEEDED with partial data instead of being killed on timeout.
- Hardened `chessGet`: catches network-level throws, bounded 429 back-off retries.
- Lowered profile-fetch concurrency (10 → 5) to avoid Chess.com 429 storms.
