Welcome to the XMPP Newsletter covering the month of December 2021 and January 2022!
We hope you had a great shift into the new year by now as well as are happy to have you reading the new release! We guess that this episode has caught some weight over the new year’s holidays :-)
Many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, especially throughout the current situation, please consider saying thanks or help these projects!
Interested in supporting the Newsletter team? Read more at the bottom.
Other than that — enjoy reading!
Translations of the XMPP Newsletter will be released here (with some delay):
- The French translation appears at jabberfr.org and linuxfr.org
- The German translation appears at anoxinon.de
- The Italian translation appears at NicFab.it
- The Spanish translation appears the same way as the English orginial, simply select Spanish in the top bar
Many thanks to the translators and their work! This is a great help to spread the news! Please join them in their work or start over with any another language!
- The XSF is planning to participate in the Google Summer of Code 2022 (GSoC). If you are interested in participating as a student, mentor or as a project in general, please add your ideas and reach out to us!
- Blog and newsletter pages at xmpp.org/blog now support multiple languages. We are happy for volunteers to support translating!
XSF fiscal hosting projects
Berlin XMPP Meetup (remote): Monthly Meeting of XMPP Enthusiasts in Berlin - always 2nd Wednesday of the month.
Thilo Molitor (developer of Monal) held a talk [DE] about Monal’s development.
XMPP Office Hours: Fabian Sauter presented his adventures in developing an XMPP Client for Windows (Universal Windows Platform (UWP)) in December.
XMPP has been mentioned in a German public TV [DE] show in the context of data protection.
JMP.chat released two blog posts. The first details a feature of the Soprani.ca project’s Cheogram system that allows SMS users to contact (or call!) any XMPP address. Their Newsletter also announces a partnership with Snikket for hosting, as well as a preview of worldwide calling rates as they prepare to launch that feature soon.
There are several articles to the topic “messenger” at the German site from “Freie Messenger” with a focus on alternatives to WhatsApp, E2EE, interoperability, security/pseudosecurity. Help is welcome, translating the articles to your native language.
OMEMO was finally integrated in Movim after 6 long years of discussions. In this article Timothée, Movim developer, explains the general OMEMO architecture, the difficulties encountered while working on the integration in Movim and how they overcame them.
As the previously announced collaboration between Snikket and Simply Secure ended its first project, they interviewed the project’s founder, Matthew Wild, about Snikket’s origins and his experience managing open-source projects. Read the interview: On Getting Things Done: A Conversation with Matthew Wild from Snikket.
MongooseIM writes about Dynamic XMPP Domains in their solutions
Andrew Lewman trials various messaging protocols over a congested network, and makes a discovery about XMPP performance in such situations.
Ravi Dwivedi demonstrates that “freedom and privacy can be convenient too” in their short introduction to the Quicksy Android client
An analysis of the dangers of misconfigured XMPP servers in this piece about XMPP server security by Bishop Fox.
vanitasvitae published an article celebrating the
1.0.0 release of PGPainless. PGPainless is a Java library that aims to make using OpenPGP as easy as possible. The project was started in 2018 as a by-product of a Google Summer of Code project of the XMPP Standards Foundation!
Clients and applications
Gajim development news: Work on Gajim
1.4 is making big steps forward! After nine months of developing Gajim’s new main window, the code was finally ready to be merged into the master branch. This enables automatic builds of nightly versions for Linux and Windows.
monocles chat (a fork of Conversations and Blabber.im) will get OTR support in the next release. The client also only allows connections to XMPP servers with up to date SSL configurations and does not offer fallback SSL connections to avoid data leaks. Nevertheless it is compatible with every current XMPP account.
0.8 “La Cecília” (formerly known as “Salut à Toi”) has been released with a complete OMEMO encrytion finalization for group chats, a new default theme, an easy to use invitation system, a non-standard (XMPP) list feature, photo albums and many technical changes.
A new stable release of SiskinIM
7.0.1 has been published which includes sending unencrypted messages in single chats with default encryption for OMEMO and presenting automatic file download size limit.
4.7.0 has been released (having their Beta released before). This release is the first non-patch release in more than a year, which brings a healthy amount of new features, as well as bug fixes. Highlights of this release include extensively improved clustering support, particularly around Multi-User Chat functionality, which should benefit high-volume environments. Previously also Openfire
4.6.5 and Openfire
4.6.6 have been released.
0.11.13 has been released. Since December, new Prosody releases brought some fixes to PEP to control memory usage, a security fix that addresses a denial-of-service vulnerability in Prosody’s mod_websocket, and a fix for a memory leak. Previously Prosody
0.11.11 and Prosody
0.11.12 were released, too.
21.12 has been released. The new ejabberd 21.12 release comes after five months of work, contains more than one hundred changes, many of them are major improvements or features, and several bug fixes: PubSub improvements, new mod_conversejs, and support for MUC Hats (XEP-0317).
Snikket announced their January 2022 server release, this includes a security fix announced earlier in January. The primary new feature in this release is account import/export functionality, the final part of the XMPP account portability project funded by NGI DAPSI.
A new XMPP component has been published and could use some feedback. The component implements a webhook transport that lets users (the person hosting the component and anyone they choose to allow) create HTTP endpoints to receive events on and translate those to XMPP messages. Webhook payloads are processed by middleware and the XMPP notifications are template-based and written in EJS. It currently comes with GitLab and plain Git integrations as well as a crude and untested Slack middleware, but it also understands plain text and PNG, JPEG and PDF content, which is sent to subscribers as attachments via HTTP File Upload (XEP-0363). Find the main repository (no production quality yet) and there is also a demo server available for casual testing.
Extensions and specifications
Developers and other standards experts from around the world collaborate on these extensions, developing new specifications for emerging practices, and refining existing ways of doing things. Proposed by anybody, the particularly successful ones end up as Final or Active - depending on their type - while others are carefully archived as Deferred. This life cycle is described in XEP-0001, which contains the formal and canonical definitions for the types, states, and processes. Read more about the standards process. Communication around Standards and Extensions happens in the Standards Mailing List (online archive).
The XEP development process starts by writing up an idea and submitting it to the XMPP Editor. Within two weeks, the Council decides whether to accept this proposal as an Experimental XEP.
- This document defines a way to indicate that a specific part of the body only serves as fallback and which specification the fallback is for.
- This document defines how to invite someone to a call and how to respond to the invite.
- This extension defines a new PubSub node attribute to specify the type of payload.
- This document defines a way to indicate that a message is a reply to a previous message.
- No new XEPs this month.
If an experimental XEP is not updated for more than twelve months, it will be moved off Experimental to Deferred. If there is another update, it will put the XEP back onto Experimental.
- No XEPs deferred this month.
1.1.0of XEP-0363 (HTTP File Upload)
- Filename size in bytes.
- Headers MUST be included in the PUT request.
- Headers considered opaque.
- Servers may want to sign headers, in security implications.
- Allow header case insensitivity, multiple times the same header, and preserve the order in the HTTP request. (egp, mb)
0.4.0of XEP-0353 (Jingle Message Initiation)
- Rework whole spec, namespace bump
- Add new message
- Add dependency on XEP-0280, XEP-0313 and XEP-0334
- Add to some messages (tm)
1.1.0of XEP-0459 (XMPP Compliance Suites 2022)
- Replace deprecated XEP-0411 with XEP-0402 in Advanced Group Chat (egp)
0.4.0of XEP-0380 (Explicit Message Encryption)
- Add new OMEMO namespaces: ‘urn:xmpp:omemo:1’ for OMEMO versions since
0.4.0, and ‘urn:xmpp:omemo:2’ for OMEMO versions since
- Add new OMEMO namespaces: ‘urn:xmpp:omemo:1’ for OMEMO versions since
Last calls are issued once everyone seems satisfied with the current XEP status. After the Council decides whether the XEP seems ready, the XMPP Editor issues a Last Call for comments. The feedback gathered during the Last Call help improving the XEP before returning it to the Council for advancement to Stable.
- Last Call for comments on XEP-0424 (Message Retraction)
- Last Call for comments on XEP-0425 (Message Moderation)
Stable (formerly known as Draft)
Info: The XSF has decided to rename ‘Draft’ to ‘Stable’. Read more about it here.
- No XEPs advanced to Stable this month.
- XEP-0256 (Last Activity in Presence)
- XEP-0443 (XMPP Compliance Suites 2021)
Call for Experience
A Call For Experience - like a Last Call, is an explicit call for comments, but in this case it’s mostly directed at people who’ve implemented, and ideally deployed, the specification. The Council then votes to move it to Final.
- No Call for Experience this month.
This XMPP Newsletter is produced collaboratively by the XMPP community.
Therefore many thanks to Adrien Bourmault (neox), Anoxinon e.V., arne, emus, Goffi, IM, Licaon_Kter, Ludovic Bocquet, MattJ, mdosch, NicFab, Sam Whited, TheCoffeMaker, vanitasvitae, wurstsalat3000 for their support and help in creation, review and translation!
Many thanks to all contributors and their continuous support!
Spread the news!
Please share the news via other networks:
Find and place job offers and professional consultants in the XMPP job board.
Subscribe to the monthly XMPP newsletterSubscribe
Also check out our RSS Feed!
Help us to build the newsletter
We started drafting in this simple pad in parallel to our efforts in the XSF Github repository. We are always happy to welcome contributors. Do not hesitate to join the discussion in our Comm-Team group chat (MUC) and thereby help us sustain this as a community effort. We really need more support!
You have a project and write about it? Please consider sharing your news or events here, and promote it to a large audience! And even if you can only spend a few minutes of support, these would already be helpful!
Tasks we do on a regular basis are for example:
- Aggregation of news in the XMPP universe
- Short formulation of news and events
- Summary of the monthly communication on extensions (XEP)
- Review of the newsletter draft
- Preparation for media images
- Translations: especially German, French, Italian and Spanish
This newsletter is published under CC BY-SA license.