18 KiB
title | date | categories | |
---|---|---|---|
The XMPP Newsletter December 2022 & January 2023 | 2023-02-05 |
|
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of December 2022 & January 2023. This is the first release after a well-deserved winter break! Many thanks to all our readers and all contributors!
Like this newsletter, 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, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Read more at the bottom.
XSF Announcements
If you are interested in becoming an XSF member, the listings are open until 19th February 2023.
XSF fiscal hosting projects
The XSF offers fiscal hosting for XMPP projects. Please apply via Open Collective. For more information, see the announcement blog post. Current projects:
Google Summer of Code 2023
{{< figure src="/images/logos/gsoc-2023-logo.svg" caption="XSF and Google Summer of Code 2023" >}}
We are considering to participate the Google Summer of Code 2023! If you are interested start reading here.
XMPP Events
- XMPP Summit 25 and at FOSDEM 2023
- XMPP Office Hours: available on our YouTube channel
- Berlin XMPP Meetup (remote): monthly meeting of XMPP enthusiasts in Berlin, every 2nd Wednesday of the month
XMPP Talks
- XMPP - End of the year 2022 talk
- Interoperable Chat, Dutch Healthcare and the Digital Services Act Winfried shares the many challenges faced while working on a standard for interoperable chat in healthcare that’s compatible with the EU’s new regulations.
- P10K: getting 10000 participants into a Jitsi meeting, Saúl from the Jitsi team reveals their interesting journey to reach 10000 participants in an XMPP-powered Jitsi video conference.
- Modernizing Authentication and Authorization in XMPP: Matthew Wild, founder of the Prosody and Snikket projects, explains why it’s time for us to look beyond passwords for authentication.
Articles
A stress test of PeerTube streaming server [FR] including a live chat based on XMPP (Prosody) was performed. It helped to identify a number of possible optimizations in the Peertube live chat plugin. Read the plugin author's post for more details.
{{< figure src="/images/newsletter/2023-02-05/peertube.jpg" caption="Peertube with XMPP-based live chat" >}}
Jabber.org, the original XMPP instant messaging service was migrated to the Prosody IM server on the weekend of January 14-15th. Full history: jabberd -> ejabberd -> Isode M-Link -> Prosody IM
An article about "Tokenization of sustainable real estate in Smart Cities : Monetization as basis for construction, authorization and carbon neutralization in CPS" (using techniques based on XMPP) was presented on IECON2022 and got published recently.
JMP's December Newsletter talks about their new co-op structure, an important security fix in the Cheogram Android app, and a review of the highlights of 2022. JMP's January Newsletter mentions another new release including a new XMPP Threaded Chat UI and new payment options for the service. Last but not least: Writing a Chat Client from Scratch in Ruby.
Snikket informs about the F-Droid security warnings and their Security update. The issues has been solved already.
vanitasvitae writes about PGPainless: Use Any SOP Binary With SOP-Java and External-SOP
nicfab writes about the new EU NIS 2 directive: does it apply to anyone who provides free online digital services?
Software news
Clients and applications
BeagleIM 5.3.2, 5.3.3 and SiskinIM 7.3.1, 7.3.2 have been released with an option to block whole domains and a number of bugfixes. And brand new logos and icons.
Conversation 2.11.0 to 2.12.1 have been released! They implement Extensible SASL Profile, Bind 2.0 + Channel Binding and Fast for faster reconnects. Furthermore the ability to switch from audio call to video call, to delete your own avatar and a notification for missed calls has been added. Since version 2.12.0 it now also integrates an UnifiedPush Distributor to facilitate push messages to other UnifiedPush enabled apps like Tusky and Fedilab. Users can use the developer provided UP server or ask their server admins to host an UP server as an universal XMPP transport component or load the new Prosody module. As announced in the November 2022 newsletter version 3.0 got funded, hence development has started already, you can keep an eye on its pace in the new c3
code branch.
Gajim 1.6.0 and 1.6.1 have been released. For Gajim 1.6, developers ported Gajim’s and python-nbxmpp’s underlying HTTP library to libsoup3. Also, audio previews now look nicer and allow for more control (playback speed, jumping). Emoji rendering on MacOS has been repaired and many fixes have been implemented under the hood.
Libervia has been granted a NLnet NGI Assure Fund for implementation of Audio/Video Calls.
Moxxy 0.4.0 and 0.4.1 have been released. These two releases bring stickers, reactions, voice message recording and various improvements and fixes to the UI and XMPP code.
From the ignite realtime community:
-
Spark 3.0.1 Released {{< figure src="/images/newsletter/2023-02-05/spark.png" caption="Spark 3.0.1" >}}
-
A Denial of Service Vulnerability in Smack 4.4 has been fixed
-
The community started a call for help with translating Spark and Openfire
Servers
ejabberd 23.01 has been released. Almost three months after the previous release, ejabberd 23.01 includes many bug fixes, several improvements and some new features. A new module, mod_mqtt_bridge, can be used to replicate changes to MQTT topics between local and remote servers. Supported XEPs are now automatically gathered from source code documentation in order to provide a DOAP file for further processing on xmpp.org/servers/ejabberd.
Prosody 0.12.2 and Prosody 0.11.14 have been released. The 0.12 release brings bug fixes and improvements.
Tigase XMPP Server 8.3 has been released. It includes Tigase MEET - Tigase's take at SFU (Selective Forwarding Unit) group video-calls, support for XEP-0440 SASL Channel Binding Type Capability as well as initial, preview support for SASL2 and Bind2 and lots of usual fixes.
Libraries & Tools
omemo_dart is a Dart library to help developers of Dart/Flutter XMPP clients to implement OMEMO in its newest version - currently 0.8.3. It has been released in version 0.4.2.
python-nbxmpp 4.0.0 to 4.1.0 have been released. These versions bring support for Message Reactions (XEP-0444) and port the library to libsoup3.
A new tool for server operators and developers has arrived: nbxmpp-client lets you check and test various XMPP connection methods (and proxy configurations) while having an eye on the protocol's XML stream. Version 2.0.0 has just been released and comes with a fresh design (Gtk4+libadwaita).
Slidge 0.1.0 RC1 has been released. Slidge is a collection of XMPP gateway components that lets you use your favorite XMPP client(s) to chat with other, non-XMPP and/or non-federated chat networks (i.e. WhatsApp, Facebook, Mattermost, Signal, Skype, Steam, Telegram).
Daniel Gultsch's compliance.conversations.im will be discontinued. This online compliance checker allowed server administrators and users to identify the XEPs/features supported by a provider, and it also allowed to check XEP support over time. This service helped users to check whether they are creating a future-proof account with a provider. Due to difficulties in maintaining the software, the service will be shut down in the near future.
QXmpp 1.5 has been released! The Qt-/C++-based XMPP library supports OMEMO 2, Stanza Content Encryption and Automatic Trust Management now. Much more data than with the old OMEMO versions can be end-to-end encrypted. For example, files including thumbnails are shared encrypted via Stateless File Sharing. Furthermore, Message Reactions is supported and QXmpp's PubSub implementation is almost feature-complete.
Extensions and specifications
The XMPP Standards Foundation develops extensions to XMPP in its XEP series in addition to XMPP RFCs.
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).
Proposed
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.
- XMPP Compliance Suites 2023
- This document defines XMPP application categories for different use cases (Core, Web, IM, and Mobile), and specifies the required XEPs that client and server software needs to implement for compliance with the use cases.
- Stream Limits Advertisement
- This specification defines a way for an XMPP entity to announce the limits it will enforce for data received on a stream.
New
- Version 0.1.0 of XEP-0477 (Pubsub Targeted Encryption)
- Accepted by vote of Council on 2022-11-30. (XEP Editor (jsc))
- Version 0.1.0 of XEP-0476 (Pubsub Signing: OpenPGP Profile)
- Accepted by vote of Council on 2022-11-30. (XEP Editor (jsc))
- Version 0.1.0 of XEP-0475 (Pubsub Signing)
- Accepted by vote of Council on 2022-11-30. (XEP Editor (jsc))
- Version 0.1.0 of XEP-0471 (Events)
- Accepted by vote of Council on 2022-09-28. (XEP Editor (jsc))
- Version 0.1.0 of XEP-0474 (SASL SCRAM Downgrade Protection)
- Accepted by vote of Council on 2022-10-19. (XEP Editor (jsc))
- Version 0.1.0 of XEP-0473 (OpenPGP for XMPP Pubsub)
- Accepted by vote of Council on 2022-10-19. (XEP Editor (jsc))
- Version 0.1.0 of XEP-0472 (PubSub Social Feed)
- Accepted by vote of Council on 2022-10-19. (XEP Editor (jsc))
Deferred
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.
Updated
- Version 0.2.0 of XEP-0474 (SASL SCRAM Downgrade Protection)
- Add description of attack model
- Add section defining IETF interaction (tm)
- Version 0.2.0 of XEP-0461 (Message Replies)
- Fix example character counting. Add disco feature. Relax the 'to' attribute constraints. (nc)
- Version 0.1.1 of XEP-0444 (Message Reactions)
- Add the XML Schema (egp)
- Version 0.3.0 of XEP-0426 (Character counting in message bodies)
- Added section about subsequences. (lmw)
- Version 0.5.0 of XEP-0353 (Jingle Message Initiation)
- Recommend usage of UUID v4 for id attributes. (tm)
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 feedback gathered during the Last Call help improving the XEP before returning it to the Council for advancement to Stable.
- No Last Call this month.
Stable
- No XEP moved to stable this month.
Deprecated
- No XEP deprecated this month.
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.
Spread the news!
Please share the news on other networks:
{{< newsletter-subscribe >}}
Also check out our RSS Feed!
Looking for job offers or want to hire a professional consultant for your XMPP project? Visit our XMPP job board.
Newsletter Contributors & Translations
This is a community effort, and we would like to thank translators for their contributions. Volunteers are welcome! Translations of the XMPP Newsletter will be released here (with some delay):
- English (original): xmpp.org
- General contributors: Alexander "PapaTutuWawa", emus, Licaon_Kter, Ludovic Bocquet, MattJ, MSavoritias (fae,ve), wurstsalat, Zash
- French: jabberfr.org and linuxfr.org
- Translators: Adrien Bourmault (neox), alkino, anubis, Benoît Sibaud, Pierre Jarillon, Ppjet6, Ysabeau
- German: xmpp.org and anoxinon.de
- Translators: Jeybe, wh0nix
- Italian: nicfab.it
- Translators: nicfab
- Spanish: xmpp.org
- Translators: daimonduff, TheCoffeMaker
Help us to build the newsletter
This XMPP Newsletter is produced collaboratively by the XMPP community. Each month's newsletter issue is drafted in this simple pad. At the end of each month, the pad's content is merged into 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 want to spread the news? Please consider sharing your news or events here, and promote it to a large audience.
Tasks we do on a regular basis:
- gathering news in the XMPP universe
- short summaries of news and events
- summary of the monthly communication on extensions (XEPs)
- review of the newsletter draft
- preparation of media images
- translations
- communication via media accounts
License
This newsletter is published under CC BY-SA license.