# Changelog of YouTube Channel Statistics Scraper (`w3crawler/youtube-channel-statistics-scraper`) Actor

- **URL**: https://apify.com/w3crawler/youtube-channel-statistics-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/w3crawler/youtube-channel-statistics-scraper.md

## Changelog

### \[2.1.0] - 2026-09-08

- Rebuilt around public YouTube About-page HTML.
- Added rich statistics fields, strict schemas, exact diagnostics, OUTPUT summary, tests, and dataset validation.

All notable changes to the YouTube Channel Statistics Scraper are documented here.

### \[2.0.0] - 2026-07-29

#### Changed

- Rebuilt extraction around public YouTube channel-page `ytInitialData` with strict channel input validation and canonical ID resolution.
- Added rich, source-labelled public profile/statistic fields, recursive empty-value removal, deduplication, and zero-record failure.
- Added five consistent browser fingerprints, bounded retries, optional proxy support, and safer error handling.

### \[1.1.0] - 2026-05-22

#### Changed

- Added modular `src/errors/` module (ScraperError, ErrorTypes, ErrorHandler) following Brave actor pattern
- Added modular `src/filters/` module with deduplicateResults and normaliseText utilities
- Updated `src/main.js` to import and use `ErrorHandler` in `failedRequestHandler`
- Structured code into separate concerns: extractors, routes, schema, utils, errors, filters

### \[1.0.0] - 2026-05-22

#### Added

- Initial production release with Playwright-based scraping
- Modular project structure: `src/main.js`, `src/routes.js`, `src/routes/handlers.js`, `src/extractors/`, `src/schema/`, `src/utils/`
- `.actor/actor.json`, `input_schema.json`, `dataset_schema.json` for Apify platform compatibility
- `validate-datasets.js` for local dataset output validation
- `Dockerfile` with Chrome-based Playwright image
- `README.md` with full Apify usage guide
