# Changelog of YouTube Comments Scraper with Incremental Sync (`danthedataman/youtube-channel-comment-ledger`) Actor

- **URL**: https://apify.com/danthedataman/youtube-channel-comment-ledger/changelog.md
- **Full Actor documentation**: https://apify.com/danthedataman/youtube-channel-comment-ledger.md

## Changelog

### 2026-10-10 — hardening continuation

- Bound each HTTP attempt at25seconds within the remaining run budget, retaining NETWORK retries and default browser fallback.
- Validate comment/reply continuations inside the retry and fallback boundary, containing malformed sources and preserving valid prefix/sibling output.
- Open handled ERRORS values from the output link and clarify successful partial runs and cold image-pull limits.

### Next-only bootstrap repair — 2026-10-10

- Remove player from comment collection after build 0.1.6 hit a player bot wall while next succeeded. Derive the required video identity/title/owner from next and preserve positive unavailable/disabled classes.
- Check browser POST navigation at response commit, classify non-200 immediately and avoid waiting for the full homepage DOM. Keep the existing per-item budget and default fallback.

### Speed and output parity — 2026-10-10

- Replace the full watch fetch with concurrent keyless InnerTube next/player metadata and discussion bootstrap. Keep classified retries and default browser fallback, remove first-attempt waits, and pin the measured Playwright base tag.
- Change private candidate counters to integers with zero for absent counts and null for unparseable nonblank counts; preserve likeCountText/replyCountText aliases. Add literal publishedTimeText and the explicitly approximate UTC-day rendering publishedAtDayApprox. Keep rich author fields and scalar compatibility projections.

### 0.1

Batch public channel profiles, videos, Shorts, live metadata and comment/reply rows. Add keyword channel discovery, public filters and persistent new-item output with recoverable billing receipts. Keep errors outside the dataset and report partial scan coverage. Use HTTP first with isolated Chromium fallback after classified failures.

- Supply required input descriptions from the buyer contract after native schema validation.

- Follow delivered Top/Newest controls and header-only discussion continuations; bound and time fallback requests.

- Forward delivered visitor identity for discussions; overlap up to four independent reads while serializing rows and state. Cap missing-data retries at two and prove memory at 512 MB.

- Preserve incomplete coverage when a prefetch window truncates an exhausted page; record measured slow-read behavior for release review.

### Comments release scope — 2026-10-07

- Head narrows the product to batched video comments/replies and persistent new-only polling. Remove channel/video-listing/discovery inputs and collection paths; update prefill, schemas and memory floor.

- Batch new-item output and persistence with version2 migration and exact prefix recovery; preserve charge-limit binding and serial output.

- Retire migrated legacy journals before reset, and stop normally at a zero-row binding limit between billing-event groups.

- Reconcile own RUNNING restarts, checkpoint every 400 committed receipts, and rebuild caps, intro counts and one-shot duplicate suppression from the default dataset.

- Apply deliberate reset once per run; a restart with output retains its recovered seen IDs.
