SenHub Agent 0.4.1¶
2026-06-23 · auto-update reliability fix
A focused point release that makes the built-in auto-updater actually apply. Two fixes stack up: the active periodic updater was a no-op on the current (local) configuration and never resolved a new release, and the install path staged the daemon binary where the hardened service could not overwrite it. With both landed, an enabled agent downloads, verifies and restarts onto the new binary with no manual step.
Fixed¶
- Fixed auto-update The active periodic updater was a no-op: the agent's version was resolved as empty, so every tick concluded "No update required" and the registry's
latestwas never fetched — only the passive startup check queried the registry, and that only logs a warning. The updater now resolves its target tolatestby default (a newauto_update.versionmay pin a specific target); the channel still resolves the stable list only, betas are never auto-applied. (#567) - Fixed install
agent installnow stages the daemon binary under/var/lib/senhub-agent/bininstead of/usr/bin, so the unprivilegedsenhubservice user can write its own replacement. Under the hardened unit the old location was read-only (ProtectSystem=full) and root-owned, and the apply failed with "read-only file system" / "permission denied". The packaged units (refresh-unit,.deb,.rpm) use the same path so all three agree. (#571) - Fixed install The systemd unit's restart policy is now
alwaysinstead ofon-failure: the updater exits cleanly to hand off to the freshly written binary, andon-failurewould not restart a clean exit — a self-updated agent could have stayed down. An explicitsystemctl stopis still honored. (#567)
Internal¶
- Internal config The removed pre-0.2.0 online/offline-mode vocabulary is purged from the CLI, config, code and current docs — the
modefield is dropped (existing keys ignored), the status "connection mode" is removed, andRemoteConfigurationDatais renamed toConfigurationData. The agent is always locally configured; no behavioral change.