aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/next/CHANGELOG.md36
-rw-r--r--docs/next/website/src/content/docs/cli-reference.mdx8
-rw-r--r--docs/next/website/src/content/docs/plugins.mdx17
-rw-r--r--docs/next/website/src/content/docs/socket-api.mdx2
4 files changed, 30 insertions, 33 deletions
diff --git a/docs/next/CHANGELOG.md b/docs/next/CHANGELOG.md
index adec3e27..d50c2a61 100644
--- a/docs/next/CHANGELOG.md
+++ b/docs/next/CHANGELOG.md
@@ -3,33 +3,16 @@
## Unreleased
### Added
-- Added local plugin v1 support with `plugin.link/list/unlink/enable/disable`,
- manifest-declared actions, event hooks, managed plugin panes, link handlers,
- command logs, keybinding integration, and authoring docs under Preview docs.
-- Added `herdr plugin install <owner>/<repo>[/subdir...]`, `plugin uninstall`,
- source metadata in `plugin.list`, offline registry fallback, and a
- human-readable default `plugin list` with `--json` for scripts.
-- Added `herdr plugin config-dir <id>` and automatic plugin config/state
- directory creation so plugin setup docs can point users at a stable config
- path.
-- Added Devin CLI automatic detection plus `herdr integration install devin`
- hooks that report session ids for restore with `devin --resume <id>`.
- Devin state remains screen-detected because Devin hooks do not cover every
- permission cancellation and user interrupt transition.
-- Added supporting plugin host APIs for `pane.current`, `pane.process_info`,
- `client.window_title.set/clear`, `layout.export/apply`, plugin pane placement,
- plugin invocation context/env injection, and plugin pane ownership across
- `pane.move`.
+- Added local plugin v1 support with `plugin.link/list/unlink/enable/disable`, manifest-declared actions, event hooks, managed plugin panes, link handlers, command logs, keybinding integration, and authoring docs under Preview docs.
+- Added `herdr plugin install <owner>/<repo>[/subdir...]`, `plugin uninstall`, source metadata in `plugin.list`, offline registry fallback, and a human-readable default `plugin list` with `--json` for scripts.
+- Added `herdr plugin config-dir <id>` and automatic plugin config/state directory creation so plugin setup docs can point users at a stable config path.
+- Added Devin CLI automatic detection plus `herdr integration install devin` hooks that report session ids for restore with `devin --resume <id>`. Devin state remains screen-detected because Devin hooks do not cover every permission cancellation and user interrupt transition. (#606, #622, thanks @minatoaquaMK2)
+- Added supporting plugin host APIs for `pane.current`, `pane.process_info`, `client.window_title.set/clear`, `layout.export/apply`, plugin pane placement, plugin invocation context/env injection, and plugin pane ownership across `pane.move`.
- Added `pane.move` and `herdr pane move` to relocate a running pane into another tab, a new tab, or a new workspace without restarting its terminal process. (#299)
+- Tabs containing a zoomed pane are now marked in the tab bar so the zoom state is visible from other tabs.
### Changed
- Bumped the client/server protocol version to 14 for `pane.move` compatibility. (#299)
-- Preview releases are now published only by manual maintainer workflow dispatch, not on a scheduled cron.
-- Plugin runtime config directories now use stable, readable plugin-id paths
- instead of checkout hashes; existing legacy config directories are copied into
- the new location when first seen.
-- Plugin manifests must now declare `min_herdr_version`; install and link fail
- when a plugin requires a newer Herdr binary.
- Public workspace, tab, and pane ids are now short stable handles such as `w1`, `w1:t1`, and `w1:p1`; closed tab and pane ids no longer retarget later resources. (#569)
### Fixed
@@ -39,6 +22,11 @@
- Auto-named tab labels now stay compact after closing, moving, or creating tabs while public tab ids remain stable.
- F1-F4 key presses sent as `ESC[11~` through `ESC[14~` now reach pane apps instead of being dropped. (#574)
- Numeric keypad keys sent through the kitty keyboard protocol now enter their digits and operators instead of being dropped. (#570)
+- Pane resize keybindings now shrink panes again instead of only being able to grow them. (#562)
+- Windows pane cursor rendering is now stable instead of showing a misplaced or flickering cursor. (#556)
+- Tab identity is now preserved across restored sessions.
+- Idle panes now poll their PTY less frequently, reducing CPU use while sessions are inactive.
+- Captured pane URL clicks, including plugin link handlers, now use Ctrl-click on macOS too because captured terminal mouse reports do not expose Cmd-click separately from plain click. (#307)
## [0.6.10] - 2026-06-11
@@ -58,7 +46,7 @@ This is a hotfix release for v0.6.9. See the v0.6.9 notes for the full feature r
- Numeric keypad keys that send VT100 application-keypad escape sequences now enter their digits and operators instead of being dropped. (#493)
- Codex panes now stay marked working when the live status header uses reasoning-summary text such as `Investigating code output` instead of the literal `Working` label. (#501)
- Codex blocker detection now ignores stale prompt text outside the live prompt region, reducing false blocked states from old scrollback.
-- Pane URL clicks, including plugin link handlers and native URL opening, now use Ctrl-click on macOS too because captured terminal mouse reports do not expose Cmd-click separately from plain click. (#307)
+- Native pane URL clicks now use Cmd-click on macOS and Ctrl-click on other platforms. (#307)
- Worktree open, create, and remove actions now work from bare repositories instead of assuming a normal checkout. (#497)
- Pane mouse handling no longer sends empty PTY writes for mouse events that produce no terminal input. (#496)
- Pane output now renders flag emoji and other multi-codepoint grapheme clusters as complete symbols instead of blank cells. (#243)
diff --git a/docs/next/website/src/content/docs/cli-reference.mdx b/docs/next/website/src/content/docs/cli-reference.mdx
index 99f1faae..f1079995 100644
--- a/docs/next/website/src/content/docs/cli-reference.mdx
+++ b/docs/next/website/src/content/docs/cli-reference.mdx
@@ -302,6 +302,14 @@ herdr plugin unlink <plugin_id>
`plugin link` accepts a plugin directory containing `herdr-plugin.toml` or a direct manifest path. It is still the right command while authoring or testing a plugin from a local checkout. `plugin unlink` unregisters the plugin and leaves files alone. `plugin uninstall` unregisters a plugin and also removes Herdr-managed GitHub checkout files. For GitHub installs, uninstall accepts either the plugin id or the same `owner/repo[/subdir...]` shorthand used by install. Actions, event hooks, panes, and link handlers are declared in the manifest; runtime action registration is not part of v1.
+Config directory:
+
+```bash
+herdr plugin config-dir <plugin_id>
+```
+
+`plugin config-dir` prints the plugin's config directory, creating it (and seeding it from legacy plugin config locations when present) if needed. Use it in setup docs and shell scripts to point users at a stable path for `.env` files and other user-editable config, separate from the managed plugin checkout.
+
Actions:
```bash
diff --git a/docs/next/website/src/content/docs/plugins.mdx b/docs/next/website/src/content/docs/plugins.mdx
index 5dcd50ab..09d89bc0 100644
--- a/docs/next/website/src/content/docs/plugins.mdx
+++ b/docs/next/website/src/content/docs/plugins.mdx
@@ -21,12 +21,13 @@ manifest, injects runtime context, starts the declared commands, and records
logs. The commands call back into Herdr through the CLI or socket when they need
to do more work.
-Most plugins should call Herdr through `HERDR_BIN_PATH`, which points at the
-running Herdr binary. That keeps plugins portable across Unix sockets and
-Windows named pipes. Use the [CLI reference](/docs/cli-reference/) as the
-catalog of commands a plugin can call. Use the
-[socket API](/docs/socket-api/) when you want to send raw JSON requests
-yourself.
+There is no separate plugin SDK or restricted command set. The entire Herdr CLI
+is the plugin API: every command in the [CLI reference](/docs/cli-reference/) is
+available to a plugin, and anything you can run as `herdr ...` yourself a plugin
+can run too. Most plugins should call Herdr through `HERDR_BIN_PATH`, which
+points at the running Herdr binary. That keeps plugins portable across Unix
+sockets and Windows named pipes. Use the [socket API](/docs/socket-api/) when
+you want to send raw JSON requests yourself.
Runtime action registration and native non-terminal plugin UI are not part of
plugin v1. Actions, event hooks, panes, and link handlers are all declared in
@@ -42,7 +43,7 @@ Herdr can run.
id = "example.layout"
name = "Layout"
version = "0.1.0"
-min_herdr_version = "0.6.10"
+min_herdr_version = "0.7.0"
description = "Apply project layouts"
platforms = ["linux", "macos", "windows"]
@@ -112,7 +113,7 @@ my-plugin/
id = "example.workspace-tools"
name = "Workspace Tools"
version = "0.1.0"
-min_herdr_version = "0.6.10"
+min_herdr_version = "0.7.0"
description = "Small workspace helpers"
platforms = ["linux", "macos", "windows"]
diff --git a/docs/next/website/src/content/docs/socket-api.mdx b/docs/next/website/src/content/docs/socket-api.mdx
index 88280441..74697fd8 100644
--- a/docs/next/website/src/content/docs/socket-api.mdx
+++ b/docs/next/website/src/content/docs/socket-api.mdx
@@ -329,7 +329,7 @@ manifest path. The manifest shape is:
id = "example.worktree-bootstrap"
name = "Worktree Bootstrap"
version = "0.1.0"
-min_herdr_version = "0.6.10"
+min_herdr_version = "0.7.0"
description = "Prepare new worktrees"
platforms = ["linux", "macos", "windows"]