ejabberd 16.08

Welcome ejabberd summer release !

This new release is the culmination of several months of work to improve your experience using ejabberd. It contains as usual a lot of small bug fixes and some enhancements. However, this version contains some new major features:

MUC/Sub

Major clean-up and improvement on OAuth ReST API

Database backend for OAuth tokens

Better support of Elixir modules

Full compatibility with Erlang 19

Modules loading in a dependent order

The biggest improvement in ejabberd 16.08 is a new experimental feature in ejabberd that make group conversations in XMPP work seamlessly with mobile clients: MUC/Sub.

The main issue with XMPP group chat (based on XEP-0045) is that it is bound to user presence. On mobile, presence is almost irrelevant. You are always somewhat loosely reachable, but ofter seen as offline from XMPP point of view. MUC/Sub rely as much as possible on existing MUC specification, while making the smallest possible change that make mobile group conversation client development easy without having to send presence.
See all details in our dedicated MUC/Sub blogpost.

This release also covers needs of the Elixir community: Erlang 19, Elixir 1.2.6, better mix integration. It’s also possible to write Elixir module handled by the contributed module extension of ejabberd. We also tested ejabberd with Elixir 1.3.2 with success, so you can likely upgrade without issues.

Finally, it is worth noting that development team is growing and three new official contributors joined the project: Gabriel, Anna and Thiago. Welcome !

Changes

This is a selection of the most relevant changes:

MUC

New MUC/Sub support

Add ‘allow_subscription’ room configuration option for MUC/Sub

OAuth and ReST API

Add OAUTH SQL backend

New special scope: ejabberd:admin and ejabberd:user, to more easily grant group of privileges