Skip to content

Commit 2587960

Browse files
Bump version to v0.2.3 — per-channel sync visibility & controls
Documentation + version bump for the live-channel follow-up shipped in 6807240 (per-channel last-synced badges via recipe_state.json, the per-channel "Save & Sync now" button, and the Dashboard "next run" indicator). - frontend/package.json: 0.2.2 -> 0.2.3 (shown in the UI sidebar). - CHANGELOG.md: verbose 0.2.3 entry covering the new per-channel state, scoped /api/recipes/run?only=N, next_run_seconds, and the documentation reconciliation that captured source/target agnosticism as an explicit (unbuilt) future goal. Verified in Docker: image rebuilt from source, boots clean on 7979, and 0.2.3 is present in the built frontend bundle. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 6807240 commit 2587960

2 files changed

Lines changed: 34 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,38 @@ All notable changes to Programmarr are documented here. This project follows
44
[Semantic Versioning](https://semver.org/) and the spirit of
55
[Keep a Changelog](https://keepachangelog.com/).
66

7+
## [0.2.3] — 2026-06-04
8+
9+
Follow-up to the Live Channels release: per-channel visibility and control that the
10+
original plan called for but v0.2.2 only partly delivered.
11+
12+
### Added
13+
14+
- **Per-channel "last synced" badge.** Each live channel row on the Channels page
15+
shows when it was last checked ("synced 2h ago" / "never"). Backed by a new
16+
cosmetic `data/recipe_state.json` — written by the scheduler, read by the UI. It
17+
is **not** correctness state (the change-detection diff still reads live Tunarr);
18+
it lives in its own file so it never races with `channels.json` edits or deploys.
19+
- **Per-channel "Save & Sync now".** The channel editor (for live channels) gains a
20+
button that saves the channel and immediately runs a scheduler cycle scoped to
21+
just that channel (`/api/recipes/run?only=N`), applying the recipe to Tunarr in
22+
place without leaving the editor.
23+
- **"Next run" on the Dashboard.** The Auto-Updates card now shows when the next
24+
automatic check will run (e.g. "next ~in 11h"), alongside the last check.
25+
26+
### Changed
27+
28+
- `/api/recipes/status` now returns `next_run_seconds` and a per-channel `channels`
29+
map. The scheduler's last-run timestamp moved to wall-clock time so the status
30+
endpoint can compute the next run without touching the event loop.
31+
32+
### Notes
33+
34+
- Documentation reconciled against the full original plan: source/target
35+
agnosticism (Jellyfin source, ErsatzTV target) is captured as an explicit
36+
**future** goal with the in-place-update contract noted, but intentionally not
37+
built yet — there's no second source/target to validate an adapter layer against.
38+
739
## [0.2.2] — 2026-06-04
840

941
### Added — Live Channels (auto-updating channels)
@@ -98,6 +130,7 @@ and patches it **in place** as the library grows — no redeploy, no manual edit
98130
- GitHub Actions CI publishing to GHCR; Watchtower auto-update support
99131
(including the `DOCKER_API_VERSION` fix for newer Docker engines).
100132

133+
[0.2.3]: https://github.com/AlpineArchitecture/programmarr/releases/tag/v0.2.3
101134
[0.2.2]: https://github.com/AlpineArchitecture/programmarr/releases/tag/v0.2.2
102135
[0.2.1]: https://github.com/AlpineArchitecture/programmarr/releases/tag/v0.2.1
103136
[0.2.0]: https://github.com/AlpineArchitecture/programmarr/releases/tag/v0.2.0

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "programmarr",
3-
"version": "0.2.2",
3+
"version": "0.2.3",
44
"private": true,
55
"type": "module",
66
"scripts": {

0 commit comments

Comments
 (0)