Skip to content

SenHub Agent 0.2.0

2026-05-19 · Breaking major release

A major housekeeping release that simplifies how the agent is configured and packaged. Nothing changes in what the agent monitors — but a few flags and file locations moved, so if you already run an agent, read the upgrade guide before you update.

Highlights

  • Simpler to run — the agent now loads its configuration only from local files. The cloud-configuration path is gone, so there's one less thing to reason about.
  • Cleaner install — configuration and logs now live where each operating system expects them, and install creates the full folder layout for you (no more manual mkdir).
  • Tidier downloads — every release ships exactly one ZIP per platform, with the binary always named the same inside.

Breaking changes

  • Breaking CLI The --offline, --authentication-key and --server-url flags were removed. The agent rejects unknown flags at startup, so update your systemd ExecStart or Windows service path before upgrading — otherwise the service won't start. See the upgrade guide.
  • Breaking config The default config path moved to an OS-canonical location. Installs that pass --config-path explicitly are unaffected; installs that relied on the old default (<binary>/agent-config.yaml) must move the file or keep passing the flag.
  • Breaking packaging Releases now ship ZIP-only, one per platform, and the binary inside is always senhub-agent / senhub-agent.exe (no platform suffix). Tooling that downloads by URL must switch to senhub-agent-<os>-<arch>.zip and add an unzip step.
  • Breaking auto-update A 0.2.0+ agent cannot auto-update from a pre-0.2.0 release (the old download URL no longer exists). Upgrading from 0.1.x needs one manual replace; from 0.2.0 onward auto-update resumes normally.
OS-canonical paths — reference
OS Default config Log directory
Linux /etc/senhub-agent/agent.yaml /var/log/senhub-agent/
Windows %ProgramData%\SenHub\agent.yaml %ProgramData%\SenHub\logs
macOS /usr/local/etc/senhub-agent/agent.yaml /Library/Logs/SenHub

Improved

  • Improved install agent install now eager-creates the full layout — probes.d/, strategies.d/ and the log directory — so the first run finds everything in place.
  • Improved paths The Linux log directory moved to /var/log/senhub-agent/. Existing installs keep working (it's created on first write), and uninstall now cleans both the old and new locations.

Removed

  • Removed config The cloud/SaaS configuration path is gone — the agent is offline-only and loads its config from local YAML exclusively.

Internal

  • Internal Deleted the remote/SaaS configuration loader (641 lines) and its symbols (RemoteConfiguration, DetectAgentMode, GetServerUrl(), …). The cloud intake URL is now build-injected. Shared type names are kept for now; the rename is deferred to 0.2.1.
  • Internal test Tightened the test suite (removed mode-detection, flag-parsing and remote-config tests; added OS path helpers). make test green, go vet clean, cross-compiles on all five targets.

Upgrade guide

Upgrading from 0.1.x is a one-time manual step

Auto-update can't bridge the pre-0.2.0 → 0.2.0 gap. Follow the runbook once; afterwards auto-update works normally.

  1. Stop the senhub-agent service.
  2. Update the service definition to drop the removed flags:

    systemd unit
    - ExecStart=/usr/local/bin/senhub-agent run --offline --config-path /etc/senhub-agent/agent.yaml
    + ExecStart=/usr/local/bin/senhub-agent run --config-path /etc/senhub-agent/agent.yaml
    
    Windows service binPath
    - "C:\SenHub\senhub-agent.exe" run --offline
    + "C:\SenHub\senhub-agent.exe" run
    
  3. Config path — if you relied on the old default (<binary>/agent-config.yaml), move the file to the canonical location or keep passing --config-path.

  4. Download senhub-agent-<os>-<arch>.zip from the release.
  5. Unzip and replace the binary.
  6. Start the service.
  7. Verify with senhub-agent version and by tailing the log file.

Known follow-ups

  • The RemoteConfigurationData / RemoteConfiguration* type names will be renamed away from the "Remote" prefix in a 0.2.1 cleanup.
  • In-place auto-upgrade from 0.1.x is intentionally not supported — use the one-time manual replace above.