Skip to content

v0.2.2 — Live Channels

Choose a tag to compare

@AlpineArchitecture AlpineArchitecture released this 04 Jun 19:07
· 155 commits to master since this release

Live Channels — auto-updating channels. Mark a channel "live" and Programmarr re-checks it against your library on a schedule and patches it in place as the library grows — no redeploy.

Highlights

  • Live toggle per channel + an orange "live" badge. Off by default; enable in Settings → Live Channels.
  • Franchise auto-match — a title_contains rule pulls in every matching film in release order (e.g. Bad Boys → all four) and auto-adds new sequels. Word-boundary matching (It matches "It Follows", not "Little Women"), with a live author-time preview and per-title exclude list.
  • In-place updates reuse the existing Tunarr channel (same number + id), so Plex's Live TV / DVR mapping is never disturbed — no deleting, no re-adding. Verified: a live Batman channel grew 162 → 254 programs with its channel id unchanged.
  • Change-detection diffs against current Tunarr programming and patches only on a real change — idempotent no-ops, no guide churn, no state file (survives restarts).
  • Background scheduler (in-process asyncio loop), re-reads config live so enable/pause/interval changes apply without a restart.
  • Dashboard → Auto-Updates card: on/paused state, live count, last-cycle changes, Pause/Resume, and a "Check now" button. New /api/recipes/* endpoints.

Also in this release

  • create.py resolution logic extracted into a shared, importable channel_engine.py (no behavior change to deploys).
  • Manual deploys and the scheduler share a lock so they never touch Tunarr at once.
  • Fixed: channel editor "bounce" — Save could re-open the modal and double-fire the saved notification.
  • Added a favicon.

Full notes in CHANGELOG.md.