ejabberd v22.05 Release Notes
-
Core
- C2S: Don't expect that socket will be available in
c2s_terminated
hook - Event handling process hook tracing
- Guard against
erlang:system_info(logical_processors)
not always returning a number domain_balancing
: Allow for specifyingtype
only, without specifyingcomponent_number
MQTT
- โ Add TLS certificate authentication for MQTT connections
- ๐ Fix login when generating client id, keep connection record (#3593)
- ๐ Pass property name as expected in mqtt_codec (fixes login using MQTT 5)
- ๐ Support MQTT subscriptions spread over the cluster (#3750)
MUC
- Attach meta field with real jid to mucsub subscription events
- ๐ Handle user removal
- Stop empty MUC rooms 30 seconds after creation
default_room_options
: Update options configurablesubscribe_room_many_max_users
: New option inmod_muc_admin
mod_conversejs
- ๐ Improved options to support
@HOST@
andauto
values - ๐ง Set
auth
andregister
options based on ejabberd configuration conversejs_options
: New optionconversejs_resources
: New option
PubSub
mod_pubsub
: Allow for limitingitem_expire
valuemod_pubsub
: Unsubscribe JID on whitelist removalnode_pep
: Add config-node and multi-items features (#3714)
SQL
- ๐ Improve compatibility with various db engine versions
- ๐ Sync old-to-new schema script with reality (#3790)
- โ Slight improvement in MSSQL testing support, but not yet complete
Other Modules
auth_jwt
: Checking if an user is active in SM for a JWT authenticated user (#3795)mod_configure
: Implement Get List of Registered/Online Users from XEP-0133mod_host_meta
: New module to serve host-meta files, see XEP-0156mod_mam
: Store all mucsub notifications not only message notificationsmod_ping
: Delete ping timer if resource is gone after the ping has been sentmod_ping
: Don't send ping if resource is gonemod_push
: Fix notifications for pending sessions (XEP-0198)mod_push
: Keep push session ID on session resumemod_shared_roster
: Adjust special group cache sizemod_shared_roster
: Normalize JID on unset_presence (#3752)mod_stun_disco
: Fix parsing of IPv6 listeners
Dependencies
- ๐ autoconf: Supported from 2.59 to the new 2.71
- โก๏ธ fast_tls: Update to 1.1.14 to support OpenSSL 3
- โก๏ธ jiffy: Update to 1.1.1 to support Erlang/OTP 25.0-rc1
- โก๏ธ luerl: Update to 1.0.0, now available in hex.pm
- lager: This dependency is used only when Erlang is older than 22
- โก๏ธ rebar2: Updated binary to work from Erlang/OTP 22 to 25
- โก๏ธ rebar3: Updated binary to work from Erlang/OTP 22 to 25
- โก๏ธ
make update
: Fix when used with rebar 3.18
Compile
- ๐
mix release
: Copyinclude/
files for ejabberd, deps and otp, inmix.exs
- ๐
rebar3 release
: Fix ERTS path inejabberdctl
- ๐ง
configure.ac
: Set default ejabberd version number when not using git - ๐
mix.exs
: Move some dependencies as optional - ๐
mix.exs
: No need to use Distillery, Elixir has built-in support for OTP releases (#3788) - ๐ง
tools/make-binaries
: New script for building Linux binaries - ๐
tools/make-installers
: New script for building command line installers
Start
- ๐ New
make relive
similar toejabberdctl live
without installing - โ
ejabberdctl
: Fix some warnings detected by ShellCheck ejabberdctl
: Mention in the help:etop
,ping
andstarted
/stopped
- ๐
make rel
: Switch to paths:conf/
,database/
,logs/
mix.exs
: Add-boot
and-boot_var
inejabberdctl
instead of addingvm.args
- โ
tools/captcha.sh
: Fix some warnings detected by ShellCheck
Commands
- Accept more types of ejabberdctl commands arguments as JSON-encoded
delete_old_mam_messages_batch
: New command with rate limitdelete_old_messages_batch
: New command with rate limitget_room_occupants_number
: Don't request the whole MUC room state (#3684, #1964)- ๐
get_vcard
: Add support for MUC room vCard oauth_revoke_token
: Add support to work with all backendsroom_unused_*
: Optimize commands in SQL by reusingcreated_at
rooms_unused_...
: Letget_all_rooms
handleglobal
argument (#3726)stop|restart
: Terminate ejabberd_sm before everything else to ensure sessions closing (#3641)subscribe_room_many
: New command
๐ Translations
- โก๏ธ Updated Catalan
- โก๏ธ Updated French
- โก๏ธ Updated German
- โก๏ธ Updated Portuguese
- โก๏ธ Updated Portuguese (Brazil)
- โก๏ธ Updated Spanish
Workflows
- ๐ CI: Publish CT logs and Cover on failure to an external GH Pages repo
- โ CI: Test shell scripts using ShellCheck (#3738)
- ๐ Container: New workflow to build and publish containers
- ๐ Installers: Add job to create draft release
- ๐ Installers: New workflow to build binary packages
- โ Runtime: New workflow to test compilation, rel, starting and ejabberdctl
- C2S: Don't expect that socket will be available in