Software:Comparison of XMPP clients

From HandWiki
Revision as of 10:11, 3 January 2024 by Verilofrea (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The following is a general comparison of notable XMPP clients, which are instant messaging designed for decentralized, standardized, extensible, interoperable, federated, network using the XMPP protocol, which are open standard.

The architecture of the XMPP network is similar to email; anyone can run their own XMPP server and there is no central master server. This federated open system approach allows users to interoperate with others on any server using a 'JID' user account, similar to an email address.

General

Basic general information about the notable XMPP messengers: creator/company, license, among others.

Client Developer Initial release Latest release License User Interface Programming language
AstraChat[1][2] Rockliffe Systems Proprietary GUI Unknown
BeagleIM[3] Tigase, Inc. GPL-3.0 GUI Swift TigaseSwift
BitlBee BitlBee team, with Wilmer van der Gaast as Lead Developer 09.09.2002 GPL-2.0 TUI C
Bombus Eugene Stahov (evgs) 25.08.2008 GPL-2.0-or-later GUI Java, C++
ChatSecure Chris Ballinger, David Chiles, and contributors 1.0.2 / February 27, 2012 5.0.2 Apr 16, 2020 GPL-3.0-or-later GUI Objective-C, Swift
Cisco Jabber[4] Cisco Systems, Inc. Proprietary GUI Unknown
Conversations[5][6] Daniel Gultsch 24.03.2014 GPL-3.0 GUI Java
Converse.js[7] JC Brand 28.03.2013 MPL-2.0 Web JavaScript
Dino[8] Dino team v0.3.0 12 Feb 2022 GPL-3.0 GUI Vala
Gajim[9][10] Gajim Developers 21.05.2004 GPL-3.0-only GUI Python
jabber.el Community-driven GPL-2.0[11] TUI Emacs lisp
JSXC[12] Klaus Herberth, Marcel Waldvogel, Daniel Scharon, Tobia De Koninck MIT Web JavaScript
Kaidan[13] Kaidan team Feb 26, 2017 0.8.0
28 May 2021
GPL-3.0-or-later, MIT, MIT-apple, apache 2.0, CC-BY-SA-4.0 GUI C++
Kopete KDE GPL-2.0-or-later GUI C++ (Qt)
Miranda NG[14] Miranda IM Project ??.05.2012 GPL-2.0-or-later GUI C, C++
Monal IM[15] 2011 BSD 2-Clause License GUI Objective-C
Movim Timothée Jaussoin 2.0
19 February
AGPL-3.0-or-later GUI PHP
Pidgin 31.12.1998 GPL-2.0-or-later GUI/TUI C
Profanity James Booth, Michael Vetter ??.08.2012 0.12.1
4 April 2022
GPL-3.0 TUI C
Psi+[16] The Psi Team 7.07.2001 GPL-2.0-or-later GUI C++ (Qt)
Libervia (formerly Salut à Toi) 2008 22 Mar 2022 AGPL-3.0-or-later GUI Python
SiskinIM[17] Tigase, Inc 7.2
5 Apri 2022
GPL-3.0 GUI Swift
spark Per Wendel Apache 2.0 GUI Java
Tkabber The Tkabber Team 2002 1.1.2
05/28/2015
GNU GPL GUI Tcl/Tk
yaxim[18] Georg Lukas 2009-12-29 2017-03-15 GPL-3.0 GUI Java
Xabber Redsolition OÜ 2.6.6 / 7 October 2019 GPL-3.0-or-later GUI Java
slixmpp[non-primary source needed] Nathan Fritz MIT Library Python
Qxmpp [19] Library C++
aioxmpp[non-primary source needed] Library Python 3
Tigase swift[non-primary source needed] AGPLv3 Library Swift
XMPPframerwork[non-primary source needed] Public domain Library Objective-C
Client Developer Initial release Latest release License

Operating system support

The operating systems the messengers can run on without emulators or compatibility layers[20]

Client Operating system
Windows macOS Linux Web Android iOS BSD Other Portability Library
AstraChat Yes Yes Yes No Yes Yes No BlackBerry 10 86%
beagle IM No Yes No No No No No 14%
BitlBee Yes Yes Yes Yes[21] No No Yes AmigaOS 86%
Bombus No No No No No No No JavaME, .NET Framework 14% Independent
ChatSecure No No No No No Yes No 14% XMPPFramework
Cisco Jabber Yes Yes No Yes Yes Yes No 71%
Conversations No No No No Yes No No 14% Smack
converse.js Yes Yes Yes Yes No No No 57% Strophe.js
Dino No No Yes No No No Yes 29% Iris
Gajim Yes No Yes No No No Yes 43% nbxmpp
jabber.el Yes Yes Yes No Yes No Yes Solaris, AIX, HP-UX, Haiku 129% Independent
JSXC No No No Yes No No No 14% Strophe.js
Kaidan Yes Yes Yes Yes Yes Yes No Ubuntu Touch 100% QXmpp
Kopete Yes No Yes No No No No 14% Wokkel
Miranda NG Yes No No No No No No 14% Independent
Monal IM No Yes No No No Yes No 29% libstrophe
Movim No No No Yes No No No 14% XMPPHP library, which is a fork of the JAXL library
Pidgin Yes Yes Yes No No No Yes Solaris, Illumos 86% libpurple
Profanity Yes Yes Yes No Yes No Yes 71% libstrophe
Psi+ Yes Yes Yes No No No No haiku 57% iris
Salut à Toi[22] No No Yes Yes Yes No No 43% wokkel]
SiskinIM No No No No No Yes No 14% Tigase Switft
spark Yes Yes Yes Yes No No No 57% Smack
Tkabber Yes Yes Yes No No No Yes Solaris 71% iris
yaxim No No No No Yes No No 14% Smack
Xabber No No No No Yes No No 14% Smack
Supporting 47% 43% 47% 27% 30% 20% 23%
Client Windows macOS Linux Web Android iOS BSD Other Portability Library

