Skip to content

Commit cfca1ab

Browse files
docs(CHANGELOG.md): update unreleased section (#97)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent cde4673 commit cfca1ab

1 file changed

Lines changed: 3 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,17 @@
1616
- Asciicast export now explicitly skips non-rendered events (`input_text`, `input_paste`, `input_keys`, `input_run`, `run_complete`, `signal`, `exit`) so recordings only contain `o`, `r`, and `m` frames ([#55](https://github.com/coder/agent-tty/pull/55)).
1717
- `wait --text` / `--regex` / `--screen-stable-ms` / `--cursor-row` / `--cursor-col` validation is centralized in a shared render-wait matcher used by both live host polling and CLI offline replay fallback. Invalid, unsafe (nested-quantifier), or out-of-range patterns are rejected locally with `INVALID_INPUT` before any RPC or offline replay snapshot work. Public `wait` JSON shapes and human output are unchanged ([#76](https://github.com/coder/agent-tty/pull/76)).
1818
- Renderer dispose now uses a per-lifecycle `ResourceScope` for deterministic LIFO release of page, browser context, browser, and local server. Public `dispose()` remains best-effort and resolves successfully; individual cleanup failures are now surfaced through the logger as `warn` entries with `{ name, error }` instead of being silently swallowed. Concurrent artifact-manifest appends route through a generic `KeyedSerializer<string>` while preserving existing serialization semantics ([#83](https://github.com/coder/agent-tty/pull/83)).
19+
- `AbortSignal` is now threaded through host-side `wait`, `waitForRender`, `run` completion, lifecycle polling, and `sendRpc`, with timers, sockets, and listeners registered against `ResourceScope`. The RPC server also aborts the per-request context when a client socket closes, so abandoned RPC requests release host resources promptly instead of running to timeout. A bounded 1s liveness probe on the existing RPC socket avoids indefinite hangs during host startup when a stale socket neither accepts nor rejects a connection promptly. Public JSON envelopes and protocol schemas are unchanged ([#94](https://github.com/coder/agent-tty/pull/94), fixes [#84](https://github.com/coder/agent-tty/issues/84)).
20+
- The supported Node range is now `>=24.0.0 <27` and the project toolchain is pinned to Node 26.1.0. Playwright is bumped to `1.60.0`, which ships the upstream fix for the Node 26 `playwright install chromium` extraction hang ([microsoft/playwright#40724](https://github.com/microsoft/playwright/issues/40724)) that previously forced a Node 26 revert in [#91](https://github.com/coder/agent-tty/pull/91). CLI behavior and JSON contracts are unchanged ([#98](https://github.com/coder/agent-tty/pull/98)).
1921
- Local and CI dependency bootstrap now uses [`aube`](https://github.com/endevco/aube): `mise run bootstrap` runs `aube exec playwright install chromium` and `mise run bootstrap-ci` runs `aube ci`. The `mise`-pinned `aube` was bumped to `1.10.4` (migrating from `pnpm` / `npm` lockfiles to `aube-lock.yaml`), and `pnpm.allowBuilds` permits native builds for `@coder/libghostty-vt-node`, `esbuild`, `fsevents`, `node-pty`, `@parcel/watcher`, and `msgpackr-extract` ([#51](https://github.com/coder/agent-tty/pull/51), [#57](https://github.com/coder/agent-tty/pull/57), [#73](https://github.com/coder/agent-tty/pull/73), [#91](https://github.com/coder/agent-tty/pull/91)).
20-
- Internal session-status policy, event-log codec, snapshot capture, screenshot capture, command-target resolution, and waited-run completion bookkeeping are centralized into shared modules. No CLI, protocol, JSON envelope, manifest entry, or `rendererBackend` reporting changes ([#67](https://github.com/coder/agent-tty/pull/67), [#68](https://github.com/coder/agent-tty/pull/68), [#69](https://github.com/coder/agent-tty/pull/69), [#70](https://github.com/coder/agent-tty/pull/70), [#75](https://github.com/coder/agent-tty/pull/75), [#78](https://github.com/coder/agent-tty/pull/78)).
22+
- Internal session-status policy, event-log codec, snapshot capture, screenshot capture, command-target resolution, waited-run completion bookkeeping, and Zod result-validation parsing are centralized into shared modules. No CLI, protocol, JSON envelope, manifest entry, or `rendererBackend` reporting changes ([#67](https://github.com/coder/agent-tty/pull/67), [#68](https://github.com/coder/agent-tty/pull/68), [#69](https://github.com/coder/agent-tty/pull/69), [#70](https://github.com/coder/agent-tty/pull/70), [#75](https://github.com/coder/agent-tty/pull/75), [#78](https://github.com/coder/agent-tty/pull/78), [#93](https://github.com/coder/agent-tty/pull/93)).
2123
- Repository tooling switched from ESLint / Prettier to Oxc: `npm run format` / `format:check` now invoke `oxfmt`, and `npm run lint` / `lint:fix` invoke `oxlint` plus `oxlint-tsgolint` for type-aware checks. CI and `mise` task names are unchanged ([#71](https://github.com/coder/agent-tty/pull/71)).
2224

2325
### Fixed
2426

2527
- Default-location screenshot PNGs, snapshot JSON files, and `record export` artifacts are now rolled back when the subsequent artifact-manifest append fails, so a manifest-validation failure no longer leaves an orphaned, unmanifested file under the session's `artifacts/` directory. Explicit `--out` paths supplied by the caller are preserved on failure because they belong to the user, not the session manifest ([#95](https://github.com/coder/agent-tty/pull/95), fixes [#79](https://github.com/coder/agent-tty/issues/79)).
2628
- `EventLog.open` now closes the underlying file handle when validation (size-limit check or existing-content parsing) fails, preventing a file-descriptor leak on rejected session host startup ([#51](https://github.com/coder/agent-tty/pull/51)).
2729

28-
### Notes
29-
30-
- The `engines.node` range remains `>=24.0.0 <26`. An attempted bump to Node 26 was reverted in [#91](https://github.com/coder/agent-tty/pull/91) because `playwright install chromium` hangs on Node 26 during zip extraction ([microsoft/playwright#40724](https://github.com/microsoft/playwright/issues/40724)); the upstream fix is merged but not yet released.
31-
3230
## [v0.1.1-beta.4](https://github.com/coder/agent-tty/releases/tag/v0.1.1-beta.4) - 2026-04-25
3331

3432
### Added

0 commit comments

Comments
 (0)