ejabberd 2.1.6 release

We are pleased to announce the bugfix release ejabberd 2.1.6.

ejabberd 2.1.6 is the seventh release in ejabberd 2.1.x branch, and includes a lot of bugfixes and improvements.

Main changes

Some of the changes include:

Account register

  • mod_register: New ip_access option restricts which IPs can register (EJAB-915)
  • mod_register: Default configuration allows registrations only from localhost
  • mod_register: New password_strength for entropy check (EJAB-1326)
  • mod_register: New captcha_protected option to require CAPTCHA (EJAB-1262)
  • mod_register_web: New module, with CAPTCHA support (EJAB-471)


  • Don’t loop when there is nothing after a stream start (EJAB-1358)
  • Fix http-bind supervisor to support multiple vhosts (EJAB-1321)
  • Support to restart http-bind (EJAB-1318)
  • Support for X-Forwarded-For HTTP header (EJAB-1356)

Erlang/OTP compatibility

  • R11: Fix detection of Erlang R11 and older (EJAB-1287)
  • R12B5: Fix compatibility in ejabberd_http_bind.erl (EJAB-1343)
  • R14A: Make xml.c correctly compile (EJAB-1288)
  • R14A, R14B: Disapprove the use of R14A and R14B due to the rwlock bug
  • R14B: Use pg2 from this version in systems with older ones (EJAB-1349)


  • Bind listener ports early and start accepting connections later
  • Fix a leak of ejabberd_receiver processes
  • Speed up ejabberd_s2s:is_service/2, allow_host/2 (EJAB-1319)
  • S2S: New option to require encryption (EJAB-495)
  • S2S: New option to reject connection if untrusted certificate (EJAB-464)
  • S2S: Include From attribute in the stream header of outgoing S2S connections
  • S2S: Fix domain_certfile tlsopts modifications for S2S connections (EJAB-1086)


  • Fix pubsub cross domain eventing (EJAB-1340)
  • Use one_queue IQ discipline by default
  • Implement lifetime for broken hashes
  • New CAPS processing


  • Increase maximum restart strategy to handle some SQL timeouts
  • Support PostgreSQL 9.0 (EJAB-1359)
  • Use MEDIUMTEXT type for vcard avatars in MySQL schema (EJAB-1252)


  • mod_shared_roster_ldap: New Shared Roster Groups using LDAP information
  • mod_privacy: Fix to allow block by group and subscription again
  • Support timezone West of UTC (EJAB-1301)
  • Support to change loglevel per module at runtime (EJAB-225)

Release notes

Check the Release Notes for a more complete list of changes:

If you upgrade from ejabberd 2.0.5 or older, read carefully the release notes of ejabberd 2.1.0 too, because there were several changes in the installation path and the configuration options.


For a more complete list of changes, you can check the list of solved tickets since previous version, available on ProcessOne bug tracker:


ejabberd 2.1.6 is available as source code package and binary installers for Linux 32 bits, 64 bits, Mac OS X Intel, and Windows:

Let us know what you think 💬

Leave a Comment

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