Features

The table below details the level of support for the requirements set by XEP-0479: XMPP Compliance Suites 2023.

Core Compliance Suite

The core compliance level includes full support of the XMPP RFC's/XEP's as well as the most common extensions.

Core client

Client
XEP status
Core features
(RFC 6120)
TLS
(RFC 7590)
Service Discovery
(XEP-0030)
Entity Capabilities
(XEP-0115)
N/A N/A Final Stable
AstraChat[23] Yes ? ? ?
BeagleIM[24] ? ? ? ?
BitlBee[25] ? ? ? ?
Bombus[26] ? ? Yes Yes
ChatSecure[27][28][29][30][31][32] ? ? ? ?
Cisco Jabber[33] ? ? Yes Yes
Conversations[34] Yes Yes Yes Yes
Converse.js[35] Yes ? Yes Yes
Dino[36][37] Yes Yes Yes Yes
Gajim[38] Yes Yes Yes Yes
jabber.el[39] ? ? Yes ?
JSXC[40] Yes ? Yes Yes
Kaidan[41] Yes ? Yes ?
Kopete[42]
Miranda NG[43] ? ? Yes Yes
Monal IM[44] Yes Yes Yes Yes
Movim[45] Yes Yes Yes Yes
Pidgin[46] ? ? Yes Yes
Profanity[47][48] Yes Yes Yes Yes
Psi+[49] ? ? Yes Yes
Salut à Toi[50] ? ? ? Yes
SiskinIM[51] ? ? ? ?
Spark[52] ? ? ? ?
Tkabber[53] ? ? Yes ?
Yaxim[54] ? ? Yes Yes
Xabber[55][56][57] ? ? ? Yes
slixmpp (lib.)[58] Yes Yes Yes Yes
QXmpp (lib.)[59] ? ? Yes Yes
aioxmpp (lib.)[60] Yes Yes Yes Yes
Tigase swift (lib.)[61]
XMPPframerwork (lib.)[62]
Client
XEP status
Core features
(RFC 6120)
TLS
(RFC 7590)
Service Discovery
(XEP-0030)
Entity Capabilities
(XEP-0115)
Interoperability 40% 27% 67% 63%

Advanced client

Client
XEP status
SRV records for XMPP over TLS
(XEP-0368)
Personal Eventing Protocol
(XEP-0163)
Stable Stable
AstraChat ? ?
BeagleIM ? ?
BitlBee ? ?
Bombus ? Yes
ChatSecure ? ?
Cisco Jabber ? Yes
Conversations Yes Yes
Converse.js ? Partial
Dino Yes Yes
Gajim Yes Yes
jabber.el ? ?
jsxc ? ?
Kaidan ? ?
Kopete
Miranda NG ? Yes
Monal IM Yes Yes
Movim Yes Yes
Pidgin ? Yes
Profanity ? ?
Psi+ ? Yes
Salut a toi ? Yes
SiskinIM ? ?
Spark ? ?
Tkabber ? ?
Yaxim ? ?
Xabber ? ?
slixmpp (lib.) ? Yes
QXmpp (lib.) ? ?
aioxmpp (lib.) Yes Yes
Tigase swift (lib.)
XMPPframerwork (lib.)
Client
XEP status
SRV records for XMPP over TLS
(XEP-0368)
Personal Eventing Protocol
(XEP-0163)
Interoperability 20% 47%

Web Compliance Suite

The web compliance level includes all features from the core compliance category as well as all features in this suite.

Core client

Client
XEP status
Web Connection Mechanisms Connection Mechanism Discovery
(XMPP) Subprotocol for WebSocket
(RFC 7395)
XMPP Over BOSH
(XEP-0206)
Bidirectional-streams Over Synchronous HTTP (BOSH)
(XEP-0124)
Discovering Alternative XMPP Connection Methods
(XEP-0156)
N/A N/A Stable Stable
AstraChat ? ? ? ?
BeagleIM ? ? ? ?
BitlBee ? ? ? ?
Bombus ? ? ? ?
ChatSecure ? ? ? ?
Cisco Jabber ? ? Yes ?
Conversations ? ? ? ?
Converse.js Yes Yes Yes Yes
Dino ? ? ? ?
Gajim Yes ? ? Partial[Note-gajim 1]
jabber.el ? ? ? ?
JSXC ? Yes Yes ?
Kaidan ? ? ? ?
Kopete
Miranda NG ? ? ? ?
Monal IM ? ? ? ?
Movim ? Yes Yes ?
Pidgin ? Yes Yes Partial
Profanity ? ? ? ?
Psi ? ? ? ?
Salut a toi ? ? ? ?
SiskinIM ? ? ? ?
Spark ? ? ? ?
Tkabber ? ? ? ?
Yaxim ? ? ? ?
Xabber ? ? ? ?
slixmpp (lib.) ? ? ? ?
QXmpp (lib.) ? ? ? ?
aioxmpp (lib.) ? ? ? ?
Tigase swift (lib.)
XMPPframerwork (lib.) ? ? ? Yes
Client / XEP Web Connection Mechanisms Connection Mechanism Discovery
(XMPP) Subprotocol for WebSocket
(RFC 7395)
Bidirectional-streams Over Synchronous HTTP (BOSH)
(XEP-0206)
BOSH
(XEP-0124)
Discovering Alternative XMPP Connection Methods
(XEP-0156)
Interoperability 7% 13% 17% 13%

IM Compliance Suite

The IM compliance level includes all features from the core compliance category as well as all features in this suite.

Core client

