Repository navigation
Releases: baixianger/pharos
Release list
Pharos 0.11.1
macOS
- New window tabs paint their title immediately — opening a tab (⌘T / the tab bar
+) left the top-left title blank for ~8–10s. The title string was set within ~1.5s; SwiftUI was deferring the first layout ofnavigationTitleon a freshly created tab until some later update pass, so it only appeared when an unrelated async state change forced a relayout. The title now comes from AppKit and paints with the window's first frame. Measured on a new tab: 9.3s → 1.5s. /clearno longer strands an agent in the mesh — mesh membership is keyed on the Claude Code session id, and/clearmints a new one. The old session was markedgoneand the live session could never re-bind, so a working agent vanished from the roster while its heartbeats were silently dropped. Membership now follows the physical tmux seat:SessionEnddistinguishes a/clearrestart from a real exit, and the successor reclaims the predecessor's rooms, mailbox and presence (with a lazy fallback if the broker was unreachable at that moment).- Chat rooms open on the newest message — the transcript opened scrolled part-way up and could stay there. Auto-scroll only fired when the message count changed, which never happens on first render, and anchoring to the bottom raced the Markdown content's real height. The transcript now uses an inverted layout, so the newest message sits at the scroll's natural resting position by construction.
- Agent skill: staying on task in a busy room — the bundled
meshskill gained guidance for agents working in a shared room: write the task down before replying, claim work before starting it, triage incoming messages instead of reacting to the newest one, and delegate the separable — not the core.
The Linux mesh-broker (pharos-mesh) gains the session-rebind support above; upgrade it alongside the app if you run one.
Pharos-0.11.1.dmg is Developer ID–signed, notarized, and stapled — it opens with no Gatekeeper prompt.
Pharos 0.11.0
macOS
- IME-safe chat composer — Enter sends, Shift+Enter inserts a newline, and Chinese/Japanese IME candidate confirmation with Enter now works correctly (no accidental send, no split/duplicate messages). Multi-line auto-height. Rebuilt on
NSTextViewso the field editor confirms IME composition natively. - Chat polish — the @mention list hides gone members, drag-and-drop files onto a room to attach them, a discoverable side-aware reply button on the message row, and a one-tap @mention member strip.
- UI tidy — redundant single-group section headers are hidden in Projects/Agents (a lone group just echoed the filter); new window tabs are titled immediately instead of flashing empty→"Pharos".
The Linux mesh-broker (pharos-mesh) is unchanged from 0.10.0.
Pharos-0.11.0.dmg is Developer ID–signed, notarized, and stapled — it opens with no Gatekeeper prompt.
Pharos 0.10.0
Mesh sender identity upgrade
- Adds pharos mesh send, which automatically uses the current agent session.
- Broker derives the room-scoped sender nickname from joined session membership.
- A session in exactly one room may omit the room; multi-room sessions must specify --room.
- Unregistered agent nickname spoofing is rejected.
- recv can resolve the current session without a nickname.
- Updates macOS, iOS project metadata, Linux amd64/arm64 packages, and the signed APT repository.
Breaking change: agent sends now require a joined member/session identity. Upgrade broker, node, and desktop CLI together.
Pharos 0.9.5
Full Changelog: v0.9.4...v0.9.5
Pharos 0.9.4
Full Changelog: v0.9.3...v0.9.4
Pharos 0.9.3
Full Changelog: v0.9.2...v0.9.3
Pharos 0.9.2
Full Changelog: v0.9.1...v0.9.2
Pharos 0.9.1
Full Changelog: v0.9.0...v0.9.1
Pharos 0.9.0
What's Changed
- Fix agent CLI resolution for login-shell environments by @chen-si-tong in #1
New Contributors
- @chen-si-tong made their first contribution in #1
Full Changelog: v0.7.0...v0.9.0
Pharos 0.7.0
Persistent cross-platform Mesh. The broker and wire protocol now live in a
portable PharosMeshCore, with a standalone pharos-mesh executable for Linux
servers. Messages receive stable IDs, replies retain a safe preview of their
target, and image/PDF attachments use checksum-verified binary transfer with a
25 MiB limit and atomic storage.
Native group-chat interaction. macOS and iPhone chat views add quoted reply
cards, attachment pickers, previews and downloads, plus a more compact
Slack/Discord-inspired room and message layout. Legacy transcripts remain
readable without migration.
Always-on personal Broker. macOS can target an explicit headless Tailscale
endpoint instead of electing one of the paired Macs as Hub. The Linux service is
hardened with systemd, persists transcripts and files under
/var/lib/pharos-mesh, and needs none of the AppKit/project-launching CLI.
Linux Release and APT automation. GitHub Releases build signed amd64 and
arm64 Debian packages, publish checksums, and deploy a signed APT repository
through GitHub Pages so Ubuntu/Debian users can install and upgrade with apt.