Skip to content

v0.3.2

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Aug 16:40
· 479 commits to main since this release

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