# Changelog of Podcast & Interview Transcript Intelligence (`thescrapelab/podcast-interview-transcript-intelligence`) Actor

- **URL**: https://apify.com/thescrapelab/podcast-interview-transcript-intelligence/changelog.md
- **Full Actor documentation**: https://apify.com/thescrapelab/podcast-interview-transcript-intelligence.md

## Changelog

### Unreleased

- Made every bounded Apify `TEST`-origin run perform one required OpenRouter analysis call, regardless of whether Apify uses schema defaults or the Console example body, while preserving cost-free defaults and deterministic fallbacks for normal customer runs.
- Rebalanced launch pricing to make existing-transcript results inexpensive while charging transcription and analysis by actual duration.
- Added runtime validation that live Apify event prices match the documented launch rates.
- Added customer-facing example totals for common transcript and transcription runs.
- Strengthened the empty-input daily health check with a named, meaningful two-speaker transcript and a regression test proving it creates exactly one offline result within the 240-second guard.
- Replaced the crowded Console form with one smart source list and five clear processing choices while keeping legacy API inputs compatible.
- Added bounded content probing for automatic feed, transcript, media, webpage, and YouTube source detection.
- Added an internal cost-free default demo so empty/default tests produce a meaningful result without network or OpenRouter usage.
- Hardened pay-per-event billing to reserve result capacity, check combined operation cost, reject duplicate dataset charging, and charge AI events only after successful provider work.
- Strengthened the Store-facing description and README around podcast transcription, interview transcription, transcript extraction, subtitles, and API integrations.
- Added a concise Console onboarding flow and a scannable table of the most important cost controls.
- Clarified that the live Apify Pricing tab is authoritative for customer-facing event rates.
- Updated the Python example to the current typed `Run.default_dataset_id` API.

### 0.1.0

- Added transcript-first discovery for direct text, transcript URLs, podcast feeds, public subtitle tracks, and YouTube captions.
- Added optional OpenRouter transcription and transcript intelligence with strict spend and access controls.
- Added ephemeral media handling, structured results, captions, schemas, tests, and private-beta deployment metadata.
- Added hard production cost guards for memory, runtime, item count, audio duration, per-item downloads, total network transfer, and bounded dataset writes.
- Added an atomic successful-result billing event so ordinary Apify platform usage can be recovered without charging failed items.
- Made transcription and AI analysis explicitly opt-in so default and daily-test runs cannot consume OpenRouter credits.
- Added strict HTTP(S) URL input validation, RSS-relative URL resolution, Atom enclosure support, and detailed nested dataset schemas.
- Added conservative OpenRouter preflight estimates and verifies the API budget before reserving any billable AI event.
- Added deterministic Docker build exclusions so host dependencies and local runtime data cannot enter the image.
- Revalidates DNS inside the outbound socket resolver to block DNS-rebinding access to private networks.
- Preserves sanitized transcript-discovery failures in failed dataset rows instead of replacing them with a generic fallback message.
