Skip to content

v0.4.5

Choose a tag to compare

@github-actions github-actions released this 15 Oct 21:12
· 283 commits to main since this release
c97c1a7

Vox v0.4.5 makes multi-computer agent work easier to set up and keeps each conversation scoped to its repository.

  • Computer trust: pair computers while retaining individual node trust. Computer-level trust covers managed nodes and tracks changes to that group. Remote node names become the suggested local names; your own aliases remain yours.
  • Agent coordination: ordinary room questions reach every eligible agent session in that repository’s room. Claude and OpenCode receive them through their existing live sessions while preserving drafts and waiting behind active work. Codex receives them on its next ordinary turn; the interface states that limit explicitly.
  • Clear delivery status: private Session views distinguish pending delivery, observed delivery, replies, and unavailable or uncertain delivery. One agent’s answer does not settle the question for another eligible session.
  • Session boundaries: a session stays in its repository’s room and retains its own node identity when coordination fails. Session records and tool steps remain limited to members granted drive.
  • Setup and rooms: set up agent nodes from Vox.app, keep passphrases outside agent sessions, manage computer and room anchors, and use direct connections where no anchor is needed.
  • Room interface: a visible composer, General and Session tabs, reply threads, member work, pause controls, and message selection and copy.
  • Recovery and history: recover room contents after interrupted connections and keep history on disk with bounded live node and daemon state.
  • Commands: copied app links and service commands are quoted for zsh and bash.

This release provides Linux x86_64 vox and Apple Silicon vox and Vox.app. The macOS artifacts are Developer ID signed and notarized, and Vox.app is stapled. Checksums, update records, and signing receipts accompany the downloads.

The 70 stories in the v0.4.5 release milestone have independent acceptance. The exact tagged main commit must pass CI before publication; release packaging does not repeat the accepted product journeys.

What's Changed

Full Changelog: v0.4.4...v0.4.5

Work items delivered

  • #637 The composer shows who you post as
  • #677 Granting trust or drive is confirmed by the person, never by an agent's process
  • #683 A room opens at General, ending a room has its own sheet, and text reads like a chat app
  • #684 App and screen proofs run in a macOS VM, so the person keeps the use of their Mac while they run
  • #685 One command runs the proofs a change reaches, and the same command runs the full suite
  • #720 Installing or updating Vox wires a quiet Vox hook into every harness, and says which files it changed
  • #721 A harness with no node is told once what to do next, and Vox.app offers Set Up or Not Now
  • #722 vox agent setup makes an agent's node, named -, and swaps in its hook
  • #723 On a Mac, an agent's node is made in Vox.app's own window, and the passphrase never reaches the agent
  • #724 Nodes on this Mac read each other, and your node drives them, with no click and no passphrase
  • #726 A node from another machine shows as a new member with Trust and Dismiss, not in General
  • #727 A repo with no room opens a dialog in Vox.app: Create Room, Choose a Room, or Not This Repo, once per repository
  • #728 Without Vox.app, the hook says how to create a room for this repo or paste an existing room's link
  • #729 A session that works in no room is never given another room's news
  • #730 Each node is shown Ready or Locked, and no other word names it
  • #731 Unlock… always remembers the node, and every remembered node comes back Ready after a restart, update or reboot
  • #732 Forget locks a node and forgets what brings it back, and keeps its rooms and messages
  • #733 vox node unlock and vox node lock replace attach and detach, which still work and print the new verb
  • #734 Only a keyring change asks for the keyring passphrase; creating, joining, binding and leaving a room never do
  • #735 In Vox.app, a keyring change asks right then in a sheet that names the change
  • #736 When an agent joins, General shows one line naming it and where it works, its Session opens as a tab, and nothing notifies
  • #737 An agent is told at its next turn that it joined, which room, and who reads it
  • #738 Measure published v0.4.4 compatibility with v0.4.5 sealed Session records and drive-only steps
  • #739 A member you have not given drive sees none of your Sessions and cannot address them
  • #740 A Session's opening and end records are sealed, so a member without drive cannot read them from its own copy
  • #744 Every command Vox hands you runs as printed when pasted into zsh or bash
  • #745 Every fingerprint field takes both the bare and the grouped form
  • #753 Reply in Thread: any message in General can start a thread, from the app, the TUI or vox room post --re
  • #754 General shows a thread's reply count, who replied and when, and opens the thread in the right panel
  • #755 A thread's replies come as news only to the agents in it, labelled by the thread
  • #756 A reply keeps its thread's task:, project: and milestone: tags by itself
  • #757 Pause and resume a room, a node or a selection of nodes, from the app, the TUI or vox room pause
  • #758 A pause applies only where you can drive, and names each node it did not pause and why
  • #759 A pause holds across restarts and shows Paused, by whom and when
  • #760 A room's row shows @ for a message to you and @! when it is urgent or someone waits on you
  • #761 The composer is one slim, visible line, and @name and ! address a member and mark urgent
  • #762 The TUI's composer takes @name and ! the same way
  • #763 The room's top line is its tab row: name, members, General and a tab per Session you can drive
  • #764 In a Session, each tool step folds to one line, and replies, questions and approvals show in full
  • #765 The right panel shows only the room's members or the open thread
  • #766 No "Next Room That Needs You": the list's marks show it, and the family LAN control moves into a menu
  • #767 The sidebar's foot shows this Mac's nodes as Ready or Locked, and Keyring, Decision Record and Services move into a menu
  • #768 The TUI shows the same regions: tab row, General, threads, members and marks
  • #769 The members panel shows who holds what and who waits on whom, from the room's own claims
  • #778 Nothing waits on, fails on or blames an anchor a directly reachable peer did not need
  • #779 Each machine keeps one anchor list, dialled by every node, each entry with its sources
  • #781 A room carries its own anchors, set by a signed governance entry and dialled by every member
  • #782 Creating a room can search the local network for an anchor, and only a real anchor's answer is kept
  • #783 Only the room's creator or an admin can change its anchors, from the room menu or vox room anchors
  • #784 vox anchor add, list and remove, and Settings › Network, keep an anchor for this machine
  • #785 A room's link carries only the room's own anchors, shown when the room is created
  • #786 Settings, vox anchor list and vox status show each anchor's reach from real dials
  • #787 A Session's steps are sent, synced and stored only on its node and the members it lets drive
  • #794 Agents use the Vox skill in real work without repeated prompting
  • #795 Each repository session keeps its conversation and work claims inside its own room
  • #796 A node presents its name with its fingerprint, and trust uses that name by default
  • #798 Define authenticated computer pairing, group updates and current-data protection
  • #799 Pair a Mac and another computer once, while keeping individual node trust available
  • #800 Adding a computer through one member makes it trusted by the whole computer group
  • #801 Computer trust follows managed nodes and the node selected in Vox.app
  • #802 Removing a computer revokes all trust in its nodes throughout the remaining group
  • #804 Policy-withheld Session steps never appear as missing messages in General
  • #812 Room messages without agent metadata reach all relevant agents without @mentions
  • #823 Same-root clients reach one daemon regardless of TMPDIR
  • #826 Room contents intermittently go blank and later repopulate
  • #831 App distinguishes a daemon startup refusal from an unreachable daemon
  • #851 Dragging across messages selects and copies their rows
  • #861 Keep the session’s own Vox identity when its daemon or network fails
  • #862 Keep the daemon responsive during sustained multi-node room activity
  • #872 Bound node and daemon memory while retaining room history on disk