• j2i 1.2.0 (beta 1) Pre-Release

    kruno released this 2026-09-08 18:15:05 +00:00 | 4 commits to main since this release

    This is a beta version and has not been heavily tested. Do not run this in production. Please report any bugs you encounter.

    Added

    • XEP-0092 Software Version: the bridge answers version queries as j2i (name, package version, OS) in both client and component mode. New [settings] flags hide_version (also applies to the XMPP resource and disco identity) and hide_os (XEP-0092 only)
    • Optional XMPP→IRC ban sync in component mode: when a puppet is banned in a MUC (status 301), the corresponding IRC nick is +b'd (nick!*@*) and kicked. Off by default; enable with sync_bans globally or per [[xmpp]] / [[irc]] / [[bridge]] (most specific wins). Missing IRC ops are logged and ignored.
    • Bot avatar support via XEP-0153 (vCard-based avatars): the bridge advertises an avatar in MUCs in both client and component mode. Configurable per XMPP connection with a local path or URL (avatar), or a bundled default; images are decoded, downscaled, and re-encoded (Pillow) to fit a configurable byte budget so the vcard-temp stanza stays under the server's max stanza size. Lays the groundwork for bridging IRC user profile metadata to XMPP avatars
    • Split over-long relayed messages into multiple IRC lines on UTF-8/word boundaries so the server no longer silently truncates them; the split pieces count toward max_lines, so oversized pastes still fall back to the pastebin
    • Auto-detect the server's line-length limit from the IRCv3 LINELEN ISUPPORT token, with a new max_line_bytes setting (global or per-bridge) to override the ceiling
    • Test suite (pytest) covering the pure translation helpers: nick sanitizing, IRC→XMPP formatting, pastebin service resolution, and reply/reaction prefix building

    Fixed

    • Redact credentials (SASL payload, NickServ IDENTIFY password, server PASS) from debug logs; the command remains visible but the secret is masked as <redacted>
    • Scope reply, reaction, and body caches by connection and room so identical IRC/XMPP identifiers from different networks cannot collide

    Changed

    • Make RELAYMSG suffix configurable
    • Refactored reply/reaction prefix formatting into pure helpers and de-duplicated the shared excerpt-truncation and RELAYMSG-suffix logic
    Downloads