Releases: conversejs/converse.js
Version 7.0.1 - 2020-11-19
- #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
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 tosessionStorage
- The
api.archive.query
method no longer accepts an RSM instance as argument. - The plugin
converse-uniview
has been removed and its functionality merged intoconverse-chatboxviews
- Removed the mockups from the project. Recommended to use tests instead.
- The API method
api.settings.update
has been deprecated in favor ofapi.settings.extend
. - The API methods under the
api.user.status
namespace are now asynchronous and need to beawait
ed. - 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 oftrue
). - 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
- 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
-
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 theemojis.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 tofalse
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 onconnectionInitialized
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
tochatBoxViewInitialized
and trigger only forChatBoxView
instances. - Renamed
chatRoomOpened
event tochatRoomViewInitialized
- The order of certain events have now changed:
statusInitialized
is now triggered afterinitialized
andconnected
andreconnected
.
- The
-
_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 thetype
, "info", "warn" or "error" should be passed in. -
The
converse-headline
plugin has been split up intoconverse-headlines
andconverse-headlines-view
.
Version 5.0.5 - 2019-11-20
- 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
- New config option allow_message_corrections
which, if set tolast
, 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
- Emit
chatBoxFocused
andchatBoxBlurred
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
po
translations files are now loaded via Webpack. As a result thelocales_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 setpublicPath
inwebpack.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
isundefined
after hibernating
Version 5.0.1 - 2019-08-14
- 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
- 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 iflocked_muc_domain
istrue
. - 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 tofalse
andview_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 setsingleton
totrue
. - 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 showschatbox-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 whenforward_messages
is set totrue
. - #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 totrue
- #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