TL;DR
Two months of UX improvements distilled: direct messages between sessions (/notify), automatic surfacing of warning/urgent notifications on the recipient's next prompt (no manual /inbox needed), auto-refresh of the session branch on git checkout, and Node 24/26 support via better-sqlite3 v12.
Features
- Targeted notifications (#19) —
to_sessionfield for direct messages between two sessions, plus a 3-level priority (info/warning/urgent). New/notifyslash command. Inbox supports--peek,--min-priority,--to,--priorityflags. - Auto-surfacing (#19, #23) — direct messages and
warning/urgentbroadcasts now appear in the recipient session's next prompt automatically. No more relying on the user remembering to type/inbox. Identity resolution uses a newclient_session_idmapping (#23). - Auto-refresh branch on
git checkout(#20, closes #13) — the session's stored branch is updated transparently between two prompts. Newclaude-presence refresh-branchCLI subcommand.
Fixes
- TTL session 7d → 24h (#18) — keep the registry uncluttered while surviving overnight pauses.
- Migration index order (#21) — index creation on a column added by
ALTER TABLEnow happens insidemigrateInbox(), not inSCHEMA_SQL. Fixes a hard crash for users upgrading from v0.2.1.
Chores
- better-sqlite3 v11 → v12 (#22) — supports Node 20-26. Node 18 dropped from the CI matrix (already EOL upstream).
engines.nodeis now>=20. - Security: pinned
fast-uri >= 3.1.2to clear two HIGH CVEs reported by Trivy (path traversal + normalize() bypass).
Full changelog: v0.2.1...v0.2.2