v0.5 (2026-10-16) — YouTube playlist and channel URLs expand into individual videos (maxVideosPerPlaylist, default 20); per-video time limit (perVideoTimeoutSecs, default 900s) skips a stuck video instead of timing out the run; blocked/transient probe errors retry once on a fresh residential session and then directly.
v0.4 (2026-08-05) — Make native-caption extraction the default so prefilled runs do not require an OpenAI credential; Whisper remains an explicit opt-in.
v0.3.7 (2026-07-29) — Apply maxDurationMinutes only to Whisper audio transcription, not native/manual/auto caption downloads. Long captioned lectures and streams now succeed without weakening the Whisper cost cap. Added regression tests for both paths.
v0.3 — Retries throttled subtitle downloads, falls through the ordered preferred-language list, emits only validated transcript rows with coupled PPE charging, and persists honest COMPLETE/PARTIAL/CONFIG_ERROR/UPSTREAM_FAILED outcomes. Failed URL diagnostics are stored in FAILURES rather than the result dataset.