# Changelog of YouTube Transcript & RAG Chunker (`leaderly_jackpine/youtube-rag-transcripts`) Actor

- **URL**: https://apify.com/leaderly\_jackpine/youtube-rag-transcripts/changelog.md
- **Full Actor documentation**: https://apify.com/leaderly\_jackpine/youtube-rag-transcripts.md

## Changelog

### 0.2

- **Sources:** added channel URLs (`@handle`, `/channel/UC...`, `/c/Name`, `/user/Name`) and free-text `searchQueries` alongside videos and playlists.
- **Crawler:** switched from CheerioCrawler to BasicCrawler; video requests now do zero watch-page HTML fetches (only the small ANDROID `/player` POST + the json3 caption fetch).
- **Output formats:** new `outputFormats` array replaces the single `outputFormat` string. Emits any combination of `chunkRows`, `json`, `srt`, `vtt`, `txt`, `markdown` per video.
- **Metadata:** video summary rows now carry `description` (truncated to 2000 chars), `keywords`, and `viewCount`. (`publishedAt` is `null` on the ANDROID client.)
- **Listing parsing:** playlist / channel / search video IDs are now extracted via a regex over the raw HTML, robust to renderer-name churn.
- Per-video charging unchanged (PPE); free chunk and status rows unchanged.

### 0.1.0

- Initial release.
- YouTube watch and playlist URL ingestion (HTTP-only via CheerioCrawler).
- Caption track extraction from `ytInitialPlayerResponse` with language + manual/ASR preference and optional `translateTo`.
- ASR boundary-reflow segment deduplication.
- Chunking modes: `tokenWindow` (with overlap) and `timestampWindow`.
- Per-chunk token counts (`o200k_base` / `cl100k_base`) and deep-link timestamps.
- Output formats: `jsonl` (flat chunks + video summaries), `json` (nested), `markdown`.
- Per-video charging (PPE); free status rows for no-captions / failed / blocked.
- Residential US proxy default with consent/block detection.
