@jcbrand jcbrand released this Jan 17, 2018 · 1451 commits to master since this release

Assets 10

Changes

Bugfixes

  • #800 Could not register successfully in ejabberd 17.01
  • #949 Don't flash the roster contacts filter (i.e. hide by default)
  • #951 Duplicate messages received in an MUC chat room.
  • #953 MUC "Features" displayed when exiting configuration
  • #967 Rooms list doesn't show when the server doesn't support bookmarks
  • Don't require auto_login to be true when using the API to log in.
  • Moment locale wasn't being set to the value passed via the i18n option.
  • In the chat heading, two avatars sometimes get rendered.
  • Refetch the roster from the server after reconnection.
    From the perspective of the XMPP server, this is an entirely new login,
    and therefore as per RFC-6121
    the roster SHOULD be queried, making the client an "interested resource".
    Otherwise connected contacts might not get your presence updates.
  • The way the archive ID of a MAM message is specified, has changed.
    See https://xmpp.org/extensions/xep-0313.html#archives_id
  • Fixed error building DOM toggle_chats.html span.unread-message-count class attribute
  • Bugfix. In a MUC the /help command didn't render properly.
  • The /voice MUC command didn't set the right role in order to grant voice again.

New Features

  • Emojis are now sent in unicode instead of short names
  • #314 Add support for opening chat rooms with a URL fragment such as #converse/room?jid=room@domain
    and private chats with a URL fragment such as #converse/chat?jid=user@domain
  • #828 Add routing for the #converse/login and #converse/register URL
    fragments, which will render the registration and login forms respectively.
  • New configuration setting view_mode
    This removes the need for separate inverse.js and converse-mobile.js
    builds. Instead the converse.js build is now used with view_mode set to
    fullscreen and mobile respectively.
  • Fetch VCard when starting a chat with someone not in the user's roster.
  • Show status messages in an MUC room when a user's role changes.
  • In MUC chat rooms, collapse multiple, consecutive join/leave messages.
  • Performance improvements for rendering private chats, rooms and the contacts roster.
  • MUC Leave/Join messages now also show a new day indicator if applicable.

API changes

  • New API method _converse.disco.supports to check whether a certain
    service discovery feature is supported by an entity.
  • New API method _converse.api.vcard.get which fetches the VCard for a
    particular JID.

Configuration changes

  • hide_open_bookmarks is now by default true.

UX/UI changes

  • #984 Improve loading of archived messages via "infinite scroll"
  • Use CSS3 fade transitions to render various elements.
  • Remove Login and Registration tabs and consolidate into one panel.
  • Show validation error messages on the login form.
  • Don't hang indefinitely and provide nicer error messages when a connection
    can't be established.
  • Consolidate error and validation reporting on the registration form.
  • Don't close the emojis panel after inserting an emoji.
  • Focus the message textarea when the emojis panel is opened or closed.
  • MUC chatroom occupants are now sorted alphabetically and according to their roles.

Technical changes

  • Converse.js now includes a Virtual DOM
    via backbone.vdomview and uses
    it to render various views.
  • Converse.js no longer includes all the translations in its build. Instead,
    only the currently relevant translation is requested. This results in a much
    smaller filesize but means that the translations you want to provide need to
    be available. See the locales_url
    configuration setting for more info.
  • The translation machinery has now been moved to a separate module in src/i18n.js.
  • jQuery has been completely removed as a dependency (still used in tests though).