ejabberd 20.12

We are pleased to announce ejabberd 20.12. This release, just in time for the New Year’s, includes several new features and many improvements & bugfixes.

Most notably, ejabberd now works with the Microsoft ODBC Driver for the SQL Server support. With a new config option, sql_odbc_driver, you can explicitly specify the path to the ODBC driver you want to use.

We also improved the supported authentication methods with the addition of SCRAM-SHA-1-PLUS, SCRAM-SHA-256(-PLUS) and SCRAM-SHA-512(-PLUS).

ejabberd 20.12 now with Microsoft ODBC Driver support for the SQL Server

ejabberd 20.12 is a big release, and here is just a small selection of the improvements it includes:


  • Add support for SCRAM-SHA-(1,256,512)(-PLUS) authentication
  • Don’t use same value in cache for user don’t exist and wrong password
  • outgoing_s2s_ipv*_address: New options to set ipv4/ipv6 outbound s2s out interface
  • s2s_send_packet: this hook now filters outgoing s2s stanzas
  • start_room: new hook runs when a room process is started
  • check_decoded_jwt: new hook to check decoded JWT after success authentication


  • Docker: Fix DB initialization
  • New sql_odbc_driver option: choose the mssql ODBC driver, with support for Microsoft ODBC Driver for SQL Server
  • Rebar3: Fully supported. Enable with ./configure --with-rebar=/path/to/rebar3
  • systemd: start ejabberd in foreground


  • MAM: Make sure that jid used as base in mam xml_compress is bare
  • MAM: Support for MAM Flipped Pages
  • MUC: Always show MucSub subscribers nicks
  • MUC: Don’t forget not-persistent rooms in load_permanent_rooms
  • MUC Admin: Better error reporting
  • MUC Admin: Fix commands with hibernated rooms
  • MUC Admin: Many improvements in rooms_unused_list/destroy
  • MUC Admin: create_room_with_opts Store options only if room starts
  • Pubsub: Remove ‘dag’ node plugin documentation
  • Push: Fix API call return type on error
  • Push: Support cache config changes on reload
  • Register: Allow for account-removal-only setup again
  • Roster: Make roster subscriptions work better with invalid roster state in db
  • Vcard: Fix vCard search by User when using Mnesia
  • WebAdmin: Allow vhost admins to view WebAdmin menus
  • WebAdmin: Don’t do double utf-8 conversion on translated strings
  • WebAdmin: Mark dangerous buttons with CSS
  • WebSocket: Make websocket send put back pressure on c2s process

ejabberd 20.12 download & feedback

As usual, the release is tagged in the Git source code repository on Github.

The source package and binary installers are available at ejabberd XMPP & MQTT server download page.

We’ve discovered some issues with the Windows installer that we are still working on, so its publication is delayed.

If you suspect that you’ve found a bug, please search or fill a bug report on Github.

Let us know what you think 💬

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.