Skip to content

Releases: iRonin/herdr

v0.7.5-ironin.5

Choose a tag to compare

@iRonin iRonin released this 30 Jul 14:21

iRonin fork of herdr — rebased onto upstream v0.7.5.

Opt-in features (all default to stock behavior; each gated by a config key):

  • ui.tab_bar_wrap — wrap tabs onto multiple rows
  • ui.show_scrollbar — always / auto / never
  • ui.agent_panel_scope + ui.agent_panel_modes — scope/sort the agents panel
  • ui.tab_agent_status — agent status indicator on top tabs (incl. hook-only agents)
  • ui.tab_agent_context — context-usage % suffix on top tabs (mirrors the Agents-pane value)
  • ui.tab_close_button — Alt-click the x at the end of a tab's label to close it
  • blocked agents get a read/acknowledged sub-state (any direct input marks read; hollow red dot)
  • ui.prompt_new_tab_name + Alt-click new-tab inversion
  • resume replays recorded launch_argv
  • reused-pane agent detection fix (hook-only graceful-restart reacquisition)
  • session.stop_timeout_ms — configurable server-stop wait (default 15000)
  • herdr server restart — stop→start→attach, with same-pane guard
  • project-local .herdr/settings.toml [workspace] name — pin/persist the workspace label
  • in-UI iRonin fork banner on startup

Prior releases preserved: v0.7.3-ironin.1, v0.7.3-ironin.2, v0.7.4-ironin.1, v0.7.4-ironin.2, v0.7.5-ironin.1, v0.7.5-ironin.2, v0.7.5-ironin.3, v0.7.5-ironin.4.

Build from source

git clone https://github.com/iRonin/herdr.git && cd herdr
git checkout ronin-release   # 0.7.5 base + all opt-in features
cargo build --release        # binary: target/release/herdr

New in v0.7.5-ironin.2

ui.tab_agent_context (default off) — appends the highest-attention agent's context-window usage as a N% / ~N% suffix on its top tab, mirroring exactly the value shown in the Agents pane (single source of truth, tolerant internal extraction). Same tab-selection as ui.tab_agent_status; width flows correctly through single-row and wrapped layouts, hit-testing, and scrolling. Fully herdr-internal — no reporter, token, or protocol change.

[ui]
tab_agent_context = true

New in .3:

  • auto-read completions for panes carrying the auto_read metadata token (feat/agent-auto-read): a pane whose agent reports the token declares its completions need no attention — completion marks the pane seen and skips the finished toast/sound (blocked still notifies). For unattended supervised sub-agents.
  • test: workspace-id length assertion made suite-size independent (was breaking the serial suite past the base32 boundary).

New in v0.7.5-ironin.4

ui.tab_close_button (default off) — renders an x in the last cell of every tab label in the desktop tab bar. Alt/Option-click the x to close that tab immediately, without a confirmation prompt; clicking it without Alt activates the tab as usual, and Alt-clicking anywhere else on the label keeps the normal press/drag behavior. Works on background tabs without switching focus first. Closing the last tab of a workspace closes the workspace and still honors the worktree-group confirmation (ui.confirm_close). Long tab names truncate so the marker always lands on the last cell; composes with ui.tab_bar_wrap, ui.tab_agent_status, and ui.tab_agent_context.

[ui]
tab_close_button = true

New in v0.7.5-ironin.5

Blocked-agent read/acknowledged sub-state (feat/blocked-read, previously unreleased) — a blocked (needs-attention) agent now mirrors the idle done/read distinction. A pane that blocks while you are looking at it is immediately read; one that blocks in a background/unfocused tab stays unread until you interact with it. Any direct input to a blocked pane — keystroke, paste, or a command such as /rewind — acknowledges it: it renders as a hollow red dot, drops out of the attention sort and the navigator Blocked filter, and stops counting in activity summaries, while still being blocked rather than idle. Also: submitting /compact to an agent pane optimistically shows it as Working for up to 90s (compaction performs work without emitting a lifecycle event). No config key; the new semantics are the default.

