v3.16.0

mvanhorn/last30days-skillv3.16.0Jul 16, 2026by github-actions[bot]

AI Summary

Fixes HTTP error handling and environment variable registration issues, while improving YouTube comment fetching by dropping the ScrapeCreators dependency.

Key Highlights

  • Isolates ScrapeCreators transcript HTTP errors from pipeline failure tracking
  • Fixes Bird CLI JSON stdout parsing and registers new environment variables
  • Fetches YouTube comments for free using yt-dlp
  • Adds overridable result caps to prevent high-volume source truncation

New Features

  • GITHUB_TOKEN support for .env and keychain
  • OPENROUTER_BASE_URL override configuration
  • LAST30DAYS_MCP_TIMEOUT accepts bare integer seconds
  • LAST30DAYS_DEBUG and DEGRADED_TRANSCRIPT_THRESHOLD environment variable support

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