Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.5.0"
".": "0.6.0"
}
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,26 @@

## [Unreleased]

## [0.6.0] - 2026-10-30

### Added

- `wait --scope cursor-line` predicate (plus `scope` on batch `wait` steps and the `waitForRender` RPC) that matches `--text`/`--regex` only against the cursor's current row. Eliminates command-echo false positives and makes prompt waits precise ([#169](https://github.com/coder/agent-tty/pull/169)).
- `record diff <session-id-a> <session-id-b>` command that replays both sessions offline and emits a unified line diff or a `{ identical, a, b, diff }` JSON envelope. Supports `--at-seq-a` / `--at-seq-b` to diff a session against its own earlier state ([#170](https://github.com/coder/agent-tty/pull/170)).
- PTYs spawned by a session now expose `AGENT_TTY_ACTIVE=true` and `AGENT_TTY_SESSION_ID=<uuid>` to the child, so shells, prompts, and wrappers can detect the active session and avoid recursion ([#166](https://github.com/coder/agent-tty/pull/166)).

### Fixed

- `destroy` now stops the program's entire process group, escalates to SIGKILL after a 2 s grace, and waits until nothing from the group remains. A plain `destroy` of a program that ignores SIGHUP (or that leaves background children) no longer times out with `HOST_TIMEOUT` or leaks surviving processes ([#201](https://github.com/coder/agent-tty/pull/201)).
- `destroy --force` and `destroy` on a crashed session now reliably end `destroyed` instead of being reported as `failed` with "host process died unexpectedly" after a 5 s socket wait. Terminal manifest records are also no longer overtaken by a late queued write ([#194](https://github.com/coder/agent-tty/pull/194)).
- Closed `create` / `reconcile` / `gc` races that could mark a starting session `failed` or delete it from under another agent sharing the same Home. The host's pid is now in the first manifest, reconcile re-reads before deciding `failed`, and manifest writes are serialized ([#181](https://github.com/coder/agent-tty/pull/181)).
- `writeManifest` no longer recreates a session folder that `gc` has removed; instead it fails with `SESSION_NOT_FOUND` and callers treat the session as gone (no more `list --all` stubs after a race) ([#200](https://github.com/coder/agent-tty/pull/200)).
- `create` validates `cwd`, shell path, and command segments before creating `<home>/sessions/<id>`, so failed `create` calls no longer leak empty session directories that `gc` can't clean up ([#188](https://github.com/coder/agent-tty/pull/188)).
- A single invalid entry in `homes.json` no longer causes the Home registry to return empty and get rewritten with only the current Home; valid entries are preserved and only the invalid ones are dropped ([#186](https://github.com/coder/agent-tty/pull/186)).
- `doctor`'s PTY probe (and any session-less PTY) no longer inherits `AGENT_TTY_ACTIVE` or an outer `AGENT_TTY_SESSION_ID`, so it no longer claims to be a managed session or reports another session's ID ([#178](https://github.com/coder/agent-tty/pull/178)).
- Maintainer tools: `validate-bundle --profile canonical` now rejects manifest artifacts whose canonical path escapes the bundle root via symlink, and Hero Demo `promote` leak-checks the full bundle in memory before writing `--bundle-dir` ([#187](https://github.com/coder/agent-tty/pull/187)).
- Evals: `cleanupEvalHome` now refuses paths that are not strictly inside the temp root (previously `cleanupEvalHome(os.tmpdir())` would delete the system temp directory), and `_*SchemaParity` types now actually fail typecheck on drift. `BundleValidationProfileSchema` gains the missing `canonical` value ([#190](https://github.com/coder/agent-tty/pull/190)).

## [0.5.0] - 2026-06-23

### Added
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ See [`docs/AGENT-SKILLS.md`](./docs/AGENT-SKILLS.md).

## Status & platform support

`agent-tty` is `0.5.0` and focused on reliable, isolated, reviewable terminal and TUI automation through a stable CLI. <!-- x-release-please-version -->
`agent-tty` is `0.6.0` and focused on reliable, isolated, reviewable terminal and TUI automation through a stable CLI. <!-- x-release-please-version -->

- Linux and macOS are tier-1; Windows is tier-2 and not CI-tested.
- Semantic snapshots and render-backed waits prefer the optional `libghostty-vt` backend when it is available, then fall back to `ghostty-web`.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "agent-tty",
"version": "0.5.0",
"version": "0.6.0",
"description": "Terminal automation CLI for AI agents and humans",
"license": "Apache-2.0",
"keywords": [
Expand Down
Loading