ejabberd v20.01 Release Notes

Release Date: 2020-01-17 // about 1 month ago
    • 🆕 New features
    • Implement OAUTH authentication for clients
    • Implement OAUTH authentication in mqtt
    • 🌲 Make logging infrastructure use new logger introduced introduced in Erlang (requires OTP22)
    • 🆕 New configuration parser/validator
    • 🎉 Initial work on being able to use CockroachDB as database backend
    • ➕ Add gc command
    • ➕ Add option to disable using prepared statements on Postgresql
    • Implement routine for converting password to SCRAM format for all backends not only SQL
    • ➕ Add infrastructure for having module documentation directly in individual module source code
    • Generate man page automaticaly
    • Implement copy feature in mod_carboncopy

    • 🛠 Fixes

    • 🔧 Make webadmin work with configurable paths

    • 🛠 Fix handling of result in xmlrpc module

    • 👉 Make webadmin work even when accessed through not declared domain

    • 👍 Better error reporting in xmlrpc

    • Limit ammount of results returned by disco queries to pubsub nodes

    • 👌 Improve validation of configured JWT keys

    • 🛠 Fix race condition in Redis/SQL startup

    • 🛠 Fix loading order of third party modules

    • 🛠 Fix reloading of ACL rules

    • 👉 Make account removal requests properly route response

    • 👌 Improve handling of malformed inputs in send_message command

    • Omit push notification if storing message in offline storage failed

    • 🛠 Fix crash in stream management when timeout was not set


Previous changes from v19.09

    • Admin
    • The minimum required Erlang/OTP version is now 19.3
    • 🛠 Fix API call using OAuth (#2982)
    • 📇 Rename MUC command arguments from Host to Service (#2976)

    • Webadmin

    • Don't treat 'Host' header as a virtual XMPP host (#2989)

    • 🛠 Fix some links to Guide in WebAdmin and add new ones (#3003)

    • 👉 Use select fields to input host in WebAdmin Backup (#3000)

    • Check account auth provided in WebAdmin is a local host (#3000)

    • ACME

    • 👌 Improve ACME implementation

    • 🛠 Fix IDA support in ACME requests

    • 🛠 Fix unicode formatting in ACME module

    • 🌲 Log an error message on IDNA failure

    • 👌 Support IDN hostnames in ACME requests

    • Don't attempt to create ACME directory on ejabberd startup

    • Don't allow requesting certificates for localhost or IP-like domains

    • Don't auto request certificate for localhost and IP-like domains

    • ➕ Add listener for ACME challenge in example config

    • Authentication

    • JWT-only authentication for some users (#3012)

    • MUC

    • 0️⃣ Apply default role after revoking admin affiliation (#3023)

    • Custom exit message is not broadcast (#3004)

    • ⏪ Revert "Affiliations other than admin and owner cannot invite to members_only rooms" (#2987)

    • When join new room with password, set pass and password_protected (#2668)

    • 👌 Improve rooms_* commands to accept 'global' as MUC service argument (#2976)

    • 📇 Rename MUC command arguments from Host to Service (#2976)

    • SQL

    • 🛠 Fix transactions for Microsoft SQL Server (#2978)

    • Spawn SQL connections on demand only

    • Misc

    • ➕ Add support for XEP-0328: JID Prep

    • ➕ Added gsfonts for captcha

    • 🌲 Log Mnesia table type on creation

    • Replicate Mnesia 'bosh' table when nodes are joined

    • 🛠 Fix certificate selection for s2s (#3015)

    • Provide meaningful error when adding non-local users to shared roster (#3000)

    • Websocket: don't treat 'Host' header as a virtual XMPP host (#2989)

    • 🛠 Fix sm ack related c2s error (#2984)

    • Don't hide the reason why c2s connection has failed

    • 👍 Unicode support

    • 🌲 Correctly handle unicode in log messages

    • 🛠 Fix unicode processing in ejabberd.yml