Skip to content

Releases: conversejs/converse.js

Version 7.0.1 - 2020-11-19

19 Nov 10:27
v7.0.1
Compare
Choose a tag to compare
  • #2328: Honor use_system_emojis in emoji-picker
  • Not all *.js files were included in the 7.0.0 package, causing:
    Module not found: Error: Can't resolve 'templates/*.js'

Version 7.0.0 - 2020-11-18

18 Nov 11:55
v7.0.0
Compare
Choose a tag to compare

Note for plugin authors:
configuration settings should now be accessed via _converse.api.settings.get and not directly on the _converse object.
Soon we'll deprecate the latter, so prepare now.

  • #2231: add sort_by_query and remove sort_by_length
  • #1313: Stylistic improvements to the send button
  • #1481: MUC OMEMO: Error No record for device
  • #1490: Busy-loop when fetching registration form fails
  • #1535: Add option to destroy a MUC
  • #1715: Update chat state notification after receiving a message correction.
  • #1793: Send button doesn't appear in Firefox in 1:1 chats
  • #1820: Set focus on jid field after controlbox is loaded
  • #1822: Don't log error if user has no bookmarks
  • #515 Add support for XEP-0050 Ad-Hoc commands
  • #1823: New config options muc_roomid_policy
    and muc_roomid_policy_hint
  • #1826: A user can now add himself as a contact
  • #1839: Headline messages are shown in controlbox
  • #1924: Configuring an ejabberd room fails
  • #1896: Don't send receipts for messages fetched from the archive
  • #1937: Editing a message removes the mentions highlight
  • #1963: Mentions are visually incorrect when used in message replies
  • #1999: Demarcate first unread message
  • #2002: fix rendering of muc_roomid_policy_hint
  • #2006: fix rendering of emojis in case use_system_emojis == false
  • #2028: Implement XEP-0333 displayed chat marker
  • #2101: Improve contrast of text in control box
  • #2187: Avoid merging initial settings with themselves every time settings are extended.
  • #2199: Fix BOSH session restore.
  • #2201: added html to converse.env
  • #2213: added CustomElement to converse.env
  • #2220: fix rendering of emojis in case use_system_emojis == false (again).
  • #2092: fixes room list update loop when having the locked_muc_domain truthy or 'hidden'
  • #2285: Rename config option muc_hats_from_vcard to muc_hats. Now accepts a list instead of a boolean and allows for more flexible choices regarding user badges.
  • #2300: Fix message reorder issue after message correction.
  • #2304: Custom emojis (stickers) images not shown
  • #2307: BootstrapModal is not accessible to plugins
  • #2308: Allow getHats method to be overriden in the overrides object in plugins.
  • #2321: When Converse runs inside a browser extension, enable browser sync and local storage for persistent storage
  • #1250: Change favicon color when unread messages
  • Updated translations: de, es, fi, fr, gl, hu, nb_NO, oc, pl, pt, pt_BR, ru, tr, uk, zh
  • The trusted configuration setting has been removed in favor of two new settings:
    allow_user_trust_override
    clear_cache_on_logout
  • The persistent_store setting can now also be set to sessionStorage
  • The api.archive.query method no longer accepts an RSM instance as argument.
  • The plugin converse-uniview has been removed and its functionality merged into converse-chatboxviews
  • Removed the mockups from the project. Recommended to use tests instead.
  • The API method api.settings.update has been deprecated in favor of api.settings.extend.
  • The API methods under the api.user.status namespace are now asynchronous and need to be awaited.
  • Filter roster contacts via all available information (JID, nickname and VCard full name).
  • Allow ignoring of bootstrap modules at build using environment variable. For xample: export BOOTSTRAP_IGNORE_MODULES="Modal,Dropdown" && make dist
  • Bugfix. Handle stanza that clears the MUC subject
  • Replace Backbone with Skeletor
  • Start using lit-html instead of lodash for templating.
  • muc_fetch_members now also accepts an array of affiliations to fetch.
  • Remove the configuration setting muc_show_join_leave_status. The optional status message is no longer shown at all.
  • Support for XEP-0156 is now enabled by default (which means that
    discover_connection_methods now has a default value of true).
  • show_send_button now has a default value of true.
  • The api.confirm method now accepts a list of fields and returns the filled in list upon confirmation.
  • New config option allow_adhoc_commands
  • New config option modtools_disable_assign
  • New config option modtools_disable_query
  • New config option muc_hats_from_vcard.
  • New config option muc_send_probes.
  • New config option notify_nicknames_without_references.
  • New config option show_message_avatar.
  • New public API converse.insertInto

Version 6.0.1 - 2020-02-13

13 Feb 12:38
v6.0.1
Compare
Choose a tag to compare
  • Bugfix. Handle stanza that clears the MUC subject
  • #1313: Stylistic improvements to the send button
  • #1793: Send button doesn't appear in Firefox in 1:1 chats
  • #1822: Don't log error if user has no bookmarks
  • #1820: Set focus on jid field after controlbox is loaded
  • #1823: New config options muc_roomid_policy
    and muc_roomid_policy_hint
  • #1826: A user can now add himself as a contact

Note: due to a bug in the webpack config, the webfonts directory isn't copied over from ./sass to ./dist when you build your own distribution files. As a workaround, you can just copy it over manually.

Version 6.0.0 - 2020-01-10

10 Jan 07:40
v6.0.0
Compare
Choose a tag to compare

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.

Version 5.0.5 - 2019-11-20

20 Nov 10:16
v5.0.5
Compare
Choose a tag to compare
  • Prevent editing of sent file uploads.
  • #1089: When filtering the roster for online users, show all non-offline users.
  • #1733: New message notifications for a minimized chat stack on top of each other
  • #1757: Chats are hidden behind the controlbox on mobile
  • #1760: Private messages no longer received after websocket reconnect

Version 5.0.4 - 2019-10-08

08 Oct 12:28
v5.0.4
Compare
Choose a tag to compare
  • New config option allow_message_corrections
    which, if set to last, limits editing of sent messages to the last message sent.
  • Bugfix: Don't treat every duplicate message ID as a message correction; since some clients don't use globally unique ID's this causes false positives.
  • Bugfix: process stanzas from mam one-by-one in order to correctly process message receipts
  • #1712: TypeError: plugin._features is not a function
  • #1714: Don't notify the user in case we're receiving a message delivery receipt only
  • #1739: New config option assets_path
    which lets you set the path from which "chunks" are loaded.

Version 5.0.3 - 2019-09-13

13 Sep 13:24
v5.0.3
Compare
Choose a tag to compare
  • Emit chatBoxFocused and chatBoxBlurred events for emoji picker input
  • SECURITY FIX: Reject unencapsulated forwarded messages, since we don't support XEP-0297 on its own

Version 5.0.2 - 2019-09-11

11 Sep 16:04
v5.0.2
Compare
Choose a tag to compare
  • po translations files are now loaded via Webpack. As a result the locales_url
    config option is now removed given that the path to the locale JSON files is now
    determined by the webpack config and can't be changed at runtime.
  • The JSON representing emojis is now fetched asynchronously as a separate file converse.emojis.js.
  • Webpack is now configured with a publicPath set to /dist/. This is necessary
    so that chunks (such as the emojis and locales JSON files) can be fetched asynchronously.
    This means that all your assets need to be served at /dist. If you need to set a
    different path, you'll need to set publicPath in webpack.config.js to
    your preferred path and then rebuild all assets (e.g. make dist).
  • Use listenTo to avoid memory leaks when views get removed.
  • SECURITY FIX: Ignore MAM chat messages not sent from yourself
  • #1692 Bugfix: TypeError: oldest_message is undefined
  • #1704 SECURITY FIX: Impersonation by misusage of groupchat carbons
  • #1705 Bugfix: this.roomspanel is undefined after hibernating

Version 5.0.1 - 2019-08-14

14 Aug 11:06
v5.0.1
Compare
Choose a tag to compare
  • Add a new GUI for moderator actions. You can trigger it by entering /modtools in a MUC.
  • Reconnect if the server doesn't respond to a ping within 10 seconds.
  • Don't query for MAM MUC messages before the cached messages have been restored (another cause of duplicate messages).
  • Show an error message and option to retry when fetching of the MAM archive times out
  • Bugfix: TypeError: o.getAttribute is not a function converse-chatview.js (can cause messages to not appear).

Version 5.0.0 - 2019-08-08

08 Aug 21:31
v5.0.0
Compare
Choose a tag to compare
  • BOSH support has been moved to a plugin.
  • Support for XEP-0410 to check whether we're still present in a room
  • Initial support for the CredentialsContainer web API
  • Allow for synchronous events. When a synchronous event is fired, Converse will
    wait for all promises returned by the event's handlers to finish before continuing.
  • Properly handle message correction being received before the corrected message
  • Groupchat default configuration now supports list-multi fields
  • Bugfix: Don't set muc_domain for roomspanel if locked_muc_domain is true.
  • Bugfix: Modal auto-closes when you open it for a second time.
  • Bugfix: Cannot read property 'parentElement' of null in shadow DOM
  • Take roster nickname into consideration when rendering messages and chat headings.
  • Hide the textarea when a user is muted in a groupchat.
  • Don't restore a BOSH session without knowing the JID
  • In the /help menu, only show allowed commands
  • Message deduplication bugfixes and improvements
  • Continuously retry (in 2s intervals) to fetch login credentials (via credentials_url) in case of failure
  • Replace moment with DayJS.
  • New config option auto_focus
  • New config option clear_messages_on_reconnection
  • New config option enable_smacks
  • New config option message_limit
  • New config option muc_fetch_members
  • New config option muc_mention_autocomplete_min_chars
  • New config option muc_show_join_leave_status
  • New config option singleton
    By setting this option to false and view_mode to 'embedded', it's now possible to
    "embed" the full app and not just a single chat. To embed just a single chat, it's now
    necessary to explicitly set singleton to true.
  • Re-add the previously removed config option keepalive
  • New event: chatBoxBlurred
  • New event: chatReconnected
  • #316: Add support for XEP-0198 Stream Management
  • #1071: x clear cross of same size as text
  • #1142: Up/down arrow shouldn't erase current message
  • #1196: Use alternative connection method upon connfail
  • #1296: embedded view mode shows chatbox-navback arrow in header
  • #1330: Missing room name in MUC invitation popup
  • #1445: Participants list uses big font in embedded mode
  • #1455: Avatar in controlbox status-view not updated
  • #1465: When highlighting a roster contact, they're incorrectly shown as online
  • #1476: Support OMEMO on by default for chats via a config variable
  • #1494: Trim whitespace around messages
  • #1495: Mentions should always include a URI attribute
  • #1502: Fatal error when using prebind
  • #1524: OMEMO libsignal-protocol.js Invalid signature
  • #1532: Converse reloads on enter pressed in the filter box
  • #1538: Allow adding self as contact
  • #1548: Add support for paging through the MAM results when filling in the blanks
  • #1550: Legitimate carbons being blocked due to erroneous forgery check
  • #1554: Room auto-configuration broke if the config form contained fields with type fixed
  • #1558: this.get is not a function error when forward_messages is set to true.
  • #1561: Don't call clear on local or session storage
  • #1572: In fullscreen view mode the top is cut off on iOS
  • #1575: MUC invitation autocomplete list doesn't appear
  • #1576: Converse gets stuck with spinner when logging out with auto_login set to true
  • #1579: Trim spaces at the beginning and end of a JID (when adding contact)
  • #1585: Upload files by pasting from clipboard
  • #1586: Not possible to kick someone with a space in their nickname
  • #1664: Blacklisting converse-profile makes the control box totally blank