Skip to content

[pull] master from jquast:master#13

Merged
pull[bot] merged 3 commits intothreatcode:masterfrom
jquast:master
Feb 15, 2026
Merged

[pull] master from jquast:master#13
pull[bot] merged 3 commits intothreatcode:masterfrom
jquast:master

Conversation

@pull
Copy link

@pull pull bot commented Feb 15, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

- **change**: `telnetlib3-client` now defaults to raw terminal mode (no line buffering, no local echo), which is correct for most servers. Use `--line-mode` to restore line-buffered local-echo behavior.
- **change**: `telnetlib3-server --pty-exec` now defaults to raw PTY mode. Use `--line-mode` to restore cooked PTY mode with echo.
- **change**: `connect_minwait` default reduced to 0 across `BaseClient`, `open_connection()`, and `telnetlib3-client`. Negotiation continues asynchronously. Use `--connect-minwait` to restore a delay if needed, or use `TelnetWriter.wait_for()` in server or client shells to await a specific negotiation state.
- **new**: Color, keyboard input translation and `--encoding` support for ATASCII (ATARI ASCII) and PETSCII (Commodore ASCII).
- **new**: SyncTERM/CTerm font selection sequence detection (`CSI Ps1 ; Ps2 SP D`). Both `telnetlib3-fingerprint` and `telnetlib3-client` detect font switching and auto-switch encoding to the matching codec (e.g. font 36 = ATASCII, 32-35 = PETSCII, 0 = CP437). Explicit `--encoding` takes precedence.
- **new**: `TRACE` log level (5, below `DEBUG`) with hexdump style output for all sent and received bytes. Use `--loglevel=trace`.
- **bugfix**: `robot_check()` now uses a narrow character (space) instead of a wide Unicode character, allowing retro terminal emulators to pass.
- **bugfix**: ATASCII codec now maps bytes 0x0D and 0x0A to CR and LF instead of graphics characters, fixing garbled output when connecting to Atari BBS systems.
- **bugfix**: ATASCII codec normalizes CR and CRLF to the native ATASCII EOL (0x9B) during encoding, so the Return key works correctly.
- **bugfix**: PETSCII bare CR (0x0D) is now normalized to CRLF in raw terminal mode and to LF in `telnetlib3-fingerprint` banners.
- **bugfix**: `telnetlib3-fingerprint` re-encodes prompt responses for retro encodings so servers receive the correct EOL byte.
- **bugfix**: `telnetlib3-fingerprint` no longer crashes with `LookupError` when the server negotiates an unknown charset. Banner formatting falls back to `latin-1`.
- **bugfix**: `TelnetClient.send_charset()` normalises non-standard encoding names (`iso-8859-02` to `iso-8859-2`, `cp-1250` to `cp1250`, etc.).
- **enhancement**: `telnetlib3-fingerprint` responds more like a terminal and to more y/n prompts about colors, encoding, etc. to collect more banners for the https://bbs.modem.xyz/ project.
- **enhancement**: `telnetlib3-fingerprint` banner formatting uses `surrogateescape` error handler, preserving raw high bytes (e.g. CP437 art) as surrogates instead of replacing them with U+FFFD.
@pull pull bot locked and limited conversation to collaborators Feb 15, 2026
@pull pull bot added the ⤵️ pull label Feb 15, 2026
@pull pull bot merged commit 07104ea into threatcode:master Feb 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant