XMPP works - 1 July 2020
Welcome to the XMPP newsletter covering the month of June 2020.
Subscribe to the newsletter
We suggest you to subscribe to receive the next editions in your inbox as soon as it is published! Promote this newsletter to whoever may be interested.
Help us to build the newsletter
We started drafting every new issue 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.
You have a project and write about it? Please consider sharing your news or events here, and promote it to a large audience! Even if you can only spend a few minutes, these would already be helpful! Tasks which need to be done 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 - Translations: especially German and Spanish
Translations of the XMPP Newsletter will be released here:
JC Brand created an XMPP job board! It enables people to review job offers as well as advertise XMPP services. Please take a look, post your own offers and recommend it. XMPP works!
Ingo Jürgensmann wrote an article on the backround of the 'Jabber' and 'XMPP' terminology and their differences and similarities.
:de: The XMPP client Dino is one out of three projects which were awarded with the 10th Thomas Krenn Award.
Michał Piotrowski wrote an article on how to quick start Instant Messaging implementation to an app. He discusses the value of a chat feature in an app, scalability, customising and common mistakes: 'Choose your XEP, and choose wisely.'
:fr: Linuxfr.org user Space_e_man proposed his short overview of Quicksy the easy XMPP based libre instant messaging platform. While the article itself concentrates on the reasons why it should be prefered to other proprietary solutions, the comments of linuxfr.org users, as usual, bring a lot of various points of view, as well as alternatives.
:es: Conociendo XMPP - The 'Comunidad Latina de Tecnologías Libres' had an online introduction to XMPP for users back in April 2020. We would like to point you to the video, even if it is a bit late. They also offer a user chat reachable under this (short and handy) address firstname.lastname@example.org.
Daniel Gultsch and Holger Weiss had a virtual talk on their A/V implementation in Conversation and they described the technical details. The session was finalized with a second talk by eta who defined love by this formula: Asterisk + XMPP = <3
:de: Prof. Dr. P. Löbbecke spoke in a virtual talk about "Freie Messenger - Sichere Kommunikation" ('Free Messengers - Secure Communication') which also included XMPP (German).
Clients and applications
Gajim 1.2.0 has been released. More than a year after the release of Gajim 1.1.3, it is finally time for Gajim 1.2. A year put at use to develop new features, clean up old code, and fix bugs. Highlights of this release are (amongst others): improved group chat system, completely rewritten network code, and a new account creation assistant. And there is much more to discover. Gajim Development News: June already brought Gajim 1.2, python-nbxmpp 1.0, and many plugin updates. But there is more: Blind Trust Before Verification for OMEMO, drag and drop improvements, and a new translation service for Gajim.
Anu, the main developer of Monal, pushed new beta builds out for iOS and Mac - thanks to Thilo's and Friedrich's efforts, there are new debug features included. He asks to supply debug logs for existing issues, where possible.
Profanity released its version 0.9.0 which supports Last Message Correction (XEP-0308) and fixes various issues that can be found in their blog post. After the new major release, bugfix releases 0.9.1, 0.9.2, 0.9.3 and 0.9.4 followed.
JSXC released version 4.1.1 which fixes several video related issues and enhances interoperability with Conversations. Additionally, a first experimental desktop build for all platforms was released. The project is looking for early testers and people with experience in Electron and the Travis build chain.
The ignite realtime community released Openfire Beta 4.6.0, implementing XEP-0289, Federated MUC for Constrained Environments and improved PEP/PubSub support. If you have time to test please join them to help out!
Gajim’s XMPP library 'python-nbxmpp' had its 1.0 release. Being a friendly fork of the xmppy library back in the days, many things changed since then. A lot of work went into it, especially during the past year. If you’re interested, there is a simple example client included.
Did you actually know? League of Legends uses XMPP in their backend.
Google Summer of Code
Since the beginning of May students all over the world are working on many open-source projects within the Google Summer of Code Season 2020. We would like to introduce the students who work on GSoC XMPP projects and share their blog posts:
Aditya Borikar is working on WebSocket support for Smack. Blog history: - Chapter 1: Handshake - Chapter 2: Modular Shift - Chapter 3: SASL Negotiations - Chapter 4: Fixing loose endpoints - Chapter 5: Discrete Http Lookup Method - Chapter 6: A Part Of The Whole, Merged
Anmol (wolfie_anmol) is working on implementing Real Time Texting in Dino (XEP-0301). Blog history: - GSoC 2020 begins - Introduction to RTT - RTT stanza and message comparision - Receiving Real Time Texts - User Interface
Thank you for joining GSoC XMPP projects and keep up the good work! To be continued.
Extensions and specifications
- Version 0.5.0 of XEP-0373 (OpenPGP for XMPP)
- Use RFC 4880 terminology: it is "primary key", not "master key".
- Clarify encryption of secret key material.
Move the information from the 'date' attribute into the item ID. (fs)
Version 1.3.0 of XEP-0156 (Discovering Alternative XMPP Connection Methods)
Fix reference to RFC 6415 and organize requirements more clearly. This raises the JSON requirement from MAY (OPTIONAL) to SHOULD (effectively), to accustom web-based software. (fs)
Version 1.1.0 of XEP-0157 (Contact Addresses for XMPP Services)
Add 'status-addresses' value in registrar, with example. (mb, fs)
Version 0.1.0 of XEP-0440 (SASL Channel-Binding Type Capability)
Accepted by vote of Council on 2020-05-27. (XEP Editor (jsc))
Version 0.3.1 of XEP-0390 (Entity Capabilities 2.0)
Add another xml:lang example (fs)
Version 0.6.0 of XEP-0384 (OMEMO Encryption)
Incorporate feedback around cryptographic terms and content by Sofía Celi. (ps)
Version 0.3.0 of XEP-0424 (Message Retraction)
- Clarify when a service must advertise support via disco.
Add another service discovery URN for tombstones. (jcb)
Version 0.4.0 of XEP-0393 (Message Styling)
Remove description of mechanism for disabling styling on individual spans and blocks, users can do this themselves without us documenting the use of a codepoint that's not specifically for this purpose. (ssw)
Version 0.3.0 of XEP-0393 (Message Styling)
- Add ability to disable styling, further clarify accessibility considerations, and mention that Styling is not Markdown in the security considerations section. (ssw)
This XMPP Newsletter is produced collaboratively by the community.
Thanks to emus, mdosch, nyco, pep., pmaziere, sualko, vanitasvitae, wurstsalat3000 for their help in creating it!
Spread the news!
Please share the news on "social networks":
This newsletter is published under CC BY-SA license.