Releases: aovestdipaperino/plank
Release list
v2.3.2 (beta)
Beta release.
Fixes since v2.3.1:
- Code-block copy now copies the verbatim source. Previously long lines were copied with spurious newlines inserted at the terminal's soft-wrap points.
v2.3.1 (beta)
Beta release.
Highlights since v2.3.0:
- Native macOS desktop notifications on turn completion and when awaiting input (no hooks required);
ui.notifications/ui.notifyAfterSecssettings and a/notifytoggle. - Click-to-copy control (
⧉ copy) on rendered code blocks. - Text selection now survives scrolling (content-anchored) and copies in full even when larger than the viewport; a transient "Copied N chars" tip appears in the status bar for 10s.
v2.3.0 (beta)
Opens the v2.3 beta series. Promoted v2.2.0 to stable.
v2.2.0 (beta)
Opens the v2.2 beta series. Promoted v2.1.0 to stable.
v2.1.0 (beta)
Opens the v2.1 beta series. Promoted v2.0.2 to stable.
v2.0.2 (beta)
Beta release in the v2.0 series.
- Status bar shows the current folder (home collapsed to ~) and the git branch after a powerline glyph, both themed green.
- Prefill footer uses the same spinner verb + throbber animation as token decoding.
- Long output (e.g. /context) now scrolls all the way to the bottom.
- Resumed sessions render assistant text through the markdown renderer with thinking dimmed, in the TUI /resume, /switch, and startup paths.
v2.0.1 (beta)
Beta release (patch bump within the 2.0 series). 105 commits since v2.0.0.
Highlights
Model-facing tools — five new tools the model can call, each measured live to confirm the model actually reaches for it:
glob— find files by name pattern instead of shelling out tofind.- MCP resources —
mcp_list_resources/mcp_read_resourcefor content servers publish as resources. skill— the model can invoke an installed skill itself, not only via/name.task— a model-visible task list that survives compaction,/resume, and checkpoint rollback (/tasks).ask— a structured multiple-choice question instead of guessing (2–7 options, configurable).
Interface
@file completion — fuzzy typeahead over files, directories, and MCP resources, ranked with nucleo; Tab-extends, drills into directories, demotes submodule paths.- Named agents —
~/.plank/agents/*.md,/agent,/subagent <name>. - Live
!output streaming and mode-aware, directory-aware history.
Configuration
settings.json— persistent engine/UI/safety/MCP/ask preferences, layered user-then-project, with a startup note; includesshowToolCalls/showToolResults(both default off).- OpenAI/Anthropic provider docs.
Tooling
--ui-remote— loopback control port (snapshot / keypress / uitree) for debugging TUI scenarios.
Fixes
v2.0.0 (beta)
Opens the v2 beta channel. Promoted v1.6.0 to stable.
v1.6.0
TUI and session-management improvements on top of the /btw work.
/btwlive side panel: the main task now resumes the instant a side answer finishes (it keeps rendering on the left while the finished answer stays frozen on the right), the panel persists across turn boundaries and closes only on Esc, and an idle/btwuses the same panel. Esc is state-aware: cancel a streaming answer, dismiss a frozen panel without touching the task, or interrupt the task when no panel is up.- Single-instance guard: fixes the "cannot load model" crash — the engine's own guard called
exit(2)deep in startup; plank now probes the lock file first and exits cleanly with a clear message. - Session names: sessions get a memorable
adjective-celebrityid (e.g.deadly-einstein) minted on first save — 50 adjectives × 150 celebrities (75 scientists / 75 historical-pop-sport), with a short guid on collision. Legacy 40-hex sessions still load and list. - Resume from the CLI:
plank /resume [name]resumes a session at startup (a name, prefix, list number, or bare = most recent); the recovered history is shown. - End-of-session dump: on exit plank saves the transcript and prints where it landed and how to resume it.
- Prompt separator: a green rule now divides the scrollback from the resting prompt.
Minor bump: the cached system-prompt KV snapshot is invalidated on upgrade.
🤖 Generated with Claude Code
v1.5.0
Side questions with /btw — now a first-class, priority-preempting command.
/btwun-gated (#7): no longer behind theimagesexperimental flag. Ask a side question while the agent works; it's answered from the shared conversation context with tools disabled and nothing written to the transcript (never enters history, compaction, or the next turn).- Split-screen side panel: while a
/btwanswer streams the screen splits — main conversation 60% on the left, side answer 40% on the right behind a labelled border. Esc cancels the answer, flushes the queue, and restores the full-width view; the main task is untouched. - Priority preemption (#18): by default a
/btwsubmitted mid-generation pauses the running task immediately, answers the question, then re-runs the interrupted step from its last committed point (the partial output is rolled back and regenerated — the single-session engine can stop a generation but not resume it). Questions typed during tool execution answer at the next boundary; a/btwtyped while a side answer is already streaming joins the FIFO queue (cap 20, drop-oldest).
OpenClaw is vendored as a reference submodule at refs/openclaw (shallow, CI-skipped) — the design follows its side-question model (docs/BTW-DESIGN.md).
Minor bump: the cached system-prompt KV snapshot is invalidated on upgrade.
🤖 Generated with Claude Code