Releases
v0.3.2
Compare
Sorry, something went wrong.
No results found
Changes since v0.3.0
ci(release): caffeinate npm ci and the tmux build on the mac runner
feat(canvas): tidy-canvas action to grid-pack all top-level nodes
fix(pairing): make the revoke copy true, and say when the phone loses Pro
fix(license): time out a reply whose BODY never arrives
fix(license): tell the user what the RELEASE did, and nothing false about the license
docs(CLAUDE): reconcile with current code — ~30 stale claims from the line-by-line audit
fix(pairing): revoke a legacy device's row too, and stop claiming it cannot exist
fix(pairing): removing a device now revokes its Pro, and admits when it cannot
docs(CLAUDE): keep the canvas-control skill text in sync with behaviour, same PR
feat(pairing): remember the phone's relay device id so a removal can name it
docs(agents): the send verb's help says a busy target is QUEUED, not refused
feat(settings): show the license key, the device count and a release action
fix(license): a 2xx we could not read is an error, never "0 devices"
test(license): pin the release merge — counts move, key and source do not
feat(license): token-authorized detail + release-others across the bridge
fix(notch): the panel ranks sessions, it does not race them
docs(css): the polish header carries the terminal-ancestor animation rule
fix(logs): renderer field traces keep their own [tag] — triage by chip, not by grep
fix(inbox): retain newest per-node done + unresolved ask past the 50-event cap (P2-7)
feat(ui): polish pass — enter animations for every shared shell + quiet scrollbars
feat(settings): live debug log panel — a redacted in-memory ring behind a toggle
feat(canvas): user-facing "Spawn a team…" — a conductor node, not new model plumbing
fix(hooks): the fallback walks past dead sibling tunnels to a live local endpoint
fix(usage): keep the phone's usage mirror fresh on a backgrounded desktop
fix(push): a paired phone no longer silences every SSH-only one, and ts says ms
fix(sticky): harden the verb against the review's confirmed findings
fix(hooks): move the hook payload off curl's argv (temp file, not --data-urlencode "payload=$payload")
feat(canvas): sticky verb — agents write into notes, notes render markdown
fix(notch): the capsule grows left-only — no more covering menu-bar status items
fix(usage): one threshold function + the percent-mode setting reaches every context surface
fix(terminal): truecolor end-to-end — COLORTERM + tmux RGB terminal-features
test: kill the parallel-execution flake at its mechanism, not its symptom
fix(window): leave fullscreen before hide-on-close — no more stranded black Space
feat(browser): load local file:// pages instead of googling them
feat(usage): switch the project's default Claude account from the usage pill
fix(sidebar): move keyboard focus into a session's terminal on go-to-node
feat(speech): dictation is optional — an explicit None state, nothing downloads unasked
fix(agent-hooks): gate before sourcing, drain stdin on bail, swallow sourced stdout
feat(sidebar): replace the Project/Status pill with text tabs
fix(menu): restore Reload (⌘R) and Enter Full Screen to the View menu
feat(sidebar): add an Unread status section, ordered attention → unread → running → idle → unknown
test(agents): derive the builtin list from BUILTIN_AGENT_IDS (copilot broke #245 's hardcoded list)
test(messaging): the fake agent is cat, not an interactive bash — fixes #241
fix(terminal): rebuild the renderer when the browser restores a WebGL context
fix(agents): disable 'Restart agent and shell' on relay sessions with a reason (#223 )
fix(review): worktree root guard, snap-grid bugs, dup Terminal, copilot icon, misc
fix(agents): custom agents can be the default — and a disabled claude stays un-defaulted
feat(agents): per-agent launch command override — run claude through your own wrapper
fix(sidebar): keep 'done' its own status, not attention (#230 , user decision)
fix(models): gate PID termination on agent identity + add SIGTERM grace (#226 )
fix(messaging): wire the sender-facing expiry channel, and drop the unwired forget()
revert(terminal): restore char-size-quantize (undo 8ea89aa )
fix(security): deliver gateway/custom env off-argv via tmux update-environment
test(messaging): a phone-spawned session is a valid message target, end to end
fix(security): close the env-oracle IPC pair and quote env expansion by construction
docs(messaging): record the residual risks in the code, not only in the design
feat(messaging): deliver-on-idle — a bounded queue with a TTL, and never a silent drop
feat(terminal): a bounded input buffer during wake — nothing splices into the resume line
fix(agents): thread pane ownership through the kanban modal + pin the fresh-gate
fix(agents): prove pane ownership at runtime — a project's grant cannot reach a pane it did not spawn
…and 195 more commits
You can’t perform that action at this time.