The XMPP Newsletter, 28 June 2019

 Posted on June 28, 2019 |  3 minutes |  Newsletter |  jcbrand

Welcome to a bumper edition of the the XMPP newsletter, containing news from the last two months.

If you have an article, tutorial or blog post you’d like us to include in the newsletter, please submit it on the XMPP wiki.


Mickaël Rémond from ProcessOne has written about how the Nintendo Switch uses ejabberd for push notifications. He explains why XMPP was chosen as protocol, why ejabberd was chosen as the server and the performance tuning they had to do so that the Nintendo Switch push service can now handle 10 million simultaneous connections and 2 billion messages per day.

Recently a German politician, Katarina Barley of the Social Democrats, tweeted that she’d like to see regulation in the instant messaging space where messengers are forced to interoperate similarly to wireless carriers. Many people responded to her tweet, saying that this is impossible or undesirable. Daniel Gultsch, author of the Conversations and Quicksy Android clients, has written a thoughtful post on why he thinks regulation is indeed necessary to create interoperability between instant messengers.

Subscribe to the monthly XMPP newsletter

Peter Saint-Andre wrote a short post on being invited to become co-author of RFC 8600 XMPP Grid.

Kaidan, an XMPP client, has joined KDE.

Movim is the the first XMPP-based app that has added emoji reactions to messages, in both one-on-one conversations and groupchats, by making use of XEP-0367: Message Attaching. You can now support the project on Patreon.

Heather Ellsworth from Purism has written a progress note for the Librem 5. A notable messaging-related change is that the Lurch OMEMO plugin, used in Librem’s Chatty messenger, has received a lot of updates recently.

Goffi is keeping us informed about his progress on Salut à Toi by writing weekly progress notes. Recently he published notes for weeks 24, 25 and 26.

Kiran Jasvanee has written an introductory piece on XMPP, explaining protocol features such as Jabber IDs, extensibility and streams.

Mickaël Rémond wrote down some thoughts on code style in library design focusing on designing an API for the Fluux XMPP library.

Anurodh Pokharel (aka Anu) has written about a first experimental Mac Build of Monal using Catalyst.

Arnaud Joset has written guides to using sat-pubsub, the PubSub component from the Salut à Toit project, and JP, a powerful command line interface for Salut à Toit.


Openfire developer Guus der Kinderen has written a summary of the recent XMPP Sprint in The Hague. Much of the work revolved around better support for push notifications. Multiple clients and servers were represented and being worked on.

Another XMPP Sprint is coming in Lyon, France, on 13-14th of July.

Software releases


ProcessOne has released ejabberd 19.05, improving MIX and MucSub.

Ignite Realtime has released Openfire 4.4.0 beta.

Erlang Solutions has released MongooseIM 3.4.0 with a strong focus on GDRP compliance.


Conversations 2.5.0, 2.5.1, 2.5.2 added public channel search via and reworked onboarding screens.

Monal 3.8 for iOS makes onboarding easier for non-technical users, as the new registration screen is easier and faster.

BeagleIM (for macOS) and SiskinIM (for iOS), brought to you by Tigase, now both support the OMEMO end-to-end encryption protocol.


Strophe.js, the JavaScript XMPP library (published under the MIT license) has released version 1.3.3.

Google Summer of Code

The XSF has announced its participation in the Google Summer of Code 2019. The selected projects are:

Prosody plugin installer, by João Duarte Poezio infinite scrolling using MAM, by Madhur Garg Jingle File Transfer for Dino, by hrxi


The Debian XMPP Team has launched a blog.

Conversation’s server compliance tester has been redesigned and is now easier to navigate.

Tigase is now a Gold sponsor of the XSF.