v0.7.5-ironin.4

Choose a tag to compare

@iRonin iRonin released this 29 Jul 20:03

iRonin fork of herdr — rebased onto upstream v0.7.5.

Opt-in features (all default to stock behavior; each gated by a config key):

  • ui.tab_bar_wrap — wrap tabs onto multiple rows
  • ui.show_scrollbar — always / auto / never
  • ui.agent_panel_scope + ui.agent_panel_modes — scope/sort the agents panel
  • ui.tab_agent_status — agent status indicator on top tabs (incl. hook-only agents)
  • ui.tab_agent_context — context-usage % suffix on top tabs (mirrors the Agents-pane value)
  • ui.tab_close_button — Alt-click the x at the end of a tab's label to close it
  • ui.prompt_new_tab_name + Alt-click new-tab inversion
  • resume replays recorded launch_argv
  • reused-pane agent detection fix (hook-only graceful-restart reacquisition)
  • session.stop_timeout_ms — configurable server-stop wait (default 15000)
  • herdr server restart — stop→start→attach, with same-pane guard
  • project-local .herdr/settings.toml [workspace] name — pin/persist the workspace label
  • in-UI iRonin fork banner on startup

Prior releases preserved: v0.7.3-ironin.1, v0.7.3-ironin.2, v0.7.4-ironin.1, v0.7.4-ironin.2, v0.7.5-ironin.1, v0.7.5-ironin.2, v0.7.5-ironin.3.

Build from source

git clone https://github.com/iRonin/herdr.git && cd herdr
git checkout ronin-release   # 0.7.5 base + all opt-in features
cargo build --release        # binary: target/release/herdr

New in v0.7.5-ironin.2

ui.tab_agent_context (default off) — appends the highest-attention agent's context-window usage as a N% / ~N% suffix on its top tab, mirroring exactly the value shown in the Agents pane (single source of truth, tolerant internal extraction). Same tab-selection as ui.tab_agent_status; width flows correctly through single-row and wrapped layouts, hit-testing, and scrolling. Fully herdr-internal — no reporter, token, or protocol change.

[ui]
tab_agent_context = true

New in .3:

  • auto-read completions for panes carrying the auto_read metadata token (feat/agent-auto-read): a pane whose agent reports the token declares its completions need no attention — completion marks the pane seen and skips the finished toast/sound (blocked still notifies). For unattended supervised sub-agents.
  • test: workspace-id length assertion made suite-size independent (was breaking the serial suite past the base32 boundary).

New in v0.7.5-ironin.4

ui.tab_close_button (default off) — renders an x in the last cell of every tab label in the desktop tab bar. Alt/Option-click the x to close that tab immediately, without a confirmation prompt; clicking it without Alt activates the tab as usual, and Alt-clicking anywhere else on the label keeps the normal press/drag behavior. Works on background tabs without switching focus first. Closing the last tab of a workspace closes the workspace and still honors the worktree-group confirmation (ui.confirm_close). Long tab names truncate so the marker always lands on the last cell; composes with ui.tab_bar_wrap, ui.tab_agent_status, and ui.tab_agent_context.

[ui]
tab_close_button = true

v0.7.5-ironin.3

Choose a tag to compare

@iRonin iRonin released this 28 Jul 16:06

iRonin fork of herdr — rebased onto upstream v0.7.5.

Opt-in features (all default to stock behavior; each gated by a config key):

  • ui.tab_bar_wrap — wrap tabs onto multiple rows
  • ui.show_scrollbar — always / auto / never
  • ui.agent_panel_scope + ui.agent_panel_modes — scope/sort the agents panel
  • ui.tab_agent_status — agent status indicator on top tabs (incl. hook-only agents)
  • ui.tab_agent_context — context-usage % suffix on top tabs (mirrors the Agents-pane value)
  • ui.prompt_new_tab_name + Alt-click new-tab inversion
  • resume replays recorded launch_argv
  • reused-pane agent detection fix (hook-only graceful-restart reacquisition)
  • session.stop_timeout_ms — configurable server-stop wait (default 15000)
  • herdr server restart — stop→start→attach, with same-pane guard
  • project-local .herdr/settings.toml [workspace] name — pin/persist the workspace label
  • in-UI iRonin fork banner on startup

