v3.16.0
Cinnamon/kotaemonv3.16.0Jul 16, 2026by github-actions[bot]
AI Summary
This release focuses on stability improvements, enhanced environment variable support, and new source integration features. Key additions include free YouTube comment fetching and overridable configuration options for external APIs.
Key Highlights
- Fetch YouTube comments for free via yt-dlp, removing the ScrapeCreators requirement
- Environment variable support for GITHUB_TOKEN and OPENROUTER_BASE_URL
- Fix for HTTP error isolation in transcript tracking
- Trust valid JSON stdout from Bird CLI even on non-zero exit
New Features
- Free YouTube comment fetching via yt-dlp
- Overridable OpenRouter base URL (OPENROUTER_BASE_URL)
- Overridable result caps for high-volume sources
- End-to-end support for GITHUB_TOKEN in .env and keychain
Full Release Notes
## What's Changed * fix: isolate ScrapeCreators transcript HTTP errors from pipeline failure tracking (#829) by @23241a6749 in https://github.com/mvanhorn/last30days-skill/pull/830 * fix(bird_x): trust valid JSON stdout from Bird CLI even on non-zero exit (handle search) by @23241a6749 in https://github.com/mvanhorn/last30days-skill/pull/813 * fix(env): register DEGRADED_TRANSCRIPT_THRESHOLD so .env value is picked up by @23241a6749 in https://github.com/mvanhorn/last30days-skill/pull/807 * feat(env): register GITHUB_TOKEN for .env and keychain end-to-end support by @23241a6749 in https://github.com/mvanhorn/last30days-skill/pull/793 * fix: register LAST30DAYS_DEBUG in env keys, lazy resolution, fix xai_x crash by @23241a6749 in https://github.com/mvanhorn/last30days-skill/pull/770 * fix: guard all .get(key, 0) patterns that can return None (7 files, 17 occurrences) by @23241a6749 in https://github.com/mvanhorn/last30days-skill/pull/822 * fix: accept bare integer seconds in LAST30DAYS_MCP_TIMEOUT (#756) by @23241a6749 in https://github.com/mvanhorn/last30days-skill/pull/765 * feat(youtube): fetch comments free via yt-dlp, drop the ScrapeCreators requirement by @micmicalpha in https://github.com/mvanhorn/last30days-skill/pull/827 * fix(save): truncate long-topic slugs to stay under filename limits by @tkwilosz3 in https://github.com/mvanhorn/last30days-skill/pull/786 * fix(pipeline): forward pinned parameters in thin-source retry logic by @bastitva0-blip in https://github.com/mvanhorn/last30days-skill/pull/795 * Keep Chromium cookie temp copies private by @rp0927 in https://github.com/mvanhorn/last30days-skill/pull/764 * feat(pipeline): overridable result caps so high-volume sources aren't truncated (#716) by @jmilinovich in https://github.com/mvanhorn/last30days-skill/pull/717 * feat: make the OpenRouter base URL overridable (OPENROUTER_BASE_URL) by @oager in https://github.com/mvanhorn/last30days-skill/pull/703 * Honor plan's explicit sources at quick depth by @Bexr66 in https://github.com/mvanhorn/last30days-skill/pull/664 * chore(deps): bump trufflesecurity/trufflehog from 3.95.6 to 3.95.8 by @dependabot[bot] in https://github.com/mvanhorn/last30days-skill/pull/814 * fix: keyless web search on DuckDuckGo-blocked IPs + reddit enrichment failure isolation by @Mekiwi (cherry-picked from https://github.com/mvanhorn/last30days-skill/pull/825 as 2626d0f) ## New Contributors * @micmicalpha made their first contribution in https://github.com/mvanhorn/last30days-skill/pull/827 * @tkwilosz3 made their first contribution in https://github.com/mvanhorn/last30days-skill/pull/786 * @rp0927 made their first contribution in https://github.com/mvanhorn/last30days-skill/pull/764 * @jmilinovich made their first contribution in https://github.com/mvanhorn/last30days-skill/pull/717 * @oager made their first contribution in https://github.com/mvanhorn/last30days-skill/pull/703 * @Bexr66 made their first contribution in https://github.com/mvanhorn/last30days-skill/pull/664 * @Mekiwi made their first contribution in https://github.com/mvanhorn/last30days-skill/pull/825 **Full Changelog**: https://github.com/mvanhorn/last30days-skill/compare/v3.15.0...v3.16.0