Client
XEP status
Core features
(RFC 6121)
The /me Command
(XEP-0245)
vcard-temp
(XEP-0054)
Message Carbons
(XEP-0280)
Multi-User Chat
(XEP-0045)
Direct MUC Invitations
(XEP-0249)
HTTP File Upload
(XEP-0363)
N/A Active Active Stable Stable Stable Stable
AstraChat ? ? Yes ? Yes ? ?
BeagleIM ? ? ? ? ? ? ?
BitlBee ? ? ? ? Yes ? ?
Bombus ? ? Yes ? Yes ? ?
ChatSecure ? ? ? ? ? ? Yes
Cisco Jabber ? ? Yes ? Yes ? ?
Conversations Yes Yes Partial Yes Yes Yes Yes
Converse.js Yes Yes Yes Yes Yes Yes Yes
Dino Yes Yes Partial[Note-dino 1] Yes Partial Partial[Note-dino 2] Yes
Gajim Yes Yes Yes Yes Yes Yes Yes
jabber.el ? Yes Yes ? Yes ? ?
JSXC Yes Yes Yes Yes Yes ? Yes
Kaidan Yes ? Yes Yes ? ? Yes
Kopete
Miranda NG ? Yes Yes Yes Yes Yes Yes
Monal IM Yes Yes Yes Yes Yes Yes Yes
Movim Yes Yes Yes Yes Yes ? Yes
Pidgin Yes Yes Yes Plug-In[63] Yes Yes Plug-In[64]
Profanity Yes Yes ? Yes Yes Yes Yes
Psi+ ? ? Yes Yes Yes Yes Yes
Salut a toi ? ? Yes ? Yes Yes Yes
SiskinIM ? ? ? ? ? ? ?
Spark ? ? ? Yes Yes ? ?
Tkabber ? ? Yes ? ? ? ?
Yaxim ? ? ? Yes Yes Yes Yes
Xabber ? ? Yes Yes Partial ? Yes
slixmpp (lib.) Yes ? Yes Yes Partial Yes Yes
QXmpp (lib.) ? Yes Yes Yes Yes Yes Yes
aioxmpp (lib.) Yes ? ? Yes Yes Yes Yes
Tigase swift (lib.)
XMPPframerwork (lib.) ? ? Yes Yes Yes ? Yes
Client
XEP status
Core features
(RFC 6121)
The /me Command
(XEP-0245)
vcard-temp
(XEP-0054)
Message Carbons
(XEP-0280)
Multi-User Chat
(XEP-0045)
Direct MUC Invitations
(XEP-0249)
HTTP File Upload
(XEP-0363)
Interoperability 40% 40% 67% 63% 80% 47% 67%

Advanced client

