# Changelog of YouTube Viral Video & Competitor Analyzer (`scravion/youtube-data-scraper-pro`) Actor

- **URL**: https://apify.com/scravion/youtube-data-scraper-pro/changelog.md
- **Full Actor documentation**: https://apify.com/scravion/youtube-data-scraper-pro.md

## Changelog

### 9.1.0

- Fixed root channel URL and handle discovery for Shorts-only or videos-only channels by treating a missing YouTube channel tab as a non-fatal condition.
- Added regression coverage for missing `videos` / `shorts` tab detection.

### 9.0.0 - 2026-09-22

- Repositioned the Actor for competitor research and viral/outlier discovery.
- Added channel-normalized `channelViewMultiplier` and average-view multiplier to channel-sourced videos.
- Added channel benchmark metadata to video rows.
- Added `channel_multiplier_desc` global sorting.
- Added a dedicated Viral / breakout finder Dataset view.
- Added a ready-to-run competitor viral-finder example and refreshed Store copy.

### 8.0.0 - 2026-09-22

- Fixed Shorts mode so it defaults to Shorts-only behavior and accepts channel/handle/search sources correctly.
- Fixed Trending mode so `mode: "trending"` works without requiring another source toggle.
- Activated `channelAnalyticsSampleSize` with real recent-video view and upload-frequency analytics.
- Activated `compatibilityMode: "reference"` with stable reference aliases.
- Activated `duplicateStrategy` semantics for first-vs-merge source attribution.
- Fixed data-quality scoring so intentionally disabled descriptions are not reported as missing.
- Added direct-video Shorts metadata detection when public YouTube metadata exposes it.
- Fixed unsupported URL error classification.
- Reconciled primary result totals with actually published results after billing-limit truncation.

### 7.0.0 - 2026-09-19

#### Added

- Bounded security, fuzz, parser-contract, concurrency, Dataset-integrity, network-chaos, and synthetic stress suites.
- Strict input complexity limits, outbound redirect policy, centralized secret redaction, and spreadsheet-safe exports.
- Seven customer-focused Dataset views, eleven ready-to-use presets, complete Store copy and FAQ, API retrieval examples, and original icon/cover assets.
- Release, security, stress, large-stress, and soak commands with evidence-oriented reports.

#### Changed

- Upgraded the product and Actor metadata to 7.0.0 and polished the Input UI for customer-facing use.
- Made retry classification testable and deterministic while preserving bounded adaptive behavior.
- Restricted hidden compatibility and diagnostic fields in the public Input UI.

#### Fixed

- Prevented inherited-property reads in declarative output paths.
- Revalidated every outbound redirect and stripped credentials on cross-origin redirects.
- Stopped normal PPE charge-limit events from being miscounted as billing errors.

### 5.0.0 - 2026-09-19

#### Added

- Mixed-source video, Shorts, search, channel/handle, playlist, and popular-feed discovery.
- Native search filters, exact global/per-source limits, balanced/sequential distribution, and adaptive concurrency.
- Public caption/transcript, channel, streaming-format, contact/link, language, and derived-metric enrichments.
- Incremental state, partial-result recovery, isolated error Dataset, performance statistics, and workload metadata.
- Strict Dataset/input/output schemas, four Dataset views, PPE observability, pricing calculator, benchmark scripts, and live smoke tests.

#### Changed

- Unified V1–V4 aliases through a single validated V5 input normalization layer.
- Replaced executable mapping with restricted declarative field selection and output mapping.

#### Fixed

- Concurrency-safe exact `maxItems` enforcement.
- Cross-source deduplication and duplicate billing prevention.
- Prototype-pollution path rejection, secret-safe errors, bounded retries, and charge-limit termination.
