> ## Content Index
> Fetch the complete content index at: https://www.process-one.net/llms.txt
> Use this file to discover other available public pages before exploring further.

# ejabberd 16.03: Experimental MIX support, LDAP, SQL and Riak improvements
- URL: https://www.process-one.net/blog/ejabberd-16-03-experimental-mix-support-ldap-sql-and-riak-improvements/
- Published: 2016-03-30T13:22:00.000Z
- Updated: 2024-09-19T13:23:13.000Z
- Author: Jérôme Sautret

ejabberd development keeps on its steady pace and we are energized by the growing momentum. Thank you all for your feedback and contributions for that release.

This new ejabberd release contains many many bugfixes, internal improvements, but also, as usual, some new features.

We are very excited by the experimental support for Mediated Information eXchange (MIX) we have added in ejabberd 16.03\. This is the future of Multi User Chat for XMPP. While still rough, you can already give it a try and help improve the specification. You can learn more from our previous blog post: [Experimental MIX Support for Group Conversations added to ejabberd](https://www.process-one.net/blog/experimental-mix-support-for-group-conversations-added-to-ejabberd/)

We have also started improvements of various third-party backends such a Microsoft SQL Server and LDAP. This is the beginning of a process to improve support of those backend, so please, bare with us and keep us posted on your results.

## Changes

### Protocols

- mod\_mix: Experimental support for MIX (XEP-0369)
- mod\_http\_upload: Add support for XEP-0363 v0.2

### Core

- Use SASL PLAIN authzid as client identity if auth module permits it
- Make auto generated resources shorter
- Start ezlib only if required, as it’s optional
- Make it possible to get virtual host of a registered route

### LDAP improvements

- Fix issue getting shared roster
- Do not call to deprected/undefined functions from mod\_shared\_roster\_ldap
- Proper naming for LDAP test function for shared roster

### SQL databases support

- New parse transform for SQL queries, use prepare/execute calls with Postgres
- Support for run-time SQL queries selection depending on DBMS version
- In SQL files create Users table with SCRAM support by default
- Do not auto append IP suffix to usernames
- Fix some LIMIT related problems with MSSQL
- Update Microsoft SQL Server schema

### Riak

- Add support for Riak authentication
- Fix is\_connected/0 function
- Keep alive Riak connections by default

### API and Commands

- Add support for ReST admin commands that are only restricted by source IP. This is key for easy integration with other backend using ReST API.
- Fix add\_commands and remove\_commands options
- Pass noauth when auth isn’t provided
- Improve ban\_account command to work with other DBs than Mnesia
- Escape quoting node name for ejabberdctl ping
- Bare JID in ‘from’ of Roster Push (RFC 6121 section 2.1.6) in mod\_admin\_extra
- Fix result type of “connected\_users\_info” command
- New command delete\_mnesia deletes all tables that can be exported. This is useful after you have migrated to another backend, like SQL.

### PubSub

- Unregister route at the very end
- Define PubSub node configuration per route/host explicitly
- Fix config fetch and pubsub disco after host/serverhost cleanup

### Admin and build chain

- Update OTP release to use R17.5 and drop release 17.1
- Compile ejabberd\_config early to stop undefined behaviour warnings
- Fix start via systemd
- Fixed type specifications for ‘rebar doc’
- Specify lacking nodename in ejabberdctl

### Dependencies

- Update p1\_pgsql to 1.1.0: This add support for prepared statements.
- Uptate fast\_yaml to 1.0.3: This improves the error reporting on syntax errors in Yaml configuration file.
- Use the v0.2 release of luerl instead of a commit.

### Test framework

- Add Coveralls support
- Add ability to run the ejabberd test suite in a modular way. You can now run the test suite, even if you only have a a single backend locally.

### Other

- mod\_mam: Don’t store watchdog notifications in MAM archives
- mod\_multicast: Fix Addresses element which lacked others local destinations
- mod\_offline: Mark get\_queue\_length obsolete, and use count\_offline\_messages
- Update Gallician translation

## Feedback

As usual, the release is tagged in the Git source code repository on [Github](https://github.com/processone/ejabberd.git?ref=process-one.net).

The source package and binary installers are available at [ProcessOne](https://www.process-one.net/en/ejabberd/downloads/).

If you suspect that you’ve found a bug, please search or fill a bug report on [Github](https://github.com/processone/ejabberd/issues?ref=process-one.net).