Converse.js v6.0.0 Release Notes

Release Date: 2020-01-09 // over 4 years ago

    πŸ”§ enable_smacks is not set to true by default.

    πŸ”¨ Refactor some presence and status handling code from converse-core into @converse/headless/converse-status.

    It's now possible to navigate the emoji-picker via the keyboard arrow keys.

    βž• Add support for notifications about affiliation change for users not in a room

    βž• Add support for XEP-0424 Message Retraction

    βž• Add support for XEP-0425 Message Moderation

    πŸ“„ New API _converse.api.headlines

    New config option allow_message_retraction

    πŸ†• New config option muc-show-logs-before-join

    New config option muc_mention_autocomplete_filter

    New config option muc_mention_autocomplete_show_avatar

    πŸ†• New config option persistent_store

    πŸŽ‰ Initial support for sending custom emojis. Currently only between Converse
    instances. Still working out a wire protocol for compatibility with other clients.
    To add custom emojis, edit the emojis.json file.

    πŸ‘ #129: Add support for XEP-0156: Disovering Alternative XMPP Connection Methods. Only XML is supported for now.

    πŸ‘ #1105: Support for storing persistent data in IndexedDB

    #1253: Show contacts with unread messages at the top of the roster

    #1322 Display occupants’ avatars in the occupants list

    #1640: Add the ability to resize the occupants sidebar in MUCs

    πŸ–¨ #1666: Allow scrolling of the OMEMO fingerprints list

    #1691: Fix collection.chatbox is undefined errors

    🌲 #1767: credentials_url is not called when logging out and then in again

    #1764: Incorrect URI encoding in "mention" references

    #1772: _converse.api.contact.add(jid, nick) fails, says not a function

    #1791: auto_focus set to false is ignored when switching back to a MUC

    #1792: Fix: modals don't have scrollbars

    #1796: Don't show "back" arrow navigation (on mobile) in the chat header when in singleton mode

    #1821: Errors caused by malformed URLs are now handled

    πŸ’₯ Breaking changes

    πŸ”§ The debug configuration option has been replaced with loglevel.

    In contrast to sessionStorage and localStorage, IndexedDB is an asynchronous database.
    πŸ”€ A lot of code that relied on database access to be synchronous had to be
    ⚑️ updated to work with asynchronous access via promises.

    πŸ‘ In order to add support for XEP-0156, the XMPP connection needs to be created
    🌲 only once we know the JID of the user that's logging in. This means that the
    πŸ“„ connectionInitialized
    πŸ”Œ event now fires much later than before. Plugins that rely on connectionInitialized
    ⚑️ being triggered before the user's JID has been provided will need to be updated.

    The following API methods now return promises:

    • _converse.api.chats.get
    • _converse.api.chats.create
    • _converse.api.rooms.get
    • _converse.api.rooms.create

    - _converse.api.roomviews.close

    πŸ”„ Changes the events:

    • The chatBoxInitialized event now triggers when a _converse.ChatBox (not the view) is opened.
    • Renamed the old chatBoxInitialized to chatBoxViewInitialized and trigger only for ChatBoxView instances.
    • Renamed chatRoomOpened event to chatRoomViewInitialized

    - The order of certain events have now changed: statusInitialized is now triggered after initialized and connected and reconnected.

    _converse.api.chats.get() now only returns one-on-one chats, not the control box or headline notifications.

    The show_only_online_users setting has been removed.

    _converse.api.alert.show is now _converse.api.show and instead of taking
    an integer for the type, "info", "warn" or "error" should be passed in.

    πŸ”Œ The converse-headline plugin has been split up into converse-headlines and converse-headlines-view.