Skip to content

# Upgrade to ejabberd 22.10

There are no breaking changes in SQL schemas, configuration, or commands API. If you develop an ejabberd module, notice two hooks have changed: `muc_subscribed` and `muc_unsubscribed`.

## Hook Changes

Two hooks have changed: `muc_subscribed` and `muc_unsubscribed`. Now they get the packet and room state, and can modify the sent packets. If you write source code that adds functions to those hooks, please notice that previously they were ran like:

    ejabberd_hooks:run(muc_subscribed, ServerHost, [ServerHost, Room, Host, BareJID]);

and now they are ran like this:

    {Packet2a, Packet2b} = ejabberd_hooks:run_fold(muc_subscribed, ServerHost, {Packet1a, Packet1b},
    [ServerHost, Room, Host, BareJID, StateData]),

being Packet1b a copy of Packet1a without the `jid` attribute in the `muc_subscribe` element.