Prior releases preserved: v0.7.3-ironin.1, v0.7.3-ironin.2, v0.7.4-ironin.1, v0.7.4-ironin.2, v0.7.5-ironin.1.

Build from source

git clone https://github.com/iRonin/herdr.git && cd herdr
git checkout ronin-release   # 0.7.5 base + all opt-in features
cargo build --release        # binary: target/release/herdr

New in v0.7.5-ironin.2

ui.tab_agent_context (default off) — appends the highest-attention agent's context-window usage as a N% / ~N% suffix on its top tab, mirroring exactly the value shown in the Agents pane (single source of truth, tolerant internal extraction). Same tab-selection as ui.tab_agent_status; width flows correctly through single-row and wrapped layouts, hit-testing, and scrolling. Fully herdr-internal — no reporter, token, or protocol change.

[ui]
tab_agent_context = true

New in .3:

  • auto-read completions for panes carrying the auto_read metadata token (feat/agent-auto-read): a pane whose agent reports the token declares its completions need no attention — completion marks the pane seen and skips the finished toast/sound (blocked still notifies). For unattended supervised sub-agents.
  • test: workspace-id length assertion made suite-size independent (was breaking the serial suite past the base32 boundary).

v0.7.5-ironin.2

Choose a tag to compare

@iRonin iRonin released this 22 Jul 15:33

iRonin fork of herdr — rebased onto upstream v0.7.5.

Opt-in features (all default to stock behavior; each gated by a config key):

  • ui.tab_bar_wrap — wrap tabs onto multiple rows
  • ui.show_scrollbar — always / auto / never
  • ui.agent_panel_scope + ui.agent_panel_modes — scope/sort the agents panel
  • ui.tab_agent_status — agent status indicator on top tabs (incl. hook-only agents)
  • ui.tab_agent_context — context-usage % suffix on top tabs (mirrors the Agents-pane value)
  • ui.prompt_new_tab_name + Alt-click new-tab inversion
  • resume replays recorded launch_argv
  • reused-pane agent detection fix (hook-only graceful-restart reacquisition)
  • session.stop_timeout_ms — configurable server-stop wait (default 15000)
  • herdr server restart — stop→start→attach, with same-pane guard
  • project-local .herdr/settings.toml [workspace] name — pin/persist the workspace label
  • in-UI iRonin fork banner on startup

Prior releases preserved: v0.7.3-ironin.1, v0.7.3-ironin.2, v0.7.4-ironin.1, v0.7.4-ironin.2, v0.7.5-ironin.1.

Build from source

git clone https://github.com/iRonin/herdr.git && cd herdr
git checkout ronin-release   # 0.7.5 base + all opt-in features
cargo build --release        # binary: target/release/herdr

New in v0.7.5-ironin.2

ui.tab_agent_context (default off) — appends the highest-attention agent's context-window usage as a N% / ~N% suffix on its top tab, mirroring exactly the value shown in the Agents pane (single source of truth, tolerant internal extraction). Same tab-selection as ui.tab_agent_status; width flows correctly through single-row and wrapped layouts, hit-testing, and scrolling. Fully herdr-internal — no reporter, token, or protocol change.

[ui]
tab_agent_context = true

v0.7.5-ironin.1

Choose a tag to compare

@iRonin iRonin released this 22 Jul 10:07

iRonin fork of herdr — rebased onto upstream v0.7.5.

Opt-in features (all default to stock behavior; each gated by a config key):

  • ui.tab_bar_wrap — wrap tabs onto multiple rows
  • ui.show_scrollbar — always / auto / never
  • ui.agent_panel_scope + ui.agent_panel_modes — scope/sort the agents panel
  • ui.tab_agent_status — agent status indicator on top tabs (incl. hook-only agents)
  • ui.prompt_new_tab_name + Alt-click new-tab inversion
  • resume replays recorded launch_argv
  • reused-pane agent detection fix (hook-only graceful-restart reacquisition)
  • session.stop_timeout_ms — configurable server-stop wait (default 15000)
  • herdr server restart — stop→start→attach, with same-pane guard
  • project-local .herdr/settings.toml [workspace] name — pin/persist the workspace label
  • in-UI iRonin fork banner on startup

