I just released biboumi 4.0.
The most important changes are described below.
Biboumi (if compiled with LiteSQL) now saves the channel messages into a database. These messages can be retrieved using MAM. This archive is also used to send an history of the latest messages, when joining a room. This is especially useful if you are on a channel with one resource, biboumi logs everything to its database, and then you join that channel from an other resource: biboumi will send you the whole history, so that you don’t miss any bit of the conversation.
Unique separator for channel and user JIDs
Instead of having two different separators (% for channels, and ! for users), biboumi now only supports the % separator for everything. The distinction between the two is based on the first character of the JID. If it starts with # or & (or any of the character received in the PREFIX part of the ISUPPORT message sent by the IRC server), this is a channel JID, otherwise this is a user JID.
You can now invite users to a channel, and receive invitations.
This feature is also used when the IRC channels forces the user to join a channel (a feature that does not exist in XMPP): when this happens, biboumi effectively joins the channel, and sends an XMPP invitation to join this channel. If the user decides to accept this invitation, they will receive all the history that was stored by biboumi in the meantime.
You’ve always dreamed of being able to join the channel #d'artagnan or #c@c@? This is now possible! Just join the channels #d\27artagnan or #c\40c\40, as described in the XEP 106.
For the future
The next version should be a small one, with the support of identd, and the possibility to tell biboumi to stay connected to the channels even when you disconnect your XMPP client, effectively making biboumi an IRC bouncer.