Software:Comparison of XMPP clients: Difference between revisions
Verilofrea (talk | contribs) (add IRC, overall no A/V, update XEP status) |
Verilofrea (talk | contribs) m (→Statistics: irc) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 962: | Line 962: | ||
! rowspan="3" | Client <br /> XEP status | ! rowspan="3" | Client <br /> XEP status | ||
|- | |- | ||
! Client State Indication ([https://xmpp.org/extensions/xep- | ! Client State Indication ([https://xmpp.org/extensions/xep-0352.html XEP-0352])<ref group="warning" name="warningb">core client</ref> | ||
! Push Notifications ([https://xmpp.org/extensions/xep-0357.html XEP-0357])<ref group="warning" name="warningc">advanced client</ref> | ! Push Notifications ([https://xmpp.org/extensions/xep-0357.html XEP-0357])<ref group="warning" name="warningc">advanced client</ref> | ||
! Mobile Considerations on LTE Networks <br /> ([https://xmpp.org/extensions/xep-0286.html XEP-0286])<ref group="warning" name="warningd">Further specifications of note, which are not required for compliance.</ref> | ! Mobile Considerations on LTE Networks <br /> ([https://xmpp.org/extensions/xep-0286.html XEP-0286])<ref group="warning" name="warningd">Further specifications of note, which are not required for compliance.</ref> | ||
Line 1,037: | Line 1,037: | ||
|- | |- | ||
! Client <br /> XEP status | ! Client <br /> XEP status | ||
! Client State Indication ([https://xmpp.org/extensions/xep- | ! Client State Indication ([https://xmpp.org/extensions/xep-0352.html XEP-0352])<ref group="warning" name="warningb">core client</ref> | ||
! Push Notifications ([https://xmpp.org/extensions/xep-0357.html XEP-0357])<ref group="warning" name="warningc">advanced client</ref> | ! Push Notifications ([https://xmpp.org/extensions/xep-0357.html XEP-0357])<ref group="warning" name="warningc">advanced client</ref> | ||
! Mobile Considerations on LTE Networks <br /> ([https://xmpp.org/extensions/xep-0286.html XEP-0286])<ref group="warning" name="warningd">Further specifications of note, which are not required for compliance.</ref> | ! Mobile Considerations on LTE Networks <br /> ([https://xmpp.org/extensions/xep-0286.html XEP-0286])<ref group="warning" name="warningd">Further specifications of note, which are not required for compliance.</ref> | ||
Line 1,346: | Line 1,346: | ||
| BeagleIM || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} | | BeagleIM || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} | ||
|- | |- | ||
| BitlBee || {{ | | BitlBee || {{yes2|Plug-In}}<ref> lurch for libpurple</ref> || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} | ||
|- | |- | ||
| Bombus || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} | | Bombus || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} | ||
Line 1,404: | Line 1,404: | ||
| XMPPframerwork (lib.) || {{yes}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} | | XMPPframerwork (lib.) || {{yes}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} || {{dunno}} | ||
|- | |- | ||
| IRC || | | IRC || {{partial|many implementations which are mostly non-interoperable with other IRC clients}}<ref>{{cite web |last1=Gioia |first1=Antonio |title=IRC with SSL and OTR encryption |url=https://www.antoniogioia.com/irc-with-ssl-and-otr/ |access-date=28 December 2023}}</ref><ref>{{cite web |title=Secure encryption layer for the IRC protocol based on OpenPGP. |url=https://weechat.org/scripts/source/ircrypt.py.html/}}</ref><ref>{{cite web |title=encrypted DCC - SDCC - SCHAT |url=https://forums.mirc.com/ubbthreads.php/topics/234584/encrypted-dcc-sdcc-schat}}</ref> || {{no}} || {{partial|many implementations which are mostly non-interoperable with other IRC clients}} || {{yes}}<ref> similar to XEP-0048. </ref> || {{yes}} <ref> IRC services (NickServ, ChanServ, etc.) </ref> || {{partial}} <ref> No direct equivalent, similar to XEP-0115 </ref> || {{yes}} <ref> Service notices or network status pages. </ref> | ||
|- | |- | ||
! Client <br /> XEP status | ! Client <br /> XEP status | ||
Line 1,415: | Line 1,415: | ||
! Service Outage Status <br /> ([https://xmpp.org/extensions/xep-0455.html XEP-0455]) | ! Service Outage Status <br /> ([https://xmpp.org/extensions/xep-0455.html XEP-0455]) | ||
|- | |- | ||
! Interoperability || {{Percentage| | ! Interoperability || {{Percentage|15|30}} || {{Percentage|3|30}} || {{Percentage|5|30}} || {{Percentage|2|30}} || {{Percentage|1|30}} || {{Percentage|3|30}} || {{Percentage|0|30}} | ||
|} | |} | ||
Line 1,496: | Line 1,496: | ||
| XMPPframerwork (lib.) || {{dunno}} || {{Percentage|1|4}} || {{Percentage|4|7}} || {{Percentage|6|16}} || {{Percentage|1|9}} || {{Percentage|1|3}} || {{dunno}} || {{Percentage|2|17}} || {{Percentage|15|71}} || {{Percentage|15|54}} | | XMPPframerwork (lib.) || {{dunno}} || {{Percentage|1|4}} || {{Percentage|4|7}} || {{Percentage|6|16}} || {{Percentage|1|9}} || {{Percentage|1|3}} || {{dunno}} || {{Percentage|2|17}} || {{Percentage|15|71}} || {{Percentage|15|54}} | ||
|- | |- | ||
| IRC || {{Percentage|4.5|6}} || {{Percentage|2.5|4}} || {{Percentage|6.5|7}} || {{Percentage|12.5|16}} || {{Percentage|7|9}} || {{Percentage|2|3}} || N/A || {{Percentage| | | IRC || {{Percentage|4.5|6}} || {{Percentage|2.5|4}} || {{Percentage|6.5|7}} || {{Percentage|12.5|16}} || {{Percentage|7|9}} || {{Percentage|2|3}} || N/A || {{Percentage|9|17}} || {{Percentage|44|71}} || {{Percentage|44|54}} | ||
|- | |- | ||
! Interoperability || || || || || || || || || {{Percentage|569|2130}} | ! Interoperability || || || || || || || || || {{Percentage|569|2130}} |
Latest revision as of 05:52, 18 July 2024
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] | ||||
FOR COMPARISON | ||||
IRC | Yes[63] | Yes [64] | /NOTICE /HELP | Partial[65] |
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.) | ||
FOR COMPARISON | ||
IRC | Yes[66] | Partial [67] |
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 |
FOR COMPARISON | ||||
IRC | Yes[68] | Partial [69] | Partial [70] | Partial [71] |
Client / XEP | 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) | |
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[72] | Yes | Yes | Plug-In[73] |
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 |
FOR COMPARISON | |||||||
IRC | Yes[74] | Yes | Partial[75] | Yes[76] | Yes [77] | /INVITE | Depends [78] |
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 | Stable | 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 |
FOR COMPARISON | |||||||||
IRC | Yes[79] | Yes[80] | Yes[80] | /IGNORE | Yes[81] | Yes [82] | Yes [83] | Partial [84] | Partial [85] |
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 | ? | ? |
FOR COMPARISON | |||||||
IRC | Partial [86] | Partial [87] | No [88] | Yes [89] | Yes[irc2 1] https://ircv3.net/specs/extensions/message-redaction </ref> | Partial [90] | No [91] |
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 | Stable | Stable | Deferred | Experimental | Experimental | |
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 | ? | ? | ? | ? | ? | ? |
FOR COMPARISON | |||||||||
IRC | Yes [92] | Partial [93] | Yes [94] | Partial [95] | Partial [96] | Yes [97] | Partial [98] | Yes [irc2 1] | Yes [99] |
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 | ? |
FOR COMPARISON | |||
IRC | Partial [100] | Yes [101] | No [102] |
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 | Stable | |
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 (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) |
---|---|---|---|---|---|---|---|---|---|---|
Stable | Deferred | Deferred | proposed | proposed | proposed | Stable | 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 | ? | ? | ? |
IRC | No[103] | No[104] | No[105] | Yes[106] | Yes [107] | Yes [108] | No [109] | Yes [110] | No [111] | No |
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 | Plug-In[112] | ? | ? | ? | ? | ? | ? |
Bombus | ? | ? | ? | ? | ? | ? | ? |
ChatSecure | Yes | ? | ? | ? | ? | ? | ? |
Cisco Jabber | ? | ? | ? | ? | ? | ? | ? |
Conversations | Yes | Yes | ? | Yes | ? | ? | ? |
Coverse.js | Yes | ? | Yes | ? | ? | ? | ? |
Dino | Yes | Yes | ? | ? | ? | ? | ? |
Gajim | Plug-In[113] | ? | Yes | Yes | Yes | Yes | ? |
jabber.el | ? | ? | ? | ? | ? | ? | ? |
JSXC | ? | ? | ? | ? | ? | ? | ? |
Kaidan | planned | ? | ? | ? | ? | ? | ? |
Kopete | |||||||
Miranda NG | Yes | ? | ? | ? | ? | ? | ? |
Monal IM | Yes | Yes | Yes | ? | ? | Yes | ? |
Movim | ? | ? | ? | ? | ? | ? | ? |
Pidgin | Plug-in[114] | ? | Dropped[115] | ? | ? | ? | ? |
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 | ? | ? | ? | ? | ? | ? |
IRC | many implementations which are mostly non-interoperable with other IRC clients[116][117][118] | No | many implementations which are mostly non-interoperable with other IRC clients | Yes[119] | Yes [120] | Partial [121] | Yes [122] |
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 | 50% | 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 | Overall (No A/V) |
---|---|---|---|---|---|---|---|---|---|---|
AstraChat | 17% | ? | 29% | 31% | ? | ? | 11% | ? | 13% | 17% |
beagle IM | ? | ? | ? | 13% | 11% | ? | 22% | 12% | 10% | 13% |
BitlBee | ? | ? | 14% | 6% | ? | ? | ? | ? | 3% | 4% |
Bombus | 50% | ? | 29% | 31% | 22% | ? | ? | ? | 17% | 22% |
ChatSecure | ? | ? | 14% | 25% | 11% | 67% | ? | 6% | 13% | 17% |
Cisco Jabber | 50% | 25% | 29% | ? | 11% | ? | ? | ? | 10% | 13% |
Conversations | 100% | ? | 93% | 91% | 22% | 67% | 100% | 24% | 69% | 91% |
converse.js | 42% | 100% | 86% | 38% | 56% | 67% | 33% | 24% | 46% | 61% |
Dino | 100% | ? | 79% | 91% | 22% | ? | 50% | 21% | 61% | 80% |
Gajim | 100% | 38% | 100% | 88% | 72% | ? | ? | 38% | 61% | 80% |
jabber.el | 17% | 0% | 43% | 19% | 13% | ? | 0% | ? | 13% | 17% |
JSXC | 50% | 50% | 86% | 44% | ? | ? | 11% | ? | 27% | 35% |
Kaidan | 33% | ? | 57% | 16% | 11% | 33% | ? | ? | 20% | 26% |
Kopete | ? | ? | ? | ? | ? | ? | ? | ? | 0% | |
Miranda IM | 50% | ? | 86% | 41% | 22% | 33% | 11% | 12% | 31% | 41% |
Monal IM | 100% | ? | 100% | 88% | 33% | 100% | 11% | 47% | 65% | 85% |
Movim | 100% | 50% | 86% | 56% | 50% | ? | 22% | 9% | 45% | 59% |
Pidgin | 50% | 63% | 71% | 25% | ? | 22% | ? | 6% | 31% | 41% |
Profanity | 67% | ? | 86% | 38% | 33% | ? | ? | 12% | 30% | 39% |
Psi+ | 50% | ? | 71% | 56% | 44% | ? | 44% | 9% | 21% | 28% |
Salut à Toi | 33% | ? | 57% | 44% | 11% | ? | ? | ? | 20% | 26% |
SiskinIM | ? | ? | ? | 6% | 11% | ? | 22% | 12% | 8% | 11% |
Spark | ? | ? | 29% | 6% | ? | ? | ? | ? | 4% | 6% |
Tkabber | 17% | ? | 14% | 19% | 22% | ? | ? | ? | 10% | 13% |
yaxim | 33% | ? | 57% | 31% | 22% | 33% | ? | 6% | 25% | 33% |
Xabber | 17% | ? | 50% | 44% | ? | ? | ? | 12% | 20% | 26% |
slixmpp (lib.) | 83% | ? | 79% | 69% | 44% | 33% | 11% | 15% | 42% | 56% |
QXmpp (lib.) | 33% | ? | 86% | 44% | 22% | 67% | 22% | 3% | 30% | 39% |
aioxmpp (lib.) | 100% | ? | 71% | 44% | 22% | ? | ? | 12% | 31% | 41% |
Tigase swift (lib.) | ||||||||||
XMPPframerwork (lib.) | ? | 25% | 57% | 38% | 11% | 33% | ? | 12% | 21% | 28% |
IRC | 75% | 63% | 93% | 78% | 78% | 67% | N/A | 53% | 62% | 81% |
Interoperability | 27% |
See also
References
- ↑ "Marktübersicht selbst gehostete Messenger Geschützter Raum". https://www.heise.de/select/ix/2020/1/1929607550684619998.
- ↑ "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.
- ↑ "XMPP client for macOS based on TigaseSwift XMPP library". https://macosrepo.com/repo/tigase-beagle-im-macos-chat.
- ↑ "Instant Messaging (IM) Market Growth 2031". https://www.bloomingprairieonline.com/instant-messaging-im-market-growth-2031/.
- ↑ "XMPP Features". https://conversations.im/#optimizations.
- ↑ "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.
- ↑ "Converse.js: An open-source XMPP client for building in-browser messaging apps". https://medevel.com/https-conversejs-org/.
- ↑ "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/.
- ↑ "supported XEPs". https://gajim.org/support/extensions/.
- ↑ "The 10 Best Instant Messaging Apps for Linux". https://www.makeuseof.com/best-instant-messaging-apps-linux/.
- ↑ "License". https://codeberg.org/emacs-jabber/emacs-jabber/src/branch/production/debian/copyright.
- ↑ "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/.
- ↑ "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.
- ↑ "Po 7 latach zainstalowałem komunikator Miranda IM - odżyły wspomnienia". https://antyweb.pl/po-7-latach-zainstalowalem-komunikator-miranda-im-odzyly-wspomnienia.
- ↑ "Monal as XMPP Client for Apple iPhone". https://blog.citunius.de/blog/2019/01/04/monal-als-xmpp-client-fuer-apple-iphone/.
- ↑ "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/.
- ↑ "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/.
- ↑ "El cliente XMPP gratuito yaxim celebra su décimo aniversario". https://www.linuxadictos.com/el-cliente-xmpp-gratuito-yaxim-celebra-su-decimo-aniversario.html.
- ↑ "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/.
- ↑ "XMPP Clients". https://xmpp.org/software/clients/.
- ↑ BitlBee Public instances
- ↑ "Libervia frontends". https://salut-a-toi.org/__b/doc/backend/overview.html#libervia-deskop-mobile-cagou.
- ↑ "Supported XMPP Protocols". https://www.astrachat.com/MobileDirectConnectXMPP.aspx.
- ↑ "BeagleIM changelog". https://github.com/tigase/beagle-im/releases?q=XEP&expanded=true.
- ↑ "BitlBee changelog". https://github.com/bitlbee/bitlbee/blob/master/doc/CHANGES.
- ↑ "Список стандартов XMPP, поддерживаемых в Bombus". http://bombus.jrudevels.org/wiki/bombus/xeps.
- ↑ "ChatSecure v4.3.0 - OMEMO Group Chat Preview". https://chatsecure.org/blog/chatsecure-v43-omemo-group-chat-preview/.
- ↑ "ChatSecure v4.2.0 - Group Chat". https://chatsecure.org/blog/chatsecure-v42-group-chat/.
- ↑ "ChatSecure v4.1.0 - Media Messaging". https://chatsecure.org/blog/chatsecure-v41-media-messaging/.
- ↑ "ChatSecure iOS v3.2.3 - XMPP Push". https://chatsecure.org/blog/chatsecure-v323-xmpp-push/.
- ↑ "ChatSecure v2.2 Released". https://chatsecure.org/blog/chatsecure-v22-released/.
- ↑ "ChatSecure v1.4 Released". https://chatsecure.org/blog/chatsecure-v14-released/.
- ↑ "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.
- ↑ "Conversations DOAP File". https://raw.githubusercontent.com/iNPUTmice/Conversations/master/conversations.doap.
- ↑ "Converse.js supported XMPP Extensions". https://github.com/conversejs/converse.js#supported-xmpp-extensions.
- ↑ "Implemented XEPs". https://dino.im/#Implemented%20XEPs.
- ↑ "Dino DOAP file". https://raw.githubusercontent.com/dino/dino/master/dino.doap.
- ↑ "Gajim DOAP file". https://dev.gajim.org/gajim/gajim/raw/master/data/gajim.doap.
- ↑ M+x jabber-info --> Protocol support
- ↑ "Supported Protocols". https://www.jsxc.org/features.html.
- ↑ "Kaidan list XEP supported in DOAP file". https://invent.kde.org/network/kaidan/-/raw/master/misc/kaidan.doap.
- ↑ "Kopete XEPs". https://github.com/KDE/kopete/search?q=XEP.
- ↑ "Supported XEPs". https://wiki.miranda-ng.org/index.php?title=Plugin:Jabber/en#Supported_XEPs.
- ↑ "Monal IM DOAP file". https://raw.githubusercontent.com/monal-im/Monal/develop/monal.doap.
- ↑ "Movim DOAP file". https://raw.githubusercontent.com/movim/movim/master/doap.xml.
- ↑ "supported XEPs". https://pidgin.im/help/protocols/xmpp/supportedxep/.
- ↑ "Profanity Supported XEPs". https://profanity-im.github.io//xeps.html.
- ↑ "Profanity DOAP file". https://raw.githubusercontent.com/profanity-im/profanity/master/profanity.doap.
- ↑ "Psi Supported XEPs". https://github.com/psi-im/psi/wiki/Supported-XEPs.
- ↑ "Salut à Toi's specifications". http://www.salut-a-toi.org/specifications.html.
- ↑ "SiskinIM changelogs". https://github.com/tigase/siskin-im/releases.
- ↑ "Spark XEPs". https://github.com/igniterealtime/Spark/search?q=XEP&type=.
- ↑ "Tkabber Protocol support". http://tkabber.jabber.ru/protocols.
- ↑ "Yaxim DOAP file". https://yaxim.org/doap/yaxim.rdf.xml.
- ↑ "Xabber Extension Protocols Relations.drawio". Xabber. https://drive.google.com/file/d/1OFMzKoJ79ApSoG9-PhhXZpL4P6xvABr9/view.
- ↑ "PNG version". https://i.imgur.com/Ot66VSq.png.
- ↑ "Xabber F-droid description XEP support". https://f-droid.org/de/packages/com.xabber.android.
- ↑ "slixmpp DOAP file". https://raw.githubusercontent.com/poezio/slixmpp/master/doap.xml.
- ↑ "qxmpp XEP support". https://doc.qxmpp.org/qxmpp-1/xep.html.
- ↑ "aioxmpp XEP support". https://docs.zombofant.net/aioxmpp/devel/#from-xmpp-extension-proposals-xeps.
- ↑ "Tigase swift XEP support". https://github.com/tigase/tigase-swift#features.
- ↑ "XMPPframerwork XEP support". https://github.com/robbiehanson/XMPPFramework/wiki/XEPs.
- ↑ RFC 1459 - Internet Relay Chat Protocol (provides the core specification for IRC)
- ↑ RFC 7194 - Using TLS with IRC (describes using TLS to secure IRC connections)
- ↑ No direct equivalent, capabilities are generally inferred by client version or communicated via CTCP (Client-To-Client Protocol).
- ↑ SRV records for IRC servers (RFC 2782)
- ↑ No direct equivalent, similar functionality can be managed with IRC bots.
- ↑ https://ircv3.net/specs/extensions/websocket
- ↑ No direct equivalent, relates to XEP-0124.
- ↑ No direct equivalent, some IRC clients use similar long-polling techniques.
- ↑ No direct equivalent, server lists are usually static or manually maintained.
- ↑ "Experimental XEP-0280: Message Carbons plugin for libpurple (Pidgin, Finch, etc.)". https://github.com/gkdr/carbons.
- ↑ "HTTP File Upload plugin for libpurple (XMPP Protocol)". https://github.com/Junker/purple-xmpp-http-upload.
- ↑ No direct equivalent, but IRC supports basic messaging and presence awareness through commands like `/away` and `WHO`.
- ↑ No direct equivalent, user information is often limited to what is shared in the user profile or through custom bots.
- ↑ No direct equivalent, client-side logging to achieve similar results or BNC
- ↑ IRC Channel System (channels like `#channel` for group chats)
- ↑ DCC (Direct Client-to-Client), external file hosting services, BitTorrent
- ↑ https://ircv3.net/registry.html#user-metadata
- ↑ 80.0 80.1 similar to XEP-0084.
- ↑ No direct equivalent, bookmarks can be managed client-side.
- ↑ No direct equivalent, logging managed by clients or bots (BNC)
- ↑ similar to XEP-0048.
- ↑ No direct equivalent, pinging done manually or with bots.
- ↑ No direct equivalent, persistent storage managed by clients or bots
- ↑ No direct equivalent, similar functionality might be managed via IRC bots or client-side storage.
- ↑ No direct equivalent, but some IRC servers and clients manage session persistence.
- ↑ No IQ stanza equivalent, message delivery is assumed on a best-effort basis,
- ↑ https://ircv3.net/specs/client-tags/typing.html
- ↑ DCC (Direct Client-to-Client) for file transfers.
- ↑ No direct equivalent, relates to XEP-0234.
- ↑ Some IRC servers allow for in-band registration using the `/msg NickServ REGISTER` command.
- ↑ No direct equivalent, contact addresses typically found in network documentation.
- ↑ DCC (Direct Client-to-Client) for file transfers
- ↑ No direct equivalent, media sharing through external links.
- ↑ No direct equivalent, some clients support nick colorization.
- ↑ mirc colours for styled messages (e.g., bold, italics).
- ↑ Channel listing via `/list` command.
- ↑ Channel operators (ops) can moderate messages.
- ↑ No direct equivalent, client state often indicated through `/away`.
- ↑ Some clients support push notifications via external services.
- ↑ No direct equivalent, general mobile client optimizations.
- ↑ No direct equivalent, session management is handled differently.
- ↑ No direct equivalent, message routing is managed by the server.
- ↑ No direct equivalent, session management can be handled by clients.
- ↑ Example: https://www.irccloud.com/badges
- ↑ No direct equivalent, manual management of user lists
- ↑ Some servers support pre-authenticated registration through scripts or services like NickServ
- ↑ No direct equivalent, chat markers not typically used.
- ↑ similar to XEP-0045
- ↑ external encryption methods can be used.
- ↑ lurch for libpurple
- ↑ "XEP-0384: OMEMO Encryption - Gajim". https://dev.gajim.org/gajim/gajim-plugins/-/wikis/OmemoGajimPlugin.
- ↑ "XEP-0384: OMEMO Encryption for libpurple.". https://github.com/gkdr/lurch.
- ↑ "XEP-0374: OpenPGP for XMPP Instant Messaging - pidgin". https://sourceforge.net/projects/pidgin-encrypt/.
- ↑ Gioia, Antonio. "IRC with SSL and OTR encryption". https://www.antoniogioia.com/irc-with-ssl-and-otr/.
- ↑ "Secure encryption layer for the IRC protocol based on OpenPGP.". https://weechat.org/scripts/source/ircrypt.py.html/.
- ↑ "encrypted DCC - SDCC - SCHAT". https://forums.mirc.com/ubbthreads.php/topics/234584/encrypted-dcc-sdcc-schat.
- ↑ similar to XEP-0048.
- ↑ IRC services (NickServ, ChanServ, etc.)
- ↑ No direct equivalent, similar to XEP-0115
- ↑ Service notices or network status pages.
Notes
- ↑ Only available in the version distributed over Google Play
- ↑ XEP-0333: Chat Markers (received markers won't ever be implemented, use XEP-0184 instead)
- ↑ (Only basic IQ implemented)
Cite error: <ref>
tags exist for a group named "irc2", but no corresponding <references group="irc2"/>
tag was found