Skip to content

5.0.0

Choose a tag to compare

@jquast jquast released this 07 Aug 17:33
· 1 commit to master since this release
  • bugfix: default GMCP modules are now in lowercase by @jquast in #146
  • 5.0.0 Discworld-driven improvements by @jquast in #147

5.0.0

  • 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.
  • 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:~telnetlib3.stream_writer.TelnetWriter.handle_will negotiation. Replaces
    the previous closure-wrapping pattern in :class:~telnetlib3.client.TelnetClient for GMCP, ZMP,
    and CHARSET will-detection.
  • 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.
  • bugfix: IAC SB IAC SE (sub-negotiation with no option byte) should not raise IndexError

Full Changelog: 4.0.5...5.0.0