Skip to content

zyterm 1.1.2 — Linux feature push

Choose a tag to compare

@iskandarputra iskandarputra released this 20 Apr 16:52

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 NAME auto-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
    with asciinema play, embeds in the web player, round-trips to GIF
    via agg. Works in interactive and --dump modes.
  • TCP / Telnet transporttcp://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-in between
    none|cr|lf|crlf|cr-crlf|lf-crlf. Streaming + stateful.
  • Man page + bash/zsh/fish completions.
  • Modern color-aware --help layout.

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 ./zyterm binary against a TCP
    listener with fork+exec hooks and rate-limit assertions.
  • 20 pty tests.
  • Total 239/239 passing. Run with make -C tests run.

Fixed

  • --on-match parser now scans forward for the /= separator
    instead of using strrchr, so actions containing / (paths,
    sed expressions) split correctly.
  • USER_GUIDE profile example now uses parser-supported keys.
  • Removed phantom --list flag reference.

See CHANGELOG.md for the complete
list.