Client
XEP status
User Avatars
(XEP-0084)
User Avatar to vCard-Based Avatars Conversion
(XEP-0398)
vCard-Based Avatars
(XEP-0153)
Blocking Command
(XEP-0191)
Bookmark Storage
(XEP-0048)
Message Archive Management
(XEP-0313)
PEP Native Bookmarks
(XEP-0402)
MUC Self-Ping (Schrödinger's Chat)
(XEP-0410)
Best Practices for Persistent Storage of Private Data via Publish-Subscribe (XEP-0223)
Stable Deferred Active Stable Deprecated Stable Stable Stable Active
AstraChat ? ? Yes Yes ? ? ? ? ?
BeagleIM ? ? ? ? ? Yes ? ? ?
BitlBee ? ? ? ? ? ? ? ? ?
Bombus ? ? Yes ? Yes ? ? ? ?
ChatSecure ? ? ? ? Yes Yes ? ? ?
Cisco Jabber ? ? ? ? ? ? ? ? ?
conversations Yes Yes Partial Yes Yes Yes ? Yes Yes
Converse.js ? ? ? ? Yes Yes ? ? ?
Dino Yes Yes Deprecated[Note-dino 3] Yes Yes Partial[Note-dino 4] Yes Yes Yes
gajim Yes Yes Yes Yes Yes Yes ? ? Yes
jabber.el ? ? Yes ? ? ? ? ? ?
JSXC ? ? Yes ? Yes Yes ? ? ?
Kaidan ? ? Yes ? ? Yes ? ? ?
Kopete
Miranda NG ? ? Yes ? Yes Yes ? ? ?
Monal IM Yes ? Yes Yes Yes Yes Yes Yes Yes
Movim Yes ? Yes ? Yes Yes Yes ? ?
Pidgin Yes ? Yes Yes ? ? ? ? ?
Profanity ? ? ? Yes Yes ? ? ?
Psi+ Yes ? Yes ? Yes ? ? ? ?
Salut a toi ? ? Yes ? Yes Yes ? ? ?
SiskinIM ? ? ? ? ? ? ? ? ?
Spark ? ? ? ? ? ? ? ? ?
Tkabber ? ? ? ? Yes ? ? ? ?
Yaxim In Development ? In Development ? ? Yes ? Yes ?
Xabber ? ? Yes Yes Yes Yes ? ? ?
slixmpp (lib.) Yes ? Yes Yes Yes Yes ? ? Yes
QXmpp (lib.) ? ? Yes ? Yes Yes ? ? ?
aioxmpp (lib.) Yes ? ? Yes Yes ? ? ? ?
Tigase swift (lib.)
XMPPframerwork (lib.) ? ? Yes ? ? Yes ? ? Yes
Client / XEP User Avatars
(XEP-0084)
User Avatar to vCard-Based Avatars Conversion
(XEP-0398)
vCard-Based Avatars
(XEP-0153)
Blocking Command
(XEP-0191)
Bookmark Storage
(XEP-0048)
Message Archive Management
(XEP-0313)
PEP Native Bookmarks
(XEP-0402)
MUC Self-Ping (Schrödinger's Chat)
(XEP-0410)
Best Practices for Persistent Storage of Private Data via Publish-Subscribe (XEP-0223)
Interoperability 33% 10% 63% 33% 60% 57% 10% 13% 20%

Advanced client (cont.)

Client
XEP status
Private XML Storage (XEP-0049)[warning 1] Stream Management (XEP-0198) Message Delivery Receipts (XEP-0184) Chat State Notifications (XEP-0085) Last Message Correction (XEP-0308) Jingle File Transfer (XEP-0234) Jingle In-Band Bytestreams Transport Method (XEP-0261)
Active Stable Stable Final Stable Deferred Stable
AstraChat ? Yes Yes Yes ? ? ?
BeagleIM ? ? ? ? Yes ? ?
BitlBee ? ? ? Yes ? ? ?
Bombus Yes ? Yes Yes ? ? ?
ChatSecure ? ? Yes Yes ? ? ?
Cisco Jabber ? ? ? ? ? ? ?
conversations Yes Yes Yes Yes Yes Yes Yes
Converse.js ? Yes Yes Yes Yes ? ?
Dino Yes Yes Yes Yes Yes Partial Yes
gajim Yes Yes Yes Yes Yes Yes Yes
jabber.el Yes ? ? Yes ? ? ?
JSXC Yes ? Yes Yes ? Yes ?
Kaidan ? ? ? Partial ? ? ?
Kopete
Miranda NG Yes Yes Partial Yes ? ? ?
Monal IM ? Yes Yes Yes Yes Yes Yes
Movim Yes ? Yes Yes Yes ? ?
Pidgin ? ? ? Yes ? ? ?
Profanity ? ? Yes Yes Yes Yes ?
Psi+ Yes Yes Yes Yes Yes Yes ?
Salut a toi Yes ? ? Yes ? Yes Yes
SiskinIM ? ? ? ? Yes ? ?
Spark ? ? ? Yes ? ? ?
Tkabber Yes ? ? Yes ? ? ?
Yaxim ? Yes Yes ? Yes ? ?
Xabber ? Yes Yes Yes ? ? ?
slixmpp (lib.) Yes Yes Yes Yes Yes ? ?
QXmpp (lib.) ? Yes Yes Yes Yes ? ?
aioxmpp (lib.) Yes Yes Yes ? Yes ? ?
Tigase swift (lib.)
XMPPframerwork (lib.) ? ? Yes Yes Yes ? ?
Client / XEP Private XML Storage (XEP-0049)[warning 1] Stream Management (XEP-0198) Message Delivery Receipts (XEP-0184) Chat State Notifications (XEP-0085) Last Message Correction (XEP-0308) Jingle File Transfer (XEP-0234) Jingle In-Band Bytestreams Transport Method (XEP-0261)
Interoperability 43% 43% 63% 80% 50% 27% 17%

Further specifications of note, which are not required for compliance:

Client
XEP status
In-Band Registration
(XEP-0077)[warning 2]
Contact Addresses for XMPP Services
(XEP-0157)
Out-of-Band Data
(XEP-0066)
Stateless Inline Media Sharing (SIMS)
(XEP-0385)
Consistent Color Generation
(XEP-0392)
Message Styling
(XEP-0393)
Extended Channel Search
(XEP-0433)
Message Retraction
(XEP-0424)
Message Moderation
(XEP-0425)
Final Active Stable Deferred Experimental Stable Deferred proposed proposed
AstraChat ? ? ? ? ? ? ? ? ?
BeagleIM ? ? ? ? ? ? ? Yes ?
BitlBee ? ? ? ? ? ? ? ? ?
Bombus Yes ? Yes ? ? ? ? ? ?
ChatSecure Yes ? ? ? ? ? ? ? ?
Cisco Jabber ? ? Yes ? ? ? ? ? ?
conversations ? ? ? ? Yes Yes ? ? ?
Converse.js Yes ? Yes ? ? Yes ? Yes Yes
Dino Yes ? Partial[Note-dino 5] ? ? Partial ? ? ?
gajim Yes Yes Partial[Note-gajim 2] ? Yes Yes ? Yes Yes
jabber.el Yes ? Yes ? ? ? ? ? ?
JSXC ? ? ? ? ? ? ? ? ?
Kaidan Yes ? ? ? ? ? ? ? ?
Kopete
Miranda NG Yes ? Yes ? ? ? ? ? ?
Monal IM Yes ? Yes ? Yes ? ? ? ?
Movim Yes Yes ? Yes ? Partial ? Yes ?
Pidgin Yes ? Yes ? ? ? ? ? ?
Profanity Yes Yes ? ? Yes ? ? ? ?
Psi+ Yes Yes Yes Yes ? ? ? ? ?
Salut a toi Yes ? ? ? ? ? ?
SiskinIM ? ? ? ? ? ? ? Yes ?
Spark ? ? ? ? ? ? ? ? ?
Tkabber Yes ? Yes ? ? ? ? ? ?
Yaxim Yes ? ? ? ? Yes ? ? ?
Xabber ? ? ? ? ? ? ? ? ?
slixmpp (lib.) Yes ? Yes ? ? ? ? Yes Yes
QXmpp (lib.) Yes ? Yes ? ? ? ? ? ?
aioxmpp (lib.) Yes ? Yes ? ? ? ? ? ?
Tigase swift (lib.)
XMPPframerwork (lib.) ? ? Yes ? ? ? ? ? ?
Client / XEP status In-Band Registration
(XEP-0077)[warning 2]
Contact Addresses for XMPP Services
(XEP-0157)
Out-of-Band Data
(XEP-0066)
Stateless Inline Media Sharing (SIMS)
(XEP-0385)
Consistent Color Generation
(XEP-0392)
Message Styling
(XEP-0393)
Extended Channel Search
(XEP-0433)
Message Retraction
(XEP-0424)
Message Moderation
(XEP-0425)
Interoperability 63% 13% 50% 7% 13% 20% 0% 20% 10%

Mobile Compliance Suite

The mobile compliance level includes all features from the core compliance category as well as all features in this suite.

Client
XEP status
Client State Indication (XEP-0352)[warning 3] Push Notifications (XEP-0357)[warning 4] Mobile Considerations on LTE Networks
(XEP-0286)[warning 5]
Active Deferred Active
AstraChat ? ? ?
BeagleIM ? ? ?
BitlBee ? ? ?
Bombus ? ? ?
ChatSecure Yes Yes ?
Cisco Jabber ? ? ?
Conversations Yes Yes[Note-conversations 1] ?
converse.js Yes Yes ?
Dino ? ? ?
Gajim ? ? ?
jabber.el ? ? ?
JSXC ? ? ?
Kaidan Yes ? ?
Kopete
Miranda NG Yes ? ?
Monal IM Yes Yes Yes
Movim ? ? ?
Pidgin ? ? ?
Profanity ? ? ?
Psi+ ? ? ?
Salut a toi ? ? ?
SiskinIM ? ? ?
Spark ? ? ?
Tkabber ? ? ?
Yaxim Yes ? ?
Xabber ? ? ?
slixmpp (lib.) Yes ? ?
QXmpp (lib.) Yes Yes ?
aioxmpp (lib.) ? ? ?
Tigase swift (lib.)
XMPPframerwork (lib.) ? Yes ?
Client
XEP status
Client State Indication (XEP-0352)[warning 3] Push Notifications (XEP-0357)[warning 4] Mobile Considerations on LTE Networks
(XEP-0286)[warning 5]
Interoperability 30% 20% 3%

A/V Calling Compliance Suite

To be considered XMPP A/V calling compliant, all features from the core compliance category must be met, as well as all features in this suite.

Core client

Client
XEP status
Jingle RTP Sessions
(XEP-0167)
Jingle Message Initiation
(XEP-0353)
Jingle ICE-UDP Transport Method
(XEP-0176)
Use of DTLS-SRTP in Jingle Sessions
(XEP-0320)
External Service Discovery
(XEP-0215)
Stable Experimental Stable Stable Deferred
AstraChat ? ? Yes ? ?
BeagleIM ? Yes ? ? Yes
BitlBee ? ? ? ? ?
Bombus ? ? ? ? ?
ChatSecure ? ? ? ? ?
Cisco Jabber ? ? ? ? ?
Conversations Yes Yes Yes Yes Yes
Converse.js ? ? Yes Yes Yes
Dino Partial Yes Partial Yes Partial
Gajim ? ? ? ? ?
jabber.el ? ? ? ? ?
JSXC Yes ? ? ? ?
Kaidan ? ? ? ? ?
Kopete
Miranda NG ? ? Yes ?
Monal IM ? ? ? ? Planned
Movim ? Yes ? ? Yes
Pidgin Yes ? Yes ? ?
Profanity ? ? ? ? ?
Psi+ Yes ? Yes Yes Yes
Salut a toi ? ? ? ? ?
SiskinIM ? Yes ? ? Yes
Spark ? ? ? ? ?
Tkabber ? ? ? ? ?
Yaxim ? ? ? ? ?
Xabber ? ? ? ? ?
slixmpp (lib.) ? Yes ? ? ?
QXmpp (lib.) Yes ? Yes ? ?
aioxmpp (lib.) ? ? ? ? ?
Tigase swift (lib.)
XMPPframerwork (lib.) ? ? ? ?
Client / XEP Jingle RTP Sessions
(XEP-0167)
Jingle Message Initiation
(XEP-0353)
Jingle ICE-UDP Transport Method
(XEP-0176)
Use of DTLS-SRTP in Jingle Sessions
(XEP-0320)
External Service Discovery
(XEP-0215)
Interoperability 20% 20% 27% 13% 27%

Advanced client

Client
XEP status
Jingle RTP Feedback Negotiation
(XEP-0293)
Jingle RTP Header Extensions Negotiation
(XEP-0294)
Jingle Grouping Framework
(XEP-0338)
Source-Specific Media Attributes in Jingle
(XEP-0339)
Stable Stable Stable Stable
AstraChat ? ? ? ?
BeagleIM ? ? ? ?
BitlBee ? ? ? ?
Bombus ? ? ? ?
ChatSecure ? ? ? ?
Cisco Jabber ? ? ? ?
Conversations Yes Yes Yes Yes
Converse.js ? ? ? ?
Dino Partial Partial ? ?
Gajim ? ? ? ?
jabber.el ? ? ? ?
JSXC ? ? ? ?
Kaidan ? ? ? ?
Kopete
Miranda NG ? ? ? ?
Monal IM ? Yes ? ?
Movim ? ? ? ?
Pidgin ? ? ? ?
Profanity ? ? ? ?
Psi+ ? ? ? ?
Salut a toi ? ? ? ?
SiskinIM ? ? ? ?
Spark ? ? ? ?
Tkabber ? ? ? ?
Yaxim ? ? ? ?
Xabber ? ? ? ?
slixmpp (lib.) ? ? ? ?
QXmpp (lib.) ? ? ? ?
aioxmpp (lib.) ? ? ? ?
Tigase swift (lib.)
XMPPframerwork (lib.) ? ? ? ?
Client / XEP Jingle RTP Feedback Negotiation
(XEP-0293)
Jingle RTP Header Extensions Negotiation
(XEP-0294)
Jingle Grouping Framework
(XEP-0338)
Source-Specific Media Attributes in Jingle
(XEP-0339)
Interoperability 7% 10% 3% 3%

Future Development

This section outlines the protocol specifications that are relevant for developers, but are not ready yet to be required for Compliance. Developers are encouraged to implement those and to share their experience and feedback.

Client
XEP status
Bind 2.0 (XEP-0386) IM Routing-NG (XEP-0409) Instant Stream Resumption (XEP-0397) Ad-hoc Account Invitation Generation (XEP-0401) Pre-Authenticated Roster Subscription (XEP-0379) Pre-Authenticated In-Band Registration (XEP-0445) Chat Markers (XEP-0333) Mediated Information eXchange (MIX) (XEP-0369) Explicit Message Encryption (XEP-0380) Stanza Content Encryption (XEP-0420)
Deferred Deferred Deferred proposed proposed proposed Deferred Experimental Deferred Experimental
AstraChat ? ? ? ? ? ? ? ? ? ?
BeagleIM ? ? ? ? ? ? Yes Yes ? ?
BitlBee ? ? ? ? ? ? ? ? ? ?
Bombus ? ? ? ? ? ? ? ? ? ?
ChatSecure ? ? ? ? ? ? ? ? ? ?
Cisco Jabber ? ? ? ? ? ? ? ? ? ?
Conversations ? ? ? ? ? ? Yes ? ? ?
Converse.js ? ? ? ? ? ? Yes ? ? Yes
Dino ? ? ? ? ? ? Yes ? Partial[Note-dino 6] ?
Gajim ? ? ? ? ? ? Partial[Note-gajim 3] ? Yes ?
jabber.el ? ? ? ? ? ? ? ? ? ?
JSXC ? ? ? ? ? ? ? ? ? ?
Kaidan ? ? ? ? ? ? ? planned ? planned
Kopete
Miranda NG ? ? ? ? ? ? Yes ? ? ?
Monal IM won't fix won't fix won't fix ? Partial ? Partial[Note-monalim 1] Yes Yes Yes
Movim ? ? ? ? ? ? Yes ? Partial ?
Pidgin ? ? ? ? ? ? ? ? ? ?
Profanity ? ? ? ? ? ? ? ? ? ?
Psi+ ? ? ? ? ? ? ? ? Partial ?
Salut a toi ? ? ? ? ? ? ? ? ? ?
SiskinIM ? ? ? ? ? ? Yes Yes ? ?
Spark ? ? ? ? ? ? ? ? ? ?
Tkabber ? ? ? ? ? ? ? ? ? ?
Yaxim ? ? ? ? Yes ? ? ? ? ?
Xabber ? ? ? ? ? ? Yes ? ? ?
slixmpp (lib.) ? ? ? ? ? ? Yes Partial Yes ?
QXxmpp (lib.) ? ? ? ? ? ? ? Partial[Note-qxmpp 1] ? ?
aioxmpp (lib.) ? ? ? ? Yes ? ? ? ? ?
Tigase swift (lib.)
XMPPframerwork (lib.) ? ? ? ? ? ? Yes ? ? ?
Client
XEP status
Bind 2.0 (XEP-0386) IM Routing-NG (XEP-0409) Instant Stream Resumption (XEP-0397) Ad-hoc Account Invitation Generation (XEP-0401) Pre-Authenticated Roster Subscription (XEP-0379) Pre-Authenticated In-Band Registration (XEP-0445) Chat Markers (XEP-0333) Mediated Information eXchange (MIX) (XEP-0369) Explicit Message Encryption (XEP-0380) Stanza Content Encryption (XEP-0420)
Interoperability 3% 3% 3% 0% 10% 0% 40% 20% 20% 10%

Future Development (cont.)

Client
XEP status
OMEMO Encryption
(XEP-0384)
Jingle Encrypted Transports - OMEMO
(XEP-0396)
OpenPGP for XMPP Instant Messaging
(XEP-0374)
Bookmarks Conversion
(XEP-0411)
Component Connections
(XEP-0225)
Entity Capabilities 2.0
(XEP-0390)
Service Outage Status
(XEP-0455)
Experimental Deferred Deferred Deprecated Deferred Deferred Experimental
AstraChat ? ? ? ? ? ? ?
BeagleIM ? ? ? ? ? ? ?
BitlBee ? ? ? ? ? ? ?
Bombus ? ? ? ? ? ? ?
ChatSecure Yes ? ? ? ? ? ?
Cisco Jabber ? ? ? ? ? ? ?
Conversations Yes Yes ? Yes ? ? ?
Coverse.js Yes ? Yes ? ? ? ?
Dino Yes Yes ? ? ? ? ?
Gajim Plug-In[65] ? Yes Yes Yes Yes ?
jabber.el ? ? ? ? ? ? ?
JSXC ? ? ? ? ? ? ?
Kaidan planned ? ? ? ? ? ?
Kopete
Miranda NG Yes ? ? ? ? ? ?
Monal IM Yes Yes Yes ? ? Yes ?
Movim ? ? ? ? ? ? ?
Pidgin Plug-in[66] ? Dropped[67] ? ? ? ?
Profanity Yes ? Yes ? ? ? ?
Psi+ Yes ? ? ? ? ? ?
Salut a toi ? ? ? ? ? ? ?
SiskinIM ? ? ? ? ? ? ?
Spark ? ? ? ? ? ? ?
Tkabber ? ? ? ? ? ? ?
Yaxim In Development ? ? ? ? ? ?
Xabber Yes ? ? ? ? ? ?
slixmpp (lib.) ? ? ? ? ? ? ?
QXmpp (lib.) ? ? ? ? ? ? ?
aioxmpp (lib.) ? ? ? ? ? Yes ?
Tigase swift (lib.)
XMPPframerwork (lib.) Yes ? ? ? ? ? ?
Client
XEP status
OMEMO Encryption
(XEP-0384)
Jingle Encrypted Transports - OMEMO
(XEP-0396)
OpenPGP for XMPP Instant Messaging
(XEP-0374)
Bookmarks Conversion
(XEP-0411)
Component Connections
(XEP-0225)
Entity Capabilities 2.0
(XEP-0390)
Service Outage Status
(XEP-0455)
Interoperability 47% 10% 17% 7% 3% 10% 0%

Statistics

Compliance status of XMPP clients, with RFCs/XEPs

Client Core Web IM/Core IM/Advanced IM/Further Mobile A/V Calling Future Overall
AstraChat 17% ? 29% 31% ? ? 11% ? 13%
beagle IM ? ? ? 13% 11% ? 22% 12% 10%
BitlBee ? ? 14% 6% ? ? ? ? 3%
Bombus 50% ? 29% 31% 22% ? ? ? 17%
ChatSecure ? ? 14% 25% 11% 67% ? 6% 13%
Cisco Jabber 50% 25% 29% ? 11% ? ? ? 10%
Conversations 100% ? 93% 91% 22% 67% 100% 24% 69%
converse.js 42% 100% 86% 38% 56% 67% 33% 24% 46%
Dino 100% ? 79% 91% 22% ? 50% 21% 61%
Gajim 100% 38% 100% 88% 72% ? ? 38% 61%
jabber.el 17% 0% 43% 19% 13% ? 0% ? 13%
JSXC 50% 50% 86% 44% ? ? 11% ? 27%
Kaidan 33% ? 57% 16% 11% 33% ? ? 20%
Kopete ? ? ? ? ? ? ? ? 0%
Miranda IM 50% ? 86% 41% 22% 33% 11% 12% 31%
Monal IM 100% ? 100% 88% 33% 100% 11% 47% 65%
Movim 100% 50% 86% 56% 50% ? 22% 9% 45%
Pidgin 50% 63% 71% 25% ? 22% ? 6% 31%
Profanity 67% ? 86% 38% 33% ? ? 12% 30%
Psi+ 50% ? 71% 56% 44% ? 44% 9% 21%
Salut à Toi 33% ? 57% 44% 11% ? ? ? 20%
SiskinIM ? ? ? 6% 11% ? 22% 12% 8%
Spark ? ? 29% 6% ? ? ? ? 4%
Tkabber 17% ? 14% 19% 22% ? ? ? 10%
yaxim 33% ? 57% 31% 22% 33% ? 6% 25%
Xabber 17% ? 50% 44% ? ? ? 12% 20%
slixmpp (lib.) 83% ? 79% 69% 44% 33% 11% 15% 42%
QXmpp (lib.) 33% ? 86% 44% 22% 67% 22% 3% 30%
aioxmpp (lib.) 100% ? 71% 44% 22% ? ? 12% 31%
Tigase swift (lib.)
XMPPframerwork (lib.) ? 25% 57% 38% 11% 33% ? 12% 21%
Interoperability 27%

See also

References

  1. "Marktübersicht selbst gehostete Messenger Geschützter Raum". https://www.heise.de/select/ix/2020/1/1929607550684619998. 
  2. "Estudiantes crean red para comunidad sin acceso a internet en Barranquilla". https://www.eltiempo.com/colombia/barranquilla/barranquilla-proyecto-innovador-de-colegio-publico-por-acceso-a-internet-625876. 
  3. "XMPP client for macOS based on TigaseSwift XMPP library". https://macosrepo.com/repo/tigase-beagle-im-macos-chat. 
  4. "Instant Messaging (IM) Market Growth 2031". https://www.bloomingprairieonline.com/instant-messaging-im-market-growth-2031/. 
  5. "XMPP Features". https://conversations.im/#optimizations. 
  6. "Conversations: Open-Source-Messenger mit Audio- und Videoanruf". heise.de. heise online. https://www.heise.de/newsticker/meldung/Conversations-Open-Source-Messenger-mit-Audio-und-Videoanruf-4711187.html. 
  7. "Converse.js: An open-source XMPP client for building in-browser messaging apps". https://medevel.com/https-conversejs-org/. 
  8. "Dino 0.3 lançado com suporte a videochamadas, conferências, e mais". blog do edivaldo. https://www.edivaldobrito.com.br/dino-0-3-lancado-com-suporte-a-videochamadas-conferencias-e-mais/. 
  9. "supported XEPs". https://gajim.org/support/extensions/. 
  10. "The 10 Best Instant Messaging Apps for Linux". https://www.makeuseof.com/best-instant-messaging-apps-linux/. 
  11. "Error: no |title= specified when using {{Cite web}}". https://codeberg.org/emacs-jabber/emacs-jabber/src/branch/production/debian/copyright. 
  12. "Interoperable Chat in Your Web Browser: JSXC 3.0 released". https://netfuture.ch/2016/03/interoperable-chat-in-your-web-browser-jsxc-3-0-released/. 
  13. "User Privacy at The Heart of New Instant Messaging Services Developed with The Support of EU’s Next Generation Internet Initiative". https://business-review.eu/tech/online/user-privacy-at-the-heart-of-new-instant-messaging-services-developed-with-the-support-of-eus-next-generation-internet-initiative-216612. 
  14. "Po 7 latach zainstalowałem komunikator Miranda IM - odżyły wspomnienia". https://antyweb.pl/po-7-latach-zainstalowalem-komunikator-miranda-im-odzyly-wspomnienia. 
  15. "Monal as XMPP Client for Apple iPhone". https://blog.citunius.de/blog/2019/01/04/monal-als-xmpp-client-fuer-apple-iphone/. 
  16. "Deciphering the jibber jabber: getting started with your own self-hosted XMPP server". https://arstechnica.com/information-technology/2011/01/deciphering-the-jibber-jabber-getting-started-with-your-own-self-hosted-xmpp-server/. 
  17. "The Evolution of Encrypted IM Messenging Platforms – The Rise and Future of the OMEMO Protocol – An Analysis". https://securityboulevard.com/2022/01/the-evolution-of-encrypted-im-messenging-platforms-the-rise-and-future-of-the-omemo-protocol-an-analysis/. 
  18. "El cliente XMPP gratuito yaxim celebra su décimo aniversario". https://www.linuxadictos.com/el-cliente-xmpp-gratuito-yaxim-celebra-su-decimo-aniversario.html. 
  19. "Ya fue liberada la nueva versión de Kaidan 0.5.0, un cliente XMPP open source". https://blog.desdelinux.net/ya-fue-liberada-la-nueva-version-de-kaidan-0-5-0-un-cliente-xmpp-open-source/. 
  20. "XMPP Clients". https://xmpp.org/software/clients/. 
  21. BitlBee Public instances
  22. "Libervia frontends". https://salut-a-toi.org/__b/doc/backend/overview.html#libervia-deskop-mobile-cagou. 
  23. "Supported XMPP Protocols". https://www.astrachat.com/MobileDirectConnectXMPP.aspx. 
  24. "BeagleIM changelog". https://github.com/tigase/beagle-im/releases?q=XEP&expanded=true. 
  25. "BitlBee changelog". https://github.com/bitlbee/bitlbee/blob/master/doc/CHANGES. 
  26. "Список стандартов XMPP, поддерживаемых в Bombus". http://bombus.jrudevels.org/wiki/bombus/xeps. 
  27. "ChatSecure v4.3.0 - OMEMO Group Chat Preview". https://chatsecure.org/blog/chatsecure-v43-omemo-group-chat-preview/. 
  28. "ChatSecure v4.2.0 - Group Chat". https://chatsecure.org/blog/chatsecure-v42-group-chat/. 
  29. "ChatSecure v4.1.0 - Media Messaging". https://chatsecure.org/blog/chatsecure-v41-media-messaging/. 
  30. "ChatSecure iOS v3.2.3 - XMPP Push". https://chatsecure.org/blog/chatsecure-v323-xmpp-push/. 
  31. "ChatSecure v2.2 Released". https://chatsecure.org/blog/chatsecure-v22-released/. 
  32. "ChatSecure v1.4 Released". https://chatsecure.org/blog/chatsecure-v14-released/. 
  33. "Cisco jabber XMPP Standards Compliance". https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/im_presence/configAdminGuide/11_0_1/CUP0_BK_C36EBE60_00_config-admin-guide-110/xmpp_standards_compliance.pdf. 
  34. "Conversations DOAP File". https://raw.githubusercontent.com/iNPUTmice/Conversations/master/conversations.doap. 
  35. "Converse.js supported XMPP Extensions". https://github.com/conversejs/converse.js#supported-xmpp-extensions. 
  36. "Implemented XEPs". https://dino.im/#Implemented%20XEPs. 
  37. "Dino DOAP file". https://raw.githubusercontent.com/dino/dino/master/dino.doap. 
  38. "Gajim DOAP file". https://dev.gajim.org/gajim/gajim/raw/master/data/gajim.doap. 
  39. M+x jabber-info --> Protocol support
  40. "Supported Protocols". https://www.jsxc.org/features.html. 
  41. "Kaidan list XEP supported in DOAP file". https://invent.kde.org/network/kaidan/-/raw/master/misc/kaidan.doap. 
  42. "Kopete XEPs". https://github.com/KDE/kopete/search?q=XEP. 
  43. "Supported XEPs". https://wiki.miranda-ng.org/index.php?title=Plugin:Jabber/en#Supported_XEPs. 
  44. "Monal IM DOAP file". https://raw.githubusercontent.com/monal-im/Monal/develop/monal.doap. 
  45. "Movim DOAP file". https://raw.githubusercontent.com/movim/movim/master/doap.xml. 
  46. "supported XEPs". https://pidgin.im/help/protocols/xmpp/supportedxep/. 
  47. "Profanity Supported XEPs". https://profanity-im.github.io//xeps.html. 
  48. "Profanity DOAP file". https://raw.githubusercontent.com/profanity-im/profanity/master/profanity.doap. 
  49. "Psi Supported XEPs". https://github.com/psi-im/psi/wiki/Supported-XEPs. 
  50. "Salut à Toi's specifications". http://www.salut-a-toi.org/specifications.html. 
  51. "SiskinIM changelogs". https://github.com/tigase/siskin-im/releases. 
  52. "Spark XEPs". https://github.com/igniterealtime/Spark/search?q=XEP&type=. 
  53. "Tkabber Protocol support". http://tkabber.jabber.ru/protocols. 
  54. "Yaxim DOAP file". https://yaxim.org/doap/yaxim.rdf.xml. 
  55. "Xabber Extension Protocols Relations.drawio". Xabber. https://drive.google.com/file/d/1OFMzKoJ79ApSoG9-PhhXZpL4P6xvABr9/view. 
  56. "PNG version". https://i.imgur.com/Ot66VSq.png. 
  57. "Xabber F-droid description XEP support". https://f-droid.org/de/packages/com.xabber.android. 
  58. "slixmpp DOAP file". https://raw.githubusercontent.com/poezio/slixmpp/master/doap.xml. 
  59. "qxmpp XEP support". https://doc.qxmpp.org/qxmpp-1/xep.html. 
  60. "aioxmpp XEP support". https://docs.zombofant.net/aioxmpp/devel/#from-xmpp-extension-proposals-xeps. 
  61. "Tigase swift XEP support". https://github.com/tigase/tigase-swift#features. 
  62. "XMPPframerwork XEP support". https://github.com/robbiehanson/XMPPFramework/wiki/XEPs. 
  63. "Experimental XEP-0280: Message Carbons plugin for libpurple (Pidgin, Finch, etc.)". https://github.com/gkdr/carbons. 
  64. "HTTP File Upload plugin for libpurple (XMPP Protocol)". https://github.com/Junker/purple-xmpp-http-upload. 
  65. "XEP-0384: OMEMO Encryption - Gajim". https://dev.gajim.org/gajim/gajim-plugins/-/wikis/OmemoGajimPlugin. 
  66. "XEP-0384: OMEMO Encryption for libpurple.". https://github.com/gkdr/lurch. 
  67. "XEP-0374: OpenPGP for XMPP Instant Messaging - pidgin". https://sourceforge.net/projects/pidgin-encrypt/. 

Notes

  1. 1.0 1.1 (only recommended for legacy bookmarks support)
  2. 2.0 2.1 should be supported, but not enabled in default server configurations
  3. 3.0 3.1 core client
  4. 4.0 4.1 advanced client
  5. 5.0 5.1 Further specifications of note, which are not required for compliance.
  1. Only available in the version distributed over Google Play
  1. Only DNS method.
  2. Support for URLs in messages
  3. displayed' markers are supported, but 'acknowledged' markers are not.
  1. Only for viewing avatars
  2. No support for sending
  3. Only to fetch Avatars from other users
  4. Not for MUCs
  5. For file transfers using XEP-0363
  6. Only for outgoing messages
  1. XEP-0333: Chat Markers (received markers won't ever be implemented, use XEP-0184 instead)
  1. (Only basic IQ implemented)