- better separation of message sending actions
- use of more generic exceptions to hook the behaviour (SkipHistory and CancelError)
- use of raise instead of return
- use of failure.trap
- registerTextCommands can be called by a plugin in its __init__ method, it looks for methods starting with "cmd_" and register them as new commands
- addWhoIsCb: add a callback to /whois command, the callback can complete whois informations
- plugins parrot, XEP-0045 and XEP-0092 now manage their own commands
- commands can now return a deferred
- if commands return True, message is sent, else it is cancelled
- the escape sequence is now '//' instead of '\/'
- added software version to /whois command
- _() is no more installed in __builtin__
- instead, there is a new sat.core.i18n module
- added D_() method for deferred translation
- languageSwitch method allow to dynamically change translation language
- import gettext is tested against ImportError, and dummy methods are used when not available (mainly useful for Libervia)
- treaments deferred can be used by plugins to change XML elements before sending them, in a similar way as for newMessage
- sendMessageXml trigger became useless, so it as been removed in favor of the new deferred
- /parrot command add parrot link between the current entity/room and the entity given as an argument (must be a valid jid)
- similarly, /unparrot remove the 2 links between those entities.
- Parrot is a new dependency of text commands
- _getRoomJid manage room jid argument: the argument can be full jid or a shortcut.
in case of shortcut, room or room@ can be used for shortcut room@service.domain.tld where service.domain.tld is the same as the one of the room where the command is entered
- /leave alone leave the current room, /leave [room] leave the given room
- /part is a synonym of /leave