• v1.5.8 b7e81af0b6

    v1.5.8 Stable

    nntrivi2001 released this 2026-09-11 09:49:21 +00:00 | 223 commits to main since this release

    Follow-up to v1.5.7, which stopped the self-update from killing a systemd-managed dashboard. This release cleans up the residue an already-interrupted update left behind, and makes it visible.

    Fixed

    A systemd unit left pointing at a retired plugin version now repairs itself.

    This is the quietest failure in the whole chain: the server is running, /agenthub-doctor reads OK on every row, and the unit still names a plugin cache directory Claude Code deleted during the update. Nothing surfaces it — until a reboot, when the dashboard does not come back and nothing recorded why.

    The bootstrap's fast path now rejects that state, so the next Claude Code session repairs the unit instead of short-circuiting past it. unitIsStale is deliberately pure filesystem work: the fast path runs on every single SessionStart and may not spawn a process.

    Two things it carefully does not do:

    • Repairing the unit is not restarting the server. When the running server is current and healthy, the corrected unit is left to take effect at the next start. Restarting a working dashboard to fix a file that only matters at boot is churn the user feels for nothing.
    • A stale unit alone never starts a second server. The detached-spawn fallback is now guarded, so it cannot spawn onto a port the live server already holds.

    An installed-but-stopped unit no longer counts as owning the server. Ownership now requires the unit to be active. Treating a stopped unit as the owner skipped the stop and then asked systemd to start a server onto an occupied port — a crash loop, courtesy of the Restart=always added in 1.5.7.

    Added

    /agenthub-doctor reports systemd. A new row, WARN and never FAIL:

    • the unit names a previous plugin version — says plainly that the dashboard will not come back after a reboot, and gives the fix;
    • the unit is installed but not running;
    • a unit that AgentHub did not write is reported and left untouched;
    • no unit at all is reported as fine — a plugin install without agenthub service install is a normal setup where the server starts per session.

    Notes

    Machines already stuck from before 1.5.7 still need one manual bootstrap run — the stuck install is the thing that would otherwise apply the fix. See the v1.5.7 notes. After that, both the update path and the stale-unit path are self-healing.

    Downloads