yet another XMPP instant messenger

yaxim 0.8.7 - Stream Management and More

A new version of yaxim, 0.8.7, has been released today (ChangeLog, commit history) right in time for the XMPP Summit. Download 0.8.7 now!

This release comes with some long-awaited features, like Stream Management, proper roster handling, improved error display and better internationalization.

Stream Management

Support for XEP-0198: Stream Management was planned since 2009 and deferred many times due to technical challenges and a lack of time. Finally, it is there, and working well against prosody 0.9 servers with mod_smacks enabled. Whenever your Android switches between WiFi and 3G, yaxim is interrupted for some seconds, but restores the session immediately – no messages are lost!

In the future, the code will be merged back into the SMACK library to allow other Android clients to benefit from seamless session resumption.

Roster Management

Prior to 0.8.7, yaxim’s default policy for incoming buddy request was to silently accept them. Yes, you read right. The authors are very ashamed of this fact, and it was due time to change the state of affairs.

With the current release, incoming requests are displayed in the roster, and a dialog pops up when you tap them:

roster query

Carbon Notifications

The XEP-0280: Message Carbons support introduced in 0.8.6 made your phone noisy when you were chatting from another client, as it beeped on every incoming message copy. To stop this annoyance, the notification behavior has been changed as follows:

  • messages you send from your other client are silently added to yaxim’s log
  • when yaxim receives the first message copy, it makes a sound
  • further message copies are silently added to the log, until you open the chat window
  • messages directly sent to yaxim always cause a sound

At the same time, the XEP-0184: Delivery Status of copied messages is now also correctly tracked in the chat log.

Error Messages

If an error stanza is received for an outgoing message, earlier versions of yaxim silently ignored it. The authors were made aware of the problem by @das_aug, and #108 was promptly fixed:

error stanza display

The exact error message is only displayed in a notification – there is no place for it in the context of the chat message, yet. This will be changed in one of the next releases.


As of 0.8.7, yaxim supports Internationalized Domain Names for server addresses. In earlier releases, you had to manually enter the punycode into the custom server field. In the latest release, IDNA names are supported in the JID field as well as for custom server names.

Right-to-Left languages are also supported as of now for roster entries, messages and the interface. However at the time of writing, the only available RTL translation is Hebrew, thanks to Darlan from Gajim:

hebrew yaxim

Please contribute some more!

What’s Next

From the 0.8.6 release wishlist, only XEP-0198 has been implemented. MUC support will be worked on next, we promise!

Other TODOs:

  • a Tablet UI with the contacts list on the side of a chat view
  • end-to-end encryption, either with OTR or with GnuPG.
  • more user-friendlyness! \o/