Files
probo/cmd/probo-agent/CHANGELOG.md
Ludovic Vielle 85864a580c Install macOS helper from PKG for XPC enroll
Browser enrollment used osascript on every elevate. Ship a signed
privileged helper installed at PKG time so probo:// can enroll over
XPC with no second admin prompt. Add make install/uninstall/clean for
local PKG test loops, and show alerts only on failure.

Mirror the Go lint path for the macOS SPM package: Make
targets, root configs, and a Linux CI job. Keep checks
syntax-only so they do not need a macOS SDK. Format the
existing sources so the new gates start clean.

Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-07-24 15:08:37 +02:00

3.1 KiB

Changelog

All notable changes to the probo-agent device posture agent will be documented in this file.

Unreleased

Added

  • macOS privileged helper (com.probo.agent.helper) embedded in Probo Agent.app and installed by PKG postinstall for XPC-driven browser enrollment (no SMJobBless / admin prompt on enroll).
  • Hidden probo-agent enroll-url --preflight JSON output for the URL handler.
  • make -C cmd/probo-agent install|uninstall|clean for local macOS PKG test loops (install tears down leftovers first).

Changed

  • Browser enrollment via Probo Agent.app uses HelperClient + XPC only (osascript elevation and enroll-time SMJobBless removed).
  • macOS PKG / app builds require CODESIGN_IDENTITY and APPLE_TEAM_ID.
  • CLI enroll-url on macOS refuses elevation; use the signed app deeplink or sudo probo-agent install.
  • macOS probo-agent uninstall requires root (sudo).
  • PKG preinstall removes stale privileged helper files on upgrade; postinstall reinstalls the helper as root.

[0.1.1] - 2026-06-11

Changed

[0.1.0] - 2026-05-26

Added

  • Initial release of the Probo device posture agent.
  • probo-agent install, uninstall, run, status, collect CLI commands.
  • Managed OS service installation for macOS (launchd), Linux (systemd), FreeBSD (rc.d), and Windows (Service Control Manager).
  • v1 posture check set per OS: disk encryption, screen lock, firewall, time sync, OS version, auto update, password policy, remote login.
  • Enrollment / heartbeat / posture reporting against the new /api/agent/v1 Probo REST API.
  • Auto-update: the agent periodically checks GitHub Releases for a newer probo-agent/v* tag and self-installs it. The running binary is swapped atomically and the OS service supervisor is asked to restart via a dedicated exit code (75).
  • Cosign signature verification of every release before installation: checksums.txt.bundle is verified with sigstore-go against the Sigstore public-good trust root, pinned to the GitHub Actions OIDC identity for release-probo-agent.yaml on a tagged commit. Releases without a Sigstore bundle, with an invalid bundle, or signed by a different workflow are rejected without touching the running binary.
  • probo-agent update [--check] command for manual one-shot upgrade.
  • probo-agent install --no-auto-update flag to opt out of automatic upgrades; the flag is persisted in config.json as updates_disabled.
  • probo-agent status now reports the configured update interval and whether auto-update is enabled.
  • Screen lock detection for additional Linux desktop environments: KDE Plasma, i3, Sway, Hyprland, Xfce, MATE, Cinnamon, UKUI, and LightDM.

Fixed

  • macOS launchd service label corrected to com.probo.agent.
  • FreeBSD check command failures are now handled before reading service status.
  • macOS postinstall script no longer uses eval to parse configuration.
  • Windows agent key file replacement is now performed atomically.
  • Windows service uninstall is now idempotent.
  • FreeBSD rc.d install validates executable and state directory paths to prevent shell injection.