zyterm 1.1.2 — Linux feature push
zyterm 1.1.2 — Linux feature push, tutorial, deep tests
A focused Linux release: every "but does it…?" feature competitors had,
plus a deep multi-chapter tutorial and a real test suite (239 tests).
Highlights
- Event hooks —
--on-match '/REGEX/=ACTION',--on-connect,
--on-disconnect. POSIX ERE on RX,send:prefix injects TX,
100 ms per-hook rate-limit, env vars for port/baud/line/pattern. - Config hot-reload —
--profile NAMEauto-watches the file via
inotify (parent-dir, atomic-rename safe), 200 ms debounce, runtime-
safe keys hot-applied. - Asciinema cast v2 recording —
--rec session.cast. Plays back
withasciinema play, embeds in the web player, round-trips to GIF
viaagg. Works in interactive and--dumpmodes. - TCP / Telnet transport —
tcp://host:port,telnet://host:port. - USB hot-plug-aware discovery —
--port-glob '/dev/ttyUSB*',
--match-vid-pid 0403:6001. Re-resolves on every reconnect. - Line-ending mapping —
--map-out/--map-inbetween
none|cr|lf|crlf|cr-crlf|lf-crlf. Streaming + stateful. - Man page + bash/zsh/fish completions.
- Modern color-aware
--helplayout.
Documentation
- Deep multi-chapter tutorial book
(~1500 lines): install, first session, logging, profiles, hooks,
recording, recipes, troubleshooting, full reference. - README comparison table vs minicom / picocom / screen / tio / PuTTY.
- USER_GUIDE first-5-minutes quickstart + corrected profile example
(the previous one used keys the parser silently ignored).
Tests
- 208 unit tests covering hooks parser, asciinema cast writer,
profile inotify watcher, CRC, log-level, OSC8, sparkline. - 11 e2e tests drive the real
./zytermbinary against a TCP
listener withfork+exechooks and rate-limit assertions. - 20 pty tests.
- Total 239/239 passing. Run with
make -C tests run.
Fixed
--on-matchparser now scans forward for the/=separator
instead of usingstrrchr, so actions containing/(paths,
sed expressions) split correctly.- USER_GUIDE profile example now uses parser-supported keys.
- Removed phantom
--listflag reference.
See CHANGELOG.md for the complete
list.