Repository navigation
TUT 0.0.4
TUT 0.0.4 hardens Unix terminal lifecycle handling and makes the remaining worst-case viewport work bounded and preemptible.
Highlights:
- pause and resume projected-row scanning, viewport location, and frame rendering while preserving atomic publication
- move visible search-highlight merging out of draw; each background merge phase performs at most 1,024 comparisons/output attempts
- reuse render, highlight, MatchBlock, checkpoint, and row storage with source-sized reservation bounds
- bound Unix terminal parser sequences to 64 KiB/2 seconds and retained events to 1,024 through the pinned crossterm fork
- terminate cleanly on terminal EOF/HUP with exact diagnostics, session logging, and cursor/alternate-screen/raw-mode restoration
- read commands from the controlling terminal without replacing fd 0, reject nested raw-mode sessions, and preserve inherited job-control signal behavior
- bind log files to resolved input path slots to resist rename-over, symlink, case/Unicode alias, and hardlink races
- retain Rust 1.88 as the MSRV and verify Linux/macOS, debug/release/overflow, PTY, package, install, and dist workflows
Known scope: process-global event-reader generation changes after replacing a tty in the same process remain tracked in issue #80; ordinary one-session CLI use is covered.
Artifact SHA-256: 631a157faeb4fe1eb121c5b6302def6df40807d3f6bc68293bb8e305a53f5634.