← Back to home
Comparison · Comms

Converse.js vs Stalwart

A side-by-side editorial comparison of Converse.js and Stalwart — release velocity, themes, recent moves, and the top alternatives to consider.

Converse.js vs Stalwart: at a glance

FeatureConverse.jsStalwart
SectorCommsComms
Velocity score0.06.3
Sparks · 30d01
Top themesxmpp, omemo-encryption, e2e-usability, pubsub-apiemail-server, scim, jmap, enterprise-provisioning
Last editorial update1mo ago9d ago
WebsiteVisit →Visit →

What is Converse.js?

Converse.js 14 lands OMEMO:2 — the browser XMPP client catches up on modern encryption.

Converse.js reached 14.0.0 in June 2026 after a tight beta train, and the release is defined by one thing: support for OMEMO:2, the current revision of XMPP's end-to-end encryption. The surrounding work is all encryption ergonomics — per-chat encryption state remembered across chat-close and re-login, an explicit error surfaced for undecryptable messages instead of silently dropping them, the toggle hidden on untrusted devices, and original filenames preserved on encrypted image download. New PubSub API methods for create, subscribe and unsubscribe round out the release.

Read the full Converse.js trajectory →

What is Stalwart?

Stalwart adds full SCIM v2 provisioning and 24-language calendar support as its standards coverage extends further than most commercial mail servers.

Stalwart is maintaining a weekly-or-faster release cadence, with alternating feature releases and dense bug-fix releases. The v0.16.20 release landed full SCIM v2 (Enterprise) including cursor-based pagination and the IPSIE lifecycle profile, conference links in calendar invites, and 24 new calendar interface translations. Below the feature line, the project is steadily closing correctness gaps across JMAP, CalDAV, IMAP, and MTA — many of them edge-case RFC compliance issues.

Read the full Stalwart trajectory →

Converse.js vs Stalwart: editorial side-by-side

C0.0

Converse.js 14 lands OMEMO:2 — the browser XMPP client catches up on modern encryption.

◆ Current state

Converse.js reached 14.0.0 in June 2026 after a tight beta train, and the release is defined by one thing: support for OMEMO:2, the current revision of XMPP's end-to-end encryption. The surrounding work is all encryption ergonomics — per-chat encryption state remembered across chat-close and re-login, an explicit error surfaced for undecryptable messages instead of silently dropping them, the toggle hidden on untrusted devices, and original filenames preserved on encrypted image download. New PubSub API methods for create, subscribe and unsubscribe round out the release.

◆ Where it's heading

The project is closing the gap between having encryption and having usable encryption. Almost every OMEMO change in this cycle is about failure modes users previously had to guess at: a silently dropped message, an encryption toggle offered where it cannot work, an abandoned bundle that never self-healed. That is the work a client does when its encryption is no longer a demo but something people depend on daily. Dropping client-compress for native browser APIs points the same way — fewer bundled dependencies in a security-sensitive path.

◆ Prediction

Expect the 14.x line to settle into interoperability fixes as OMEMO:2 meets other XMPP clients in the wild, with the new PubSub API the most likely base for the next feature layer.

S6.3

Stalwart adds full SCIM v2 provisioning and 24-language calendar support as its standards coverage extends further than most commercial mail servers.

◆ Current state

Stalwart is maintaining a weekly-or-faster release cadence, with alternating feature releases and dense bug-fix releases. The v0.16.20 release landed full SCIM v2 (Enterprise) including cursor-based pagination and the IPSIE lifecycle profile, conference links in calendar invites, and 24 new calendar interface translations. Below the feature line, the project is steadily closing correctness gaps across JMAP, CalDAV, IMAP, and MTA — many of them edge-case RFC compliance issues.

◆ Where it's heading

Stalwart is building toward parity with commercial enterprise mail servers on identity federation and provisioning (SCIM v2, VAPID for web push, DMARCbis/DKIM2 already landed). The pace of RFC implementation is unusually aggressive for an open-source project; the combination of JMAP, CalDAV, IMAP UIDONLY/UIDBATCHES, and SCIM v2 positions it as a viable self-hosted alternative for organizations that need standards compliance without vendor lock-in.

◆ Prediction

WebAuthn/passkey-based authentication and improved multi-tenant administration tooling are the most likely next capability additions, given the current trajectory toward enterprise identity management.

Alternatives to Converse.js and Stalwart

Other Comms products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either Converse.js or Stalwart.

See all Converse.js alternatives → · See all Stalwart alternatives →

Recent activity from Converse.js and Stalwart

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 10d agoStalwartv0.16.21
  2. 18d agoStalwartv0.16.20
  3. 23d agoStalwartv0.16.19
  4. 1mo agoStalwartv0.16.18
  5. 1mo agoStalwartv0.16.17
  6. 1mo agoStalwartv0.16.16
  7. 2mo agoConverse.jsOMEMO:2 encryption support ships in Converse 14
  8. 2mo agoConverse.jsOMEMO bundle self-healing and new PubSub API methods
  9. 3mo agoConverse.jslibomemo.js dependency bump
  10. 3mo agoConverse.jsclient-compress replaced with native browser APIs
  11. 3mo agoConverse.jsFirst beta carrying the OMEMO usability fixes
  12. 3mo agoConverse.jsReaction attribution and MUC JID parsing fixes

Frequently asked questions

What is the difference between Converse.js and Stalwart?

They serve adjacent needs but don't currently overlap on shipped themes. Stalwart is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is Converse.js better than Stalwart?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. Stalwart is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Comms products to evaluate alongside.

What are the best alternatives to Converse.js?

Top Converse.js alternatives in Comms are ranked by recent ship velocity. Browse the "Converse.js alternatives" section above for the current picks, or visit /alternatives/converse-js for the full list with editorial commentary on each.

What are the best alternatives to Stalwart?

Top Stalwart alternatives in Comms are ranked by recent ship velocity. Browse the "Stalwart alternatives" section above for the current picks, or visit /alternatives/stalwart for the full list with editorial commentary on each.