Prior releases preserved: v0.7.3-ironin.1, v0.7.3-ironin.2, v0.7.4-ironin.1, v0.7.4-ironin.2.

Build from source

git clone https://github.com/iRonin/herdr.git && cd herdr
git checkout ronin-release   # 0.7.5 base + all opt-in features
cargo build --release        # binary: target/release/herdr

Enable the workspace filter in ~/.config/herdr/config.toml:

[ui]
agent_panel_scope = "current"

New in v0.7.5-ironin.1

Rebased onto upstream herdr v0.7.5 (55 commits past v0.7.4). All 11 fork features were reconstructed and retained — some applied cleanly, others re-expressed onto v0.7.5's refactored tab-surface, agent-ownership, and resume flows.

  • Protocol 16 → 17. A mismatched shim/server now errors loudly instead of coexisting silently — when upgrading, restart your shim and running servers together.
  • Verified: scrub-clean published surface, config-reference in sync, full serial suite green (2858 tests + the one documented flake, which passes in isolation).

v0.7.4-ironin.2

Choose a tag to compare

@iRonin iRonin released this 21 Jul 16:52

iRonin fork of herdr — rebased onto upstream v0.7.4.

Opt-in features (all default to stock behavior; each gated by a config key):

  • ui.tab_bar_wrap — wrap tabs onto multiple rows
  • ui.show_scrollbar — always / auto / never
  • ui.agent_panel_scope + ui.agent_panel_modes — scope/sort the agents panel
  • ui.tab_agent_status — agent status indicator on top tabs (incl. hook-only agents)
  • ui.prompt_new_tab_name + Alt-click new-tab inversion
  • resume replays recorded launch_argv
  • reused-pane agent detection fix (hook-only graceful-restart reacquisition)
  • session.stop_timeout_ms — configurable server-stop wait (default 15000)
  • herdr server restart — stop→start→attach, with same-pane guard
  • in-UI iRonin fork banner on startup

Prior releases preserved: v0.7.3-ironin.1, v0.7.3-ironin.2.

Build from source

git clone https://github.com/iRonin/herdr.git && cd herdr
git checkout ronin-release   # 0.7.4 base + all opt-in features
cargo build --release        # binary: target/release/herdr

Enable the workspace filter in ~/.config/herdr/config.toml:

[ui]
agent_panel_scope = "current"

New in v0.7.4-ironin.2

Project-local workspace naming via .herdr/settings.toml. A project can pin its workspace label with a settings file committed to the repo — shared across machines, clones, and teammates, and it survives a session reset:

# .herdr/settings.toml
[workspace]
name = "my-project"
  • Read-path: derive_label_from_cwd resolves [workspace] name first, walking up from the pane cwd (capped at the repo root). When the file is absent or malformed it falls through to the default (git repo-root name, else cwd leaf), so behavior is unchanged without the file.
  • Write-back: renaming a workspace (in-app or via workspace.rename) now persists [workspace] name to the nearest .herdr/settings.toml, creating one at the repository root if none exists. Other keys are preserved and the write is best-effort (a read-only checkout never blocks the rename).

v0.7.4-ironin.1

Choose a tag to compare

@iRonin iRonin released this 16 Jul 19:30

iRonin fork of herdr — rebased onto upstream v0.7.4.

Opt-in features (all default to stock behavior; each gated by a config key):

  • ui.tab_bar_wrap — wrap tabs onto multiple rows
  • ui.show_scrollbar — always / auto / never
  • ui.agent_panel_scope + ui.agent_panel_modes — scope/sort the agents panel
  • ui.tab_agent_status — agent status indicator on top tabs (incl. hook-only agents)
  • ui.prompt_new_tab_name + Alt-click new-tab inversion
  • resume replays recorded launch_argv
  • reused-pane agent detection fix (hook-only graceful-restart reacquisition)
  • session.stop_timeout_ms — configurable server-stop wait (default 15000)
  • herdr server restart — stop→start→attach, with same-pane guard
  • in-UI iRonin fork banner on startup

