Releases: iskandarputra/zyterm
Releases · iskandarputra/zyterm
Release list
zyterm 1.5.0
What's Changed
- fix: resolve ZT-030 … ZT-049 (v1.4.0 re-review — 4 high, 5 medium, 11 low) by @iskandarputra in #13
- refactor(arch): compiler-enforced module layering + dead-code removal (Phase 7) by @iskandarputra in #20
- test(phase6): framing round-trip + SPSC ring coverage + TSan CI leg by @iskandarputra in #15
- perf(phase5): RX hot-path — batch log_write, gate tty_stats, memcpy ring, skip idle broadcast by @iskandarputra in #16
- feat(phase3): account SPSC ring drops (metric + HUD) — no longer silent by @iskandarputra in #17
- test(phase6): XMODEM engine coverage via a socketpair peer by @iskandarputra in #18
- test(phase6): libFuzzer target for the frame decoders + CI fuzz leg by @iskandarputra in #19
- docs: sync tracker/plan status to merged (ZT-030…049 landed on main) by @iskandarputra in #21
- refactor(net): split http.c into six cohesive units (Phase 2) by @iskandarputra in #22
- perf(log): recycle scrollback ring slots instead of malloc per line (Phase 5) by @iskandarputra in #23
- test(fuzz)+fix(proto): xmodem_receive fuzz target finds & fixes ZT-050 hang by @iskandarputra in #24
- test(proto): cover ymodem_send with a scripted YMODEM receiver by @iskandarputra in #25
- build(ci): add make coverage ratchet gate + CI job (Phase 6) by @iskandarputra in #26
- test: HTTP request-parser fuzz + 431/slowloris edge tests (Phase 6 close-out) by @iskandarputra in #27
- chore: close out Phase 7 minor items (embedded cross-run state + profile flow) by @iskandarputra in #28
- chore: remove the dead OSC 8 hyperlink feature (ZT-019) by @iskandarputra in #29
- feat(profile): persist --watch patterns, watch_beep, and F1..F12 macros by @iskandarputra in #30
- release: bump version to 1.5.0 + sync version docs and CHANGELOG by @iskandarputra in #31
Full Changelog: v1.4.0...v1.5.0
zyterm 1.4.0
What's Changed
- feat(render): device SGR colour on by default (bounded SGR-only filter, ADR-0009, ZT-029) by @iskandarputra in #10
- fix(render): render device cursor-forward (CSI n C) as spaces in completion listings by @iskandarputra in #12
Full Changelog: v1.3.0...v1.4.0
zyterm 1.3.0
What's Changed
- fix(security): resolve the full ZT-001…028 source-review audit + docs rebuild by @iskandarputra in #2
- docs: ADR-0007/0008 + audit-closeout documentation polish by @iskandarputra in #3
- release: v1.3.0 by @iskandarputra in #4
Full Changelog: v1.2.0...v1.3.0
zyterm 1.2.0
Full Changelog: v1.1.3...v1.2.0
zyterm 1.1.3 — warning cleanup
zyterm 1.1.3 — warning cleanup
Small patch release after v1.1.2.
Fixed
- USB port discovery build warnings —
src/serial/port_discover.c
now bounds-checks sysfs attribute path construction foridVendor
andidProduct, which removes fortifiedsnprintftruncation
warnings on strict Linux builds without changing runtime behaviour.
Validation
- Rebuilt successfully as
zyterm 1.1.3 - Full test suite still green: 239/239 passing
- 208 unit
- 11 e2e
- 20 pty
See CHANGELOG.md for the full project history.
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.
zyterm v1.1.1
Patch release with one bug fix and one build-system refactor.
Fixes
- scrollback: align selection overlay and clipboard copy with the visible layout when timestamps are hidden. Hidden
[HH:MM:SS.mmm]prefixes no longer drift the reverse-video highlight or leak into copied text.
Improvements
- clipboard: native X11 selection-owner now runtime-loads libxcb via
dlopen("libxcb.so.1")instead of linking at build time. Drops the pkg-config probe and-lxcb/-lxcb-xfixesflags from the Makefile; no-devpackages required to ship the native clipboard path. Falls back gracefully to OSC 52 + helper binaries on headless, pure-Wayland, and macOS targets. - build:
LDLIBSis now OS-aware (-ldladded on Linux only). - docs: README, ARCHITECTURE, USER_GUIDE, API, CONTRIBUTING and tests/README refreshed for the zero build-dep clipboard path.
Install
sudo dpkg -i zyterm_1.1.1_amd64.debv1.1.0
Initial public release. A zero-dependency high-performance serial terminal for embedded developers.