Skip to content

v0.7.5

Latest

Choose a tag to compare

@github-actions github-actions released this 21 Jul 18:11

Breaking Changes

  • Installed and linked plugins, including their enabled state, are now global to the current user instead of isolated by Herdr session. Plugins installed only in a named session on Herdr 0.7.3 must be installed or linked again. (#1174)

Added

  • Added a live-agent CLI facade with named start, atomic prompt, logical send-keys, and server-owned wait workflows. Agent startup targets an existing pane without changing topology, validates the requested interactive agent kind and strict agent name, and accepts native arguments after --.
  • Added transient declarative Agent view queries through agent.view.set/clear; filtered and sorted views now define sidebar, mobile, mouse, and agent-keybind navigation order.
  • Added one-shot plugin [[startup]] hooks for restoring plugin-owned state after server startup and live handoff.
  • Added per-token foreground, bold, and dim styling to expanded Space and Agent sidebar row layouts.
  • Added ui.sidebar_start_collapsed to launch Herdr with the sidebar collapsed. (#1463)
  • Added ui.prompt_new_workspace_name to ask for a workspace name before interactive TUI creation.
  • Added macOS support for the HERDR_AGENT=<agent> foreground-process hint, allowing agents hidden behind host-visible wrappers such as nono to use the named agent's screen manifest. (#679)

Changed

  • Agent commands now accept only a unique live agent name or the pane ID currently hosting that agent. Names are cleared when the occupant exits, is released, or is replaced. The old top-level wait commands were replaced by agent wait and pane wait-output, and agent send was replaced by agent send-keys.
  • The session navigator now uses connected tree glyphs, groups matches by workspace, and automatically selects the first result when a search begins. (#1611)

Fixed

  • CLI requests now return a machine-readable protocol_mismatch error when the client and server protocols differ, while recovery commands remain available. (#1435)
  • Linux sound notifications now terminate and reap audio players that do not exit, preventing unavailable audio from leaving CPU-bound mpg123 processes behind. (#1622)
  • Oversized bracketed text pastes are now rejected with a client-local notification instead of disconnecting the client. (#1665)
  • Agent prompt waits now report agent_prompt_stalled after five seconds without an observed state change instead of waiting indefinitely after an ineffective submission.
  • herdr config check now reports unknown config keys with their full paths instead of treating ignored typos as valid configuration. (#1573)
  • Codex panes with customized static terminal titles now fall back to the live working footer instead of remaining idle, while OSC activity remains preferred. (#1563)
  • Grok panes now preserve working and blocked state from terminal signals and pinned background-work status instead of falling back to idle mid-turn.
  • OpenCode lifecycle reports are now serialized so out-of-order plugin events cannot leave an idle pane marked working. (#1519)
  • Kimi question prompts now report blocked until the user answers or dismisses them.
  • Pi lifecycle reporting now uses settled events, preventing transient message boundaries from publishing an idle state mid-turn.
  • The Pi, OMP, OpenCode, and Kilo Code integrations can now be installed on Windows and report lifecycle state and native session identity through Herdr's named-pipe API. (#1531)
  • Named agent prompts now honor live bracketed-paste mode before sending Enter, preserving OpenCode text such as A != B instead of triggering shell mode. (#1525)
  • New panes, tabs, layouts, and workspaces using new_cwd = "follow" now inherit the foreground process-group leader's working directory instead of an unrelated helper process directory. (#1472)
  • Cached pane working directories no longer trigger repeated filesystem checks, avoiding slow sidebar rendering on network filesystems such as Ceph. (#1603)
  • Windows foreground-process snapshots are now shared across panes, reducing idle CPU use in sessions with many panes. (#1158)
  • Terminal diff streams now batch contiguous writes, reducing the visible wave effect while scrolling pane history. (#283)
  • A standalone Escape arriving beside another key is now preserved as its own input instead of being combined into a fabricated Alt chord. (#541)
  • Pane viewports that were following live output now continue following after a resize.
  • Mouse selections now remain visible when ui.copy_on_select = false while clipboard writes stay disabled. (#1471)
  • Workspace close confirmation now shows the current workspace name instead of a stale or unrelated label. (#1364)
  • Plugin command arrays now preserve whitespace-only arguments. (#1594, #1613)
  • Plugins can now be installed or linked while no Herdr server is running. (#1670)
  • Remote attach now discovers Herdr installed in mise's canonical tool path before offering to install a sidecar binary. (#1201)
  • Noninteractive update, plugin, integration, sound, custom-command, and Git subprocesses no longer flash console windows on Windows. (#1468)
  • Live handoff now preserves installed plugins and no longer lets the next plugin installation overwrite the existing registry. (#893)
  • herdr agent wait now returns agent_not_running promptly when its target pane closes instead of waiting for the full timeout. (#1439)
  • Pane graphics streams now shut down cleanly when a client disconnect races stream teardown.