• v0.9.0 a5c2297d15

    zelnet v0.9.0 Stable

    gitea_admin released this 2026-06-30 08:53:07 +00:00 | 58 commits to main since this release

    Added

    • --play <script>: a scripted, headless TN5250 driver — the golden-screen TEST HARNESS for
      greenscreen apps. Signs on (env ZELNET_USER/ZELNET_PW), advances past any break-message screen
      to the main menu, then runs a semicolon-separated script against the live panels: type into a
      field, send an AID (enter / pf <n>), and expect <text> / dump. Every expect is a
      self-verifying gate, so a script exits non-zero on the first mismatch — greenscreen behavior is
      now a CI gate (CALL a program, drive its EXFMT panels, assert the rendered data), not just
      compile-success. The TN5250 twin of --drive (3270), built on the already-headless Session that
      login proves out — no TTY. Verbs: dump | expect | type | typepw | tab | backtab | home | field <n> | enter | pf <n>. Proven end-to-end driving the rpg-inventory PARTMNT maintenance
      panel on pub400 (CHAIN found + miss).
    • src export <lib>: a first-class source extractor (the "reverse deploy") — pull a library's
      source members off the box into a local Git layout (<out>/<srcfile>/<member>.<type>). For each
      source file it lists the members (file server), CPYTOSTMFs each to an IFS temp (EBCDIC → CCSID
      1208 UTF-8, LF) via the command server, fetches it, sniffs the source type (PFILE(→lf,
      DSPSIZ→dspf, else pf; QRPGLESRC→rpgle), and writes it — reusing one file + one command
      connection for the whole sweep (no fork-per-member). Folds the proven extract.sh into the
      binary; the import primitive of IBMI-IMPORT.md. Flags: --out <dir>, --srcfiles A,B,
      --filter PART*. Proven by round-trip on rpg-inventory (box → Git, 5/5 byte-identical).
    Downloads