v0.5.1
Zero-config recording under iTerm2 shell integration — the scripts iTerm2 installs into your rc files, which is what's actually emitting marks inside tmux and over SSH (where the app itself can't inject them).
What's new
- iTerm2 multiline commands reconstruct correctly. iTerm2 wraps PS2 continuation prompts in
133;A;k=s(the secondary prompt variant of the prompt-start mark — kitty spells itP;k=s). The parser now continues the current input region across it instead of resetting, so a heredoc or backslash-continued command keeps all its lines. - cwd via
OSC 1337;CurrentDir. iTerm2's scripts never emit OSC 7; the raw-pathCurrentDirreport is the only cwd source, and it now feeds the cwd column.RemoteHost/ShellIntegrationVersionare consumed along with it — stateful host-terminal metadata is never stored into recorded output, soshow --rawcan't replay it at your terminal. - Empty prompt cycles are now dropped regardless of exit code. iTerm2 bakes its
D;<exit>mark into PS1 itself, so every prompt render closes a cycle — and after a failed command, pressing Enter at an empty prompt reported the previous command's stale$?. That stored phantom(unknown command)entries with exit 1/130. Empty cycles (no command text, no non-metadata output) are never stored now. Since v0.5.0's echo reconstruction, a real failing command recovers its text from the terminal echo, so nothing real is lost. - Handles iTerm2's literal
\rembedded in the OSC body of itsCmark, and the stray pre-first-promptCits bash script fires while the rc file is still being sourced.
Command text comes from v0.5.0's echo reconstruction (iTerm2 is a plain-133 emitter — it never reports the command line), verified against iTerm2's real bash and zsh integration scripts in a new E2E suite in CI, including a >1-row wrapped command and Ctrl-C exit 130.
Zero-config matrix now: fish ≥4.0, VS Code, kitty, WezTerm, Ghostty, iTerm2. The backscroll init snippet remains the gold path (authoritative command text + the Ctrl-X Ctrl-P picker) and coexists cleanly with all of them.
New: docs/osc133.md gotcha 17 — iTerm2's four integration quirks, written up.
Install / upgrade
curl -fsSL https://raw.githubusercontent.com/soren-achebe/backscroll/main/install.sh | sh
or brew install soren-achebe/tap/backscroll · .deb/.rpm below · go install github.com/soren-achebe/backscroll@latest
No DB migration — v0.5.1 uses the same schema as v0.4.x/v0.5.0.