Skip to content

[pull] master from jquast:master - #37

Merged
pull[bot] merged 3 commits into
threatcode:masterfrom
jquast:master
Aug 7, 2026
Merged

[pull] master from jquast:master#37
pull[bot] merged 3 commits into
threatcode:masterfrom
jquast:master

Conversation

@pull

@pull pull Bot commented Aug 7, 2026

Copy link
Copy Markdown

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 : )

jquast added 3 commits August 7, 2026 13:21
Various changes and accommodations made for the protocols used by Discworld MUD server.

Preparing for next release, 5.0.0:

  * bugfix: ``IAC SB IAC SE`` (sub-negotiation with no option byte) should not raise ``IndexError``
  * new: :meth:`~telnetlib3.stream_writer.TelnetWriter.add_will_callback` and
    :meth:`~telnetlib3.stream_writer.TelnetWriter.remove_will_callback` for per-option
    callbacks invoked after :meth:`handle_will` negotiation.  Replaces the previous
    closure-wrapping pattern in :class:`~telnetlib3.client.TelnetClient` for GMCP, ZMP,
    and CHARSET will-detection.
  * changed: :meth:`~telnetlib3.stream_writer.TelnetWriter.handle_zmp` now receives
    ``command, *args`` instead of one ``parts`` list; ``zmp_data`` moved to
    ``writer.ctx`` and is now a dict keyed by command (was a list of messages).  New
    :meth:`~telnetlib3.stream_writer.TelnetWriter.send_zmp`.
  * changed: MUD protocol subnegotiation data (``mssp_data``, ``atcp_data``,
    ``aardwolf_data``, ``mxp_data``, ``comport_data``) moved from
    :class:`~telnetlib3.stream_writer.TelnetWriter` to
    :class:`~telnetlib3._session_context.TelnetSessionContext` (``writer.ctx.mssp_data``,
    etc.).  Deprecated writer properties delegate to ``ctx``; ``writer.zmp_data`` is
    removed without deprecation.
  * changed: client-side MUD protocol declines (GMCP, MSDP, MSSP, MSP, MXP, ZMP,
    AARDWOLF, ATCP) remain the default; the decline log messages now name the enable
    mechanism (``always_will`` / ``always_do`` / ``passive_do``) used by downstream
    clients such as telix to accept them.  Note that MXP's negotiation direction is
    server-sends-``DO`` (the LPMud family convention, e.g. Discworld), so a client
    accepting MXP replies ``WILL`` to ``IAC DO MXP``.
  * enhancement: ``telnetlib3-fingerprint`` now accepts all MUD protocol offers (ATCP,
    AARDWOLF, MSP, MXP, MSDP, MSSP) to collect subnegotiation data.
  * enhancement: sub-negotiation payloads are bounded to 1,000KB.
  * enhancement: ``--loglevel=trace`` receive dumps show the decompressed telnet
    stream (MCCP2, MCCP3) instead of raw compressed bytes.
@pull pull Bot locked and limited conversation to collaborators Aug 7, 2026
@pull pull Bot added the ⤵️ pull label Aug 7, 2026
@pull
pull Bot merged commit 02d9722 into threatcode:master Aug 7, 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