ejabberd 17.04

Less than a month after previous release, ejabberd 17.04 is out with bug-fixes and new features: Redis and SQL backends can now be used to store some RAM tables, the same way Mnesia is doing.

This release fixes few regressions from previous refactor. If you have troubles using PEP or using external modules with ejabberd 17.03, upgrade to 17.04 should fix everything.

Refactor efforts are still in progress. If you’re a developer, consider ‘jlib’ module as obsolete and do call common helpers (like type convertors) from the new ‘misc’ module instead.



  • Add more examples on config template
  • Generate ejabberd lib dir when not available in code server
  • Set default prefix to /usr/local
  • Start supervisors after ext_mod
  • Don’t log warning on successful ping reply
  • New muc_register_nick command


  • Deprecate jlib.erl in favor of misc.erl
  • Add support for file-based queues
  • ejabberd_sm: Fix routing of headline and groupchat messages
  • Fix c2s connection close on demand
  • Improve overloaded S2S queue processing


  • Improve Redis related code
  • Add Redis pool support
  • Improve logging of Redis errors
  • Add Redis and SQL as mod_proxy65 RAM backends
  • Add Redis and SQL as mod_carboncopy RAM backends
  • Add Redis and SQL as mod_bosh RAM backends
  • Add Redis and SQL as router RAM backends
  • Add SQL as mod_muc RAM backend
  • Remove obsolete Pubsub mnesia migration calls


  • ejabberd_http: Expand @VERSION@ in custom headers
  • ejabberd_http: Add “custom_headers” option
  • mod_client_state: Queue stanzas of each full JID
  • mod_http_upload: Don’t add “Server” header line
  • Pubsub: Refactor pubsub’s get_last_items
  • Pubsub: Fix PEP issues


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.

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

Let us know what you think 💬

9 thoughts on “ejabberd 17.04

  1. Thanks for the great service..

    In older versions of ejabberd I was able to add custom tags to my messages and my user application handled those tags. But in the newer version all my custom tags were being removed by ejabberd server. I was wondering if this version supports custom tags or not?

    • By custom tags I meant custom fields for messages. for example I would like to have another attribute to my text messages to specify the language.


      on the previous versions user2 was able to get exactly the message that user1 had sent but in the newer versions of Ejabberd user2 won’t get custom tags(fields) and they only get:



  2. “If you have troubles using PEP or using external modules with ejabberd 17.03, upgrade to 17.04 should fix everything.”

    We actually had problems with ejabberd 17.03 and PEP: OMEMO encryption (that relies on PEP) was not working. But upgrading to ejabberd 17.04 did *not* solve the problem.

    Are there still open issues with PEP, or should we look for additional unrelated problems with our setup?

    Or should we downgrade to 17.02..?

Leave a Comment

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