Skip to content

v0.2.6 - Daemon auto-update

Choose a tag to compare

@github-actions github-actions released this 23 Jun 10:09

v0.2.6 summary

TL;DR

  • Daemon auto-updates itself - downloads, verifies (minisign + SHA256), swaps binaries, and restarts automatically every ~6 hours.
  • macOS + Linux - works with launchd (macOS) and systemd user services (Linux).
  • Opt-out available - set AGENTJAIL_AUTO_UPDATE=false to disable.
  • Shared update infrastructure - download/verify/swap code extracted to internal/selfupdate/ for reuse.

Added

  • Daemon auto-update - the daemon periodically checks for new versions and applies updates automatically (download → verify signature → verify hash → swap binaries → exit → service manager restarts)
  • Linux systemd support - auto-update works with systemctl --user restart on Linux, in addition to launchd on macOS
  • internal/selfupdate/ package - shared download, verification, and binary swap infrastructure used by both CLI and daemon
  • Signing key via ldflags - SigningPubKey moved to shared package, injected at build time
  • ADR 0026 - documents the daemon auto-update decision

Changed

  • agentjail update (CLI) - refactored to use shared internal/selfupdate/ functions
  • install.go - launchctl helpers now delegate to shared package

Security

  • Same minisign + SHA256 verification chain as manual agentjail update
  • Dev builds (empty signing key) skip auto-update
  • Homebrew installations skip auto-update (notification only)