diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b81fe00..f1c1e58 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.4.3" + ".": "0.5.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index ee83504..82d3b4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,35 @@ ## [Unreleased] +## [0.5.0] - 2026-06-16 + +### Added + +- Default semantic operations (`wait`, `snapshot`, screen hash, batch render-wait steps, host semantic replay) to the in-process `libghostty-vt` renderer when the optional native package is available, falling back to `ghostty-web` when it is not. Visual artifacts (`screenshot`, `record export --format webm`) still default to `ghostty-web`. Explicit `--renderer`, `AGENT_TTY_RENDERER`, and `config.json.defaultRenderer` overrides are unchanged. ([#157](https://github.com/coder/agent-tty/pull/157) by @ThomasK33) +- Dashboard maximized views now restore on Enter as well as Esc; footer hint updated to `esc/⏎ restore`. ([#153](https://github.com/coder/agent-tty/pull/153) by @ThomasK33) +- Documented the stable CLI exit-code contract (`0`–`11`) in `docs/USAGE.md`, including `batch` fail-fast / `--keep-going` semantics and a note that a standalone `wait` timeout exits `0` with `timedOut: true` in the envelope (exit code `11` only surfaces from a timed-out `wait` step inside a fail-fast `batch`). ([#150](https://github.com/coder/agent-tty/pull/150) by @ThomasK33) +- README scannability pass: anchor nav, numbered Quickstart "canonical loop", and a grouped command-surface table (lifecycle / input / observation / live view / environment). ([#150](https://github.com/coder/agent-tty/pull/150) by @ThomasK33) +- New `hostMain` unit tests covering `normalizeExitSignal`, session-commandability assertions, and renderer-name resolution, plus an idle-timeout auto-exit integration test. ([#158](https://github.com/coder/agent-tty/pull/158) by @ThomasK33) + +### Changed + +- Host inspect/runtime metadata now reports the active renderer backend dynamically, and capability discovery (`version --json`, `doctor --json`) distinguishes semantic-render availability from browser-backed visual capability. Legacy render-wait modes degrade rather than disappear when only render waits lack a renderer. ([#157](https://github.com/coder/agent-tty/pull/157) by @ThomasK33) +- Per-session RPC socket directory is created `0o700`, the socket file `0o600`, and persisted state (session manifests and the Home Registry) `0o600`, independent of the caller's umask, so other local users cannot connect to a session's control socket or read its state on shared machines. ([#158](https://github.com/coder/agent-tty/pull/158) by @ThomasK33) +- CI now runs `aube audit --audit-level high` (via a new `mise run audit` task wired into `mise run ci` and the `linux-static` job); the seven advisories present at audit time were cleared via `package.json` `overrides` (`brace-expansion`, `esbuild`, `vite`, `ws`). ([#158](https://github.com/coder/agent-tty/pull/158) by @ThomasK33) +- README tagline now mentions `agent-browser` alongside Playwright. ([#155](https://github.com/coder/agent-tty/pull/155) by @ThomasK33) +- `RELEASE.md` support contract is now version-agnostic so release-please bumps don't re-stale it. ([#158](https://github.com/coder/agent-tty/pull/158) by @ThomasK33) + +### Fixed + +- README status version is now driven by release-please's `extra-files` updater, so the in-README version stays in sync with `package.json` on every release PR. ([#156](https://github.com/coder/agent-tty/pull/156) by @ThomasK33) +- Standing release PR branch is now `release-please--branches--main` instead of `release-please--branches--main--components--agent-tty`, restoring the documented round-trip and preventing release-please from silently skipping release creation on a component mismatch. ([#147](https://github.com/coder/agent-tty/pull/147) by @ThomasK33) +- Internal review fixes from the renderer-default split: host renderer operations stay leased during backend use, and automatic private host renderer defaults no longer leak into spawned PTY environments. ([#157](https://github.com/coder/agent-tty/pull/157) by @ThomasK33) + +### Release / CI + +- `feat:` commits now bump the **minor** version pre-1.0 (`0.4.x` → `0.5.0`); `fix:` still bumps patch, and `feat!:` / `BREAKING CHANGE:` continue to bump minor instead of jumping to 1.0.0. Reaching 1.0.0 remains an explicit `Release-As: 1.0.0` decision. ([#152](https://github.com/coder/agent-tty/pull/152) by @ThomasK33) +- New `pr-title` workflow validates PR titles against Conventional Commits using `amannn/action-semantic-pull-request@v6.1.1`, since the squash-merge subject becomes the commit that release-please parses. ([#154](https://github.com/coder/agent-tty/pull/154) by @ThomasK33) + ## [0.4.3] - 2026-06-12 ### Fixed diff --git a/README.md b/README.md index f7291a4..0c7e5d2 100644 --- a/README.md +++ b/README.md @@ -138,7 +138,7 @@ See [`docs/AGENT-SKILLS.md`](./docs/AGENT-SKILLS.md). ## Status & platform support -`agent-tty` is `0.4.3` and focused on reliable, isolated, reviewable terminal and TUI automation through a stable CLI. +`agent-tty` is `0.5.0` and focused on reliable, isolated, reviewable terminal and TUI automation through a stable CLI. - 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`. diff --git a/package.json b/package.json index e07ab41..b802f0a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "agent-tty", - "version": "0.4.3", + "version": "0.5.0", "description": "Terminal automation CLI for AI agents and humans", "license": "Apache-2.0", "keywords": [