Changelog
Features
- 54b4a68 feat(hermes): record on the cursor whether a session's ids are keyed by home
- 43ade3e feat(hermes): show sessions keyed by home in hermes status
- 04ef1d4 feat(sessionsync): add a locked read-modify-write for shared state files
Bug Fixes
- f26a931 fix(ci): override inherited per-signal OTLP routing (#1128)
- a916603 fix(ci): retain uploads from every workflow session (#1125)
- 30f7c29 fix(codex): one originator-to-surface mapping for live capture, import and usage (#1141)
- 2138970 fix(collector): tell Codex CLI from Desktop by originator (#1099)
- 7992919 fix(git): time share uploads with the hook's clock (#1139)
- 433ddf8 fix(gitlink): link symlinks a session creates, not their targets (#1142)
- 17a5c8d fix(gitlink): preserve whitespace in worktree and evidence paths (#1112)
- 3d8b288 fix(hermes): keep event ids when a profile is renamed or moved (#1137)
- 10aec32 fix(hermes): key a cloned profile's event ids by its home
- bbb2e58 fix(hermes): key a cloned profile's event ids by its home (#1098)
- 5c79f39 fix(hooks): record each Cursor IDE event once (#1100)
- 199955e fix(localingest): reject malformed trailing JSON delimiters (#1124)
- 6962c4d fix(mcp): preserve numeric request IDs without rounding (#1126)
- 86a3551 fix(privacy): sanitize gen_ai blocks holding values JSON cannot represent (#1146)
- ade6f5a fix(privacy): sanitize values of every type in SanitizeMap (#1151)
- 2dfb9b8 fix(shellcmd): track ln destinations when link name is omitted (#1111)
Other
- 7d7e739 auth: add a Go to dashboard button to the sign-in success page
- b546b9a auth: add a Go to dashboard button to the sign-in success page (#1133)
- f11afc8 auth: link the sign-in page button to /dashboard, not the site root
- 0f39026 docs(changelog): unreleased fixes from #1098–#1142 (#1145)
- 6ed31fc docs(hermes): explain how event ids stay unique across cloned profiles
- 2e84b05 docs(hermes): name the session home file in the --state help
- 722e582 perf(redaction): find every rule's needles in one pass and run patterns only where they can match (#1143)
- ef45d33 perf(sanitize): sanitize typed event fields without JSON round trips (#1144)
- b2bd82d perf(threat-rules): compile constant matches() patterns once (#1138)
- 2126f80 refactor(hermes): let the mapper key event ids by a Hermes home
- e25f324 refactor(hooks): one hook-command recogniser for installer and Cursor dedupe (#1140)
- c519628 test(git-hooks): keep the abandoned-upload test off the note-write timer (#1152)
- 3d7004c test(hermes): a dry run claims no session for its home
- 1cbc663 test(hermes): a session only one home holds keeps its event ids
- 38091c4 test(hermes): an unreadable session home file stops the sweep
- 6120c61 test(hermes): every home's default cursor shares one session home file
- fcad237 test(hermes): homes syncing one session at once claim it for one home
- b4351d8 test(hermes): keep the unkeyed ids of sessions two homes already collected
- 5cda7d9 test(hermes): pin the event ids a sync derives
- 648ee7a test(localingest): assert a remembered send failure skips the socket, not elapsed time (#1150)
- b112457 threat-rules: one egress sender check across egress rules (parsed_commands) (#1113)
Installation
Homebrew (macOS/Linux)
brew update
brew trust asymptote-labs/tap
brew tap asymptote-labs/tap
brew install beaconLinux (Debian, Ubuntu, Fedora, RHEL)
curl -fsSL https://github.com/asymptote-labs/agent-beacon/releases/download/v1.3.51/install.sh | BEACON_VERSION=1.3.51 bashManual Download
Download the appropriate archive for your platform from the assets below, extract it, and add the binary to your PATH.
Quick Start
beacon endpoint install
beacon endpoint status
beacon endpoint wazuh print-configThreat detection rules
beacon ships with a small built-in baseline. Install the full threat-rule
pack (attached as threat-rules.tar.gz below) and scan your local telemetry:
beacon rules pull https://github.com/asymptote-labs/agent-beacon/releases/download/v1.3.51/threat-rules.tar.gz
beacon rules list
beacon scan