Welcome to the XMPP newsletter covering the month of August 2020.
Newsletter translations
Translations of the XMPP Newsletter will be released here:
- French on linuxfr.org and jabberfr.org
Articles
Lorenz Kästle wrote an article (in German and English) on how to setup an Icinga 2 notification system using python3-slixmpp (reposity on Github).
Software news
Clients and applications
The multi-platform desktop client Gajim 1.2.2 has been released. It brings an automatic weekly update check for Gajim on Windows and MacOS, a big status message overhaul, and many improvements. More development news from August: The settings backend received an upgrade to migrate from text files to SQLite based storage, and a lot of code has been cleaned up, which should make it easier for you to handle all of Gajim’s configuration possiblities.
The iOS and macOS client Monal is now managing translations on Weblate. 27 languages are waiting for excellent and native speakers! Please also check out the current Monal Beta 4.7.0 and get ready for the upcoming release!
There have been UI and file sharing improvements on the “Salut à Toi” project:
-
Libervia, the web frontend, has seen a major UI revamp, with a new theme based on Bulma CSS framework. The W31 progress note also explains how the templating engine Nunjucks is used in the browser to use the same templates as in the Jinja 2 based backend.
-
The file sharing component included in SàT now implements XEP-0363 (HTTP File Upload), which completes the XEP-0234 (Jingle File Transfer) method. Files uploaded to this component from any XMPP client will appear in SàT’s file sharing UI, and can be deleted from there or with XEP-0050 (Ad-Hoc Commands).
-
Libervia photo album has been greatly improved with a mobile and desktop friendly slideshow, easy way to upload files from browser, and integration of videos. Work is currently in progress to make SàT/Libervia a good fit for an XMPP based familial social network, with a release expected around the end of September or beginning of October.
The Android client aTalk 2.4.0 has been released. Changes are mainly internal with several libraries upgrades and compilation fixes. It was followed by version 2.4.1 which fixes an Android Q specific storage issue.
The desktop client Dino received a NGI0 PET Fund managed by NLnet which receives financial support from the European Commission’s Next Generation Internet program. This allows the developers to dedicate time and efforts to implement video and audio calls into their client. This is really great news!
The multi-platform client Kaidan 0.6.0 has been released. The update includes stability fixes, a new offline message queue, and improved message correction. Furthermore, the upstream HTTP File Upload implementation of its XMPP library QXmpp is used now.
Spark, the multi-platform client from the Ignite RealTime community, has released its long overdue version 2.9.0, with improvement in certificates management, and additional file transfer methods. It was followed by 2.9.1 and 2.9.2. Go ahead and check the changelog for the numerous bug fixes and improvements.
Servers
The java based Tigase XMPP Server is now available as a Docker image to facilitate its deployment on your server.
The Ignite Realtime community XMPP server, Openfire, has a new plugin to make the JSXC web client available to its users.
Libraries
The Ignite RealTime community modular XMPP client library Smack has had its first beta release for the upcoming release of Smack version 4.4! The list of changes ranges from a new modular transport API which makes it easy to swap the underlying transport mechanism of an XMPP connection during runtime, to added support for XEP-0373 (OpenPGP for XMPP), XEP-0424 (Message Retraction), and about a dozen other specifications. As usual, it’s available on Maven Central.
python-nbxmpp, the library powering Gajim, had it’s 1.0.2 release. The latest version contains some domain mapping improvements and fixes network issues which occured under certain circumstances after suspending the device.
Other
Want a coffee with a taste of XMPP? Over the past months COM8 has been working on creating a reference implementation for his new XMPPIoT protocol. A first rather basic draft has been published in his B.Sc. Thesis. Using the Windows 10 UWP XMPP client UWPX, it is possible to register a JURA coffee maker as a new IoT device. This allows sending and receiving commands from and to it, using an ESP32 from Espressif (low-power and low-cost system on a chip microcontroller). The ESP32 functions as a proxy between XMPP and the proprietary JURA protocol. A video of the working prototype can be found on Twitter.
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
- Chapter 7: The Bigger Picture
- Chapter 8: Reworking FSM
- Chapter 9: Bug Fixation
- Chapter 10: End of the second phase
- Chapter 11: TLS - The Last Stage
- Chapter 12: Titbits
- Chapter 13: Testing
- Chapter 14: Final Stage
Anmol (wolfie_anmol) is working on implementing Real Time Texting (XEP-0301) in Dino. Blog history:
- GSoC 2020 begins - Introduction to RTT
- RTT stanza and message comparision
- Receiving Real Time Texts
- User Interface
- Settings to Enable/Disable RTT
- Settings Radio Button Menu
- Realistic RTT with wait
- Support for Multiple Devices and MUCs
Thank you for joining GSoC XMPP projects and keep up the good work! These last posts mark the end of 2020’s Google Summer of Code. Thanks to all participants within the XMPP community for their great work. Stay safe and stay connnected with XMPP!
Extensions and specifications
Read more about the standards process.
New
-
XEP-0442 (Pubsub Message Archive Management)
- This document defines a protocol to query and control a pubsub node’s message archive. (Accepted by vote of Council on 2020-08-19)
-
XEP-0441 (Message Archive Management Preferences)
- This document defines a protocol to control a user’s archiving preferences. (Accepted by vote of Council on 2020-08-19)
Updated
-
Version 1.19.0 of XEP-0060 (Publish Subscribe)
- Add missing ‘item’ key and ‘retrieve’ action to query type registry.
-
Version 1.2 of XEP-0178 (Best Practices for Use of SASL EXTERNAL with Certificates)
- Add fallback to dialback if EXTERNAL authentication fails due to practical experience
-
Version 1.33.0 of XEP-0045 (Multi-User Chat)
- Clarify that the 307 status code should not be used alongside 333 for user disconnects
-
Version 0.2.0 of XEP-0440 (SASL Channel-Binding Type Capability)
- Discuss interaction with SASL mechanism and add security considerations
- Recommend implementation of tls-server-end-point
-
Version 1.2 of XEP-0048 (Bookmarks)
- Deprecate in favour of XEP-0402 (PEP Native Bookmarks)
Last Call
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 feedbacks gathered during the Last Call help improving the XEP before returning it to the Council for advancement to Draft.
Proposed Extensions
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.
-
Pubsub Message Archive Management
- This document defines a protocol to query and control a pubsub node’s message archive.
-
Message Archive Management Preferences
- This document defines a protocol to control a user’s archiving preferences.
Thanks all!
This XMPP Newsletter is produced collaboratively by the community.
Thanks to COM8, emus, jcbrand, jerome-poisson, jonas’, Licaon_Kter, melvo, pmaziere, SeveFP, vanitasvitae, wurstsalat, Zash for their help in creating it!
Spread the news!
Please share the news on “social networks”:
Find and place job offers in the XMPP job board.
Subscribe to the newsletter
We suggest you to subscribe to receive the next editions in your inbox as soon as they are 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 and 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
- Preparation for media images
- Translations: especially German and Spanish
License
This newsletter is published under CC BY-SA license.