You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(changelog): expand 0.10.0 with renderer overhaul (round 3, #4)
Adds the third major round to the 0.10.0 entry: cell-based
CommandOutputRenderer initialised from a per-command VtLiteState
snapshot, viewport-top tracking, alt-screen save/restore +
placeholder, soft-wrap re-join, regex-prompt cap (Start/End +
SGR back-up), node integration script OSC-before-prompt.
Documents the known limitation: first alt-screen run after one
or more prior non-alt commands on a fresh console may include
ConPTY's post-exit redraw of session history in the response.
Subsequent runs are clean. Fix deferred to a follow-up PR.
Bumps date to 2026-04-20.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+125-3Lines changed: 125 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,9 @@
2
2
3
3
All notable changes to ripple are documented here. Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), versioning follows [Semantic Versioning](https://semver.org/).
4
4
5
-
## [0.10.0] - 2026-04-19
5
+
## [0.10.0] - 2026-04-20
6
6
7
-
Two parallel rounds land in the same release. **(1) Live virtual-
7
+
Three parallel rounds land in the same release. **(1) Live virtual-
8
8
terminal cursor tracking** — ripple now keeps an authoritative
9
9
VT-100 interpreter advanced from every PTY chunk and answers DSR
10
10
(`\x1b[6n`) cursor-position queries from real state instead of the
@@ -20,7 +20,18 @@ worker-owned spill file (`%TEMP%\ripple.output\` on Windows,
20
20
returns a head + tail preview embedding the spill path. Inline
21
21
`execute_command` and deferred `wait_for_completion` now flow
22
22
through a shared finalize-once boundary so both delivery modes
23
-
return the same `CommandResult` shape.
23
+
return the same `CommandResult` shape. **(3) Command-output
24
+
extraction is rebuilt as a per-command fork of the live VT
25
+
interpreter** (closes #4) — at OSC C the worker snapshots the
26
+
session-wide `_vtState` and hands the snapshot to a new
27
+
`CommandOutputRenderer` initialised from it. ConPTY's
28
+
post-alt-screen and post-prompt redraw bursts target cells whose
29
+
baseline values match what's being rewritten, so a per-cell change
30
+
detector recognises them as idempotent overwrites and they stay
31
+
out of the AI-facing MCP response. Alt-screen entry/exit collapses
32
+
to an `[interactive screen session]` placeholder; soft-wrapped
33
+
logical lines are re-joined at render time so a narrow PTY can't
34
+
fragment a single `git log --oneline` entry.
24
35
25
36
### Added
26
37
-**`Services/VtLiteState.cs`** — the VT-100 interpreter formerly
@@ -171,6 +182,117 @@ return the same `CommandResult` shape.
171
182
untouched — the human still sees a live progress bar exactly as
172
183
the shell intended; only the AI-facing `output` collapses.
0 commit comments