github conversejs/converse.js v11.0.0
11.0.0 (2025-05-21)

latest releases: v12.0.0, v11.0.1
3 months ago

Note: The Desktop version of Converse can be downloaded here:
https://github.com/conversejs/converse-desktop/releases

Github Issues

  • #122: Set horizontal layout direction based on the language
  • #317: Add the ability to render audio streams. New config option fetch_url_headers
  • #690: Allow setting a custom name and the group for an existing contact
  • #698: Add support for MUC private messages
  • #1021: Message from non-roster contacts don't appear in fullscreen view_mode
  • #1038: Support setting node config manually
  • #1057: Removed the mobile view mode. Instead of setting view_mode to mobile, set it to fullscreen.
  • #1174: Show MUC avatars in the rooms list
  • #1181: Show OMEMO fingerprint as QR code
  • #1195: Add actions to quote and copy messages
  • #1303: Display non-contacts who sent us a message somehow in fullscreen
  • #1349: XEP-0392 Consistent Color Generation
  • #1700: Deleted pending contacts reappear after page reload
  • #1810: Create clickable link to load older MAM messages if there is no scrollbars.
  • #2118: Show reflected message in MUC
  • #2335: Support list virtualization of the message history
  • #2383: Add modal to start chats with JIDs not in the roster
  • #2586: Add support for XEP-0402 Bookmarks
  • #2623: Merge MUC join and bookmark, leave and unset autojoin
  • #2716: Fix issue with chat display when opening via URL
  • #2844: Contact stays in "pending contacts"
  • #2940: Avoid gaps in history when new message is received before MAM query is made
  • #2980: Allow setting an avatar for MUCs
  • #3033: Add the muc_grouped_by_domain option to display MUCs on the same domain in collapsible groups
  • #3038: Message to self from other client is ignored
  • #3038: Support showing yourself in the left sidebar. Adds new config option show_self_in_roster.
  • #3100: fixed width .box-flyout breaks responsive design in embedded, mobile viewport mode.
  • #3155: Some ad-hoc commands not working
  • #3155: Some adhoc commands aren't working
  • #3299: Registration fails when a password contains an &
  • #3300: Adding the maxWait option for debouncedPruneHistory
  • #3302: debounce MUC sidebar rendering
  • #3305: New config option muc_search_service
  • #3307: Fix inconsistency between browsers on textarea outlines
  • #3337: Correctly display multiline nested quotes
  • #3340: Save draft messages when switching channels
  • #3362: Don't create empty nick element in bookmarks
  • #3386: Registration form is not fetched
  • #3464: Missing localization: the online status is not localized
  • #3476: better UI for form "fixed" fields
  • #3478: MUC participant status indicator misplaced
  • #3510: MUC's configuration panel loads endlessly, if it's jthe second one you want to configure
  • #3529: Unbookmarked channels no longer change their name when clicked with an unread indicator (or text icon)
  • #3579: Changing nickname in a groupchat once, forbids to change nickname in another groupchat afterwards
  • #3589: Hats namespace change

Bugfixes

  • Fix: MUC occupant list does not sort itself on nicknames or roles changes
  • Fix: refresh the MUC sidebar when participants collection is sorted
  • Fix: room information not correctly refreshed when modifications are made by other users
  • Fix: prevent busy-loop when session resumption fails
  • Fix: unhandled exception on new message arriving when user has not permitted playing audio in the browser
  • Fix: incorrect unread messages counter badge on the application icon after switching to new XMPP user
  • Fix: unhandled exception in disconnect function when controlbox is not shown by UI
  • Fix: "Click to mention..." title was misplaced in MUC occupant list.
  • Fix: removing the "add to contact" button in occupant modal in singleton mode (as there is no roster).
  • Fix: trying to use emojis with an uppercase letter breaks the message field.
  • Fix: renaming getEmojisByAtrribute to getEmojisByAttribute.
  • Fix: replace duplicated Romanian strings with correct values

Changes and features

  • Upgrade to the latest versions of XEP-0424 and XEP-0425 (Message Retraction and Message Moderation).
    Converse loses the ability to retract or moderate messages in the older format,
    so you might need to upgrade your XMPP server's implementation of these as well.
  • Embed the Spotify player for links to Spotify tracks. New config option embed_3rd_party_media_players.
  • Add support for XEP-0191 Blocking Command
  • Upgrade to Bootstrap 5
  • Add an occupants filter to the MUC sidebar
  • Change contacts filter to rename the anachronistic Online state to Available.
  • Enable reuse_scram_keys by default.
  • New loadEmojis hook, to customize emojis at runtime.
  • Add new themes Cyberpunk and Nordic and remove the old Concord theme.
  • Improved accessibility.
  • New "getOccupantActionButtons" hook, so that plugins can add actions on MUC occupants.
  • Update the "Add MUC" modal to add validation and to allow specifying only the MUC name and not the whole address.
  • MUC occupants badges: displays short labels, with full label as title.
  • New config option stanza_timeout
  • New config option lazy_load_vcards
  • New config option enable_roster_versioning
  • New config option rtl_langs for specifying languages for which
    Converse's UI should be shown in right-to-left order.

Default config changes

  • Make fullscreen the default view_mode.
  • Set auto_register_muc_nickname default to 'unregister' so that your
    nickname is automatically registered with a MUC upon entering and
    unregistered upon explicitly leaving the MUC (by closing it).
  • The allow_non_roster_messaging setting now defaults to true.

Breaking changes:

  • Removed the autocomplete_add_contact config setting. Auto-complete is now always enabled.
  • Remove the old _converse.BootstrapModal in favor of _converse.BaseModal which is a web component.
  • The connection is no longer available on the _converse object. Instead, use api.connection.get().
  • Add a new exports attribute on the _converse object which is meant for
    providing access for 3rd party plugins to code (e.g. classes) from
    converse.js. Some classes that were on the _converse object, like
    CustomElement are not on _converse.exports.
  • The windowStateChanged event has been removed. If you used it, rely on the
    visibilitychange event on document instead.
  • api.modal.create no longer takes a class, instead it takes the name of a custom DOM element.
  • getAssignableRoles and getAssignableAffiliations are no longer on the _converse object, but on the Occupant instance.
  • Removed the chatBoxFocused and chatBoxBlurred events.
  • Changed the signature of the api.contacts.add API method.
  • The deprecated API method api.settings.update has been removed. Use
    api.settings.extend instead.
  • Removed the default_state config option.

Don't miss a new converse.js release

NewReleases is sending notifications on new releases.