Prior releases preserved: v0.7.3-ironin.1, v0.7.3-ironin.2.

Build from source

git clone https://github.com/iRonin/herdr.git && cd herdr
git checkout ronin-release   # 0.7.4 base + all opt-in features
cargo build --release        # binary: target/release/herdr

Enable the workspace filter in ~/.config/herdr/config.toml:

[ui]
agent_panel_scope = "current"

herdr v0.7.3-ironin.2 — 7 opt-in additions + fixes

Choose a tag to compare

@iRonin iRonin released this 12 Jul 00:11

Combined opt-in feature set on top of herdr 0.7.3. Every feature is off by default and gated behind a config key — a stock herdr config behaves identically to upstream. Branch: ronin-release; each feature is also a standalone single-commit branch for upstreaming.

Features

Feature Config key Branch Upstream discussion
Wrap tabs onto multiple rows ui.tab_bar_wrap feat/wrap-tabs herdrdev#697
Scrollbar visibility (always/auto/never; auto-hide) ui.show_scrollbar feat/scrollbar-toggle herdrdev#743
Filter + sort the agents panel by workspace; configurable toggle cycle ui.agent_panel_scope, ui.agent_panel_modes feat/agent-panel-scope herdrdev#859
Agent status indicator on the top tabs (identical glyphs to the agents panel) ui.tab_agent_status feat/tab-agent-status herdrdev#669
Replay recorded launch_argv when resuming native agents (automatic) feat/resume-launch-argv herdrdev#632
Detect agents restarted in a reused pane (automatic, bugfix) feat/reused-pane-agent-detection
Configurable server stop wait timeout (default raised to 10s) session.stop_timeout_ms feat/configurable-stop-timeout

Changes since v0.7.3-ironin.1

  • Scrollbar gained auto mode (show-while-scrolling, auto-hide) in addition to the original on/off.
  • Agents panel gained a configurable toggle cycle (ui.agent_panel_modes) and a priority-sorted "space" view.
  • Tab agent status now renders the exact same per-agent glyphs as the agents panel (⠋ working, ◉ blocked, ● done-unread, ✓ done-read, ○ unknown) and includes hook-only/report-only agents — the tab and panel show an identical agent set.
  • New: reused-pane agent-detection fix; configurable server-stop timeout (with 0→default and an upper clamp).

All features are leak-free of any fork-internal naming in src/.

herdr v0.7.3-ironin.1 — 5 opt-in UX additions

Choose a tag to compare

@iRonin iRonin released this 11 Jul 14:36

Fork of ogulcancelik/herdr v0.7.3 with five opt-in UX additions. Each is additive, defaults to current behavior, keeps the existing test suite green (2511 tests), and is available on its own branch for individual upstream review.

What's added

Feature Setting Discussion Branch
Wrap tabs across multiple rows instead of one scrollable row ui.tab_bar_wrap (default false) #697 feat/wrap-tabs
Hide the main-pane scrollback scrollbar (keeps the glyph out of copied text) ui.show_scrollbar (default true) #743 feat/scrollbar-toggle
Filter + sort the agents panel by workspace; clickable 3-way tab toggle (priority / grouped / space) ui.agent_panel_scope (default all) #859 feat/agent-panel-scope
Agent status dot on the top tabs (visible with the sidebar collapsed) ui.tab_agent_status (default false) #669 feat/tab-agent-status
Resume replays each pane's recorded launch flags (launch_argv) so wrapped / forked agent harnesses resume through their exact program (behavior) #632 feat/resume-launch-argv

Built on base v0.7.3 (c8850a2). The all-features branch is the combined build; each feat/* branch is a single clean commit for one-per-Discussion PRs.