We have made it one more time: ejabberd development keeps on its steady pace and we are energised 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 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.
- mod_mix: Experimental support for MIX (XEP-0369)
- mod_http_upload: Add support for XEP-0363 v0.2
- 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
- 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.
- 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
- 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.
- 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
Thank you all !