5.0.0 to 5.1.0
The configuration format has slightly changed and you might need to amend
There is a new, simplified configuration format for
mongoose_client_api. You need to change the
listen section unless you have disabled the client API in your configuration file. Consult the option description and the example configuration for details.
The implicit check for user's domain in patterns is now configurable and the default behaviour (previously undocumented) is more consistent - the check is always performed unless disabled with
match = "all".
See the description of
current_domain for more details.
- Each authentication method needs a TOML section, e.g. if you have the
rdbmsmethod enabled, you need to have the
[auth.rdbms]section in the configuration file, even if it is empty. The
methodsoption is not required anymore and especially if you are using only one method, you can remove it.
auth.scram_iterationsoption was moved to
See the auth configuration for details.
A few options of the outgoing connection pools were changed for consistency:
- Cassandra servers:
ip_addresswas renamed to
- RabbitMQ: the
amqp_option prefix was removed,
rootdnwas renamed to
encryptwas removed (the
tlsoption should be used instead).
- All options can be set globally or inside
host_config.s2ssection overrides the whole global section now. Previously only the specified options were overridden.
domain_certfileoption has been moved to the
generalsection because it affects
c2sconnections as well.
The rules for overriding global options in the
host_config section have been simplified. The
auth section and the
s2s.host_policy options now completely override the corresponding general settings instead of being merged with them.
mod_auth_tokenhas a new configuration format - if you are using this module, amend the
mod_event_pusherhas an updated configuration format - the
backendsubsection is removed and the
httpbackend has a new
handlersoption. Adjust your configuration according to
mod_mam_metadoes not have the
simpleoptions anymore. Use
mod_shared_roster_ldapall options have their
mod_vcardLDAP options are moved into an LDAP subsection.
async_writer flag of MAM is now a section on its own, that absorbs previous flags related to it:
pool_size now become subelements of the
async_writer section, with one more parameter,
enabled. Below an example:
1 2 3 4
1 2 3 4
There's an experimental and undocumented module called
mod_smart_markers, that had a default table in the RDBMS schema, which you probably never used (or shouldn't have, as it was undocumented). If you rely on this table, the column
from_jid has been split in
lserver, in order to support the
remove_domain callback for the dynamic domains functionality. You might need to migrate it, or simply drop the previously defined table and recreate the new one.
The archive functionality recently introduced has been extended to support many more boxes. IQ queries can remain as they were, but, a new flag called
box is now introduced, and if provided, it takes preference over the old
archive flag. The database requires a migration, as the archive is now a column storing the proper name of the box, see the migrations for Postgres, MySQL and MSSQL in the
Removal of deprecated modules
mod_revproxy- removed from the code base as it was unsupported since 4.2.0.
mod_aws_sns- its functionality is fully covered by
Internal module configuration rework
If you are using your own extension modules (or services), you need to update the code. The most important change is that configuration options were stored in proplists before, and now they are stored in maps, so e.g. the
start/2 function of your module should expect a map as the second argument.