Donate Share

xmpp.py

File Release Notes and Changelog

Release Name: 0.4

Notes:
Requirements:
 - Python 2.3
 - xmpp.py 0.4.1

Highlights:
 - XML configuration file
 - Jabber.com XCP support
 - XEP-0133 - Add support for Service Administration
 - Can register a server to create a shorter jid, auto-login, and presence notifications
 - 'Contact is Typing' notifications
 - Can search for channels
 - Supports multiple jabber resources
 - Suppresses MOTD and RULES if they haven't changed
 - Room modes now configurable

Changes: * irc.py: Add labels to registration fields. Fix for initial channel join user mode not setting correctly. * irc.py: irclib 1.40 update * irc.py: Fix for payload processing, roles and affiliations tweaked to match the latest XEP, handle disconnection better, bugfix for no messages for join-on-connect rooms. * irc.py: Quick tweak to try and handle advanced channel user modes on Unreal servers * irc.py: Fix for XEP-0045 compliance when sending unavailable presence (thanks to franky) * adhoc.py: Fix trying to disco commands against non-server jids * irc.py: Handle message with specified default normal message type * adhoc.py, jep0133.py: Added service admin commands for adding and deleting users * config.py, config_example.xml, irc.py: Added option to require users to register before joining a room * irc.py: Suppress MOTD and RULES if they have the same hash as the last copy we saw. * irc.py: Make whitespace at the start and end of line significant when creating html text for messages * irc.py: Implement a very simple allowRegister. (This won't stop already registered users from registering more servers, nor will it stop unregistered users from using adhoc connections) * irc.py: Turn MOTD into new-style pending operations, and display as x-html * irc.py: Show irc liststart text when listing raw data * irc.py: Update irc color parsing code * irc.py: Added channel list via iq:search, some fixes for encoding and calling convention * jep0133.py: moving admin namespace constants from jep0133 to to protocol * irc.py: use namespace constant * irc.py: add support for multiple pending operations with the same key. add support for disco-info for channels * irc.py: Bugfix: XEP 0077 violation: IQ query jabber:iq:register MUST return <registered/> node if entity is already registered * config.py, config_example.xml, irc.py: Handle XCP component:accept namespace * irc.py: minor 'easier to read' typographic fixes * irc.py: prevent multiple timer shots caused by received data * irc.py: Fix service detection for None nickmask (broken in 1.99). Refactored nm_is_service to make the outcome easier to figure out. * config_example.xml: minor config typo * adhoc.py, commands.py: remove horrid naming conflict * irc.py: remove horrid naming conflict * commands.py, irc.py: extract ad hoc commands into their own class (helps tidy up the imports) * irc.py: handle /rules like /motd (unreal ircd) * irc.py, irc_helpers.py: move irc_ulower to irc_helpers * irc.py: make transport retry initial connection * irc.py: refactor and tweak services detection * irc.py: fixed sending private messages in a channel (broken in 1.93) * irc.py: re-organised admin disco nodes * config.py, config_example.xml, irc.py: add dumpProtocol config option * irc.py: Reverted some parameter name changing * irc.py: fixing some trackbacks * irc.py: Make service calls directly (without privmsg) * irc.py: fixed disco result with wrong jid * irc.py: fixed missing config file error * irc.py: cleanup some non-error exceptions * irc.py: detect irc disconnection better * irc.py: added support for wildfire component binding * irc.py, jep0133.py: fixed command namespaces * irc.py: added real jids in the admin disco * irc.py: Fix KeyError on stale groupchat * irc.py: minor tweaks * irc.py: General cleanups * irc.py, jep0133.py: added admin disco functionality to view all registered and online users * irc.py, jep0133.py: fixed registered users adhoc * README.txt, config.py, config_example.xml, irc.py, jep0133.py, transport.ini, xmlconfig.py: migrated to xml configuration file, and added a 'connect all users' ad hoc command * irc.py: handle presence via ison polling and get initial presence for subsequent resources * irc.py: tried to clean up the initial presence spam a bit * irc.py: Fixed chat timeout Traceback * irc.py: Fixed bad loop creating material * irc.py: Another KeyError, and updated charsets * irc.py: Fixed KeyError caused by unregistered presences * irc.py, jep0106.py: moved jep-0106 into xmpp * irc.py: removed unused old disco code * irc.py: added copyright - i'm helping out too * irc.py: added common version strings * irc.py: initial multiresource work