What's New
Podcast Model Registry Integration & Credential Passthrough
Episode and speaker profiles now use the model registry instead of loose provider/model strings. This enables automatic credential passthrough to podcast-creator and brings podcasts in line with the rest of the system.
- Episode profiles use
outline_llm/transcript_llm(model registry references) instead of provider/model strings - Speaker profiles use
voice_model(model registry reference) instead of tts_provider/tts_model strings - Credentials are automatically resolved and passed to podcast-creator
- New
languagefield on episode profiles (BCP 47 locale codes like pt-BR, en-US) - Per-speaker voice model override support
- Data migration auto-converts legacy profiles on startup (idempotent)
- New
GET /api/languagesendpoint - Profile forms use ModelSelector component instead of manual provider/model dropdowns
- "Templates" tab renamed to "Profiles"
- "Setup required" badge on profiles missing model configuration
- i18n updated across all 8 locales
- Added
pycountryandbabeldependencies
Chat: Remove 50-source cap
Notebook chat context no longer has a hard limit of 50 sources. All sources in a notebook are now available for context. (#628)
Docker: Pin SurrealDB version
Pin SurrealDB to a specific version in Docker Compose to prevent breaking changes from upstream updates. Also fixes single-container documentation. (#629)
UI: Fix CJK text orientation
Correct text orientation for CJK (Chinese, Japanese, Korean) characters in the collapsible column component. (#619)
Other
- docs: add missing
SURREAL_NAMESPACEandSURREAL_DATABASEenv vars - chore(deps-dev): bump tar from 7.5.7 to 7.5.9 in frontend
Migration
Existing podcast profiles are automatically migrated on first startup. If your profiles used providers with configured credentials, the migration is seamless. Profiles that can't be auto-migrated will show a "Setup required" badge in the UI.
Contributors
Thank you to everyone who contributed to this release!