Changelog History
Page 1
-
v21.12 Changes
Commands
create_room_with_opts
: Fixed when using SQL storagechange_room_option
: Add missing fields from config insidemod_muc_admin:change_options
- π piefxis: Fixed arguments of all commands
Modules
- mod_caps: Don't forget caps on XEP-0198 resumption
- mod_conversejs: New module to serve a simple page for Converse.js
- mod_http_upload_quota: Avoid
max_days
race - π mod_muc: Support MUC hats (XEP-0317, conversejs/prosody compatible)
- β‘οΈ mod_muc: Optimize MucSub processing
- π» mod_muc: Fix exception in mucsub {un}subscription events multicast handler
- β‘οΈ mod_multicast: Improve and optimize multicast routing code
- mod_offline: Allow storing non-composing x:events in offline
- mod_ping: Send ping from server, not bare user JID
- mod_push: Fix handling of MUC/Sub messages
- mod_register: New allow_modules option to restrict registration modules
- mod_register_web: Handle unknown host gracefully
- mod_register_web: Use mod_register configured restrictions
PubSub
- Add
delete_expired_pubsub_items
command - Add
delete_old_pubsub_items
command - β‘οΈ Optimize publishing on large nodes (SQL)
- π Support unlimited number of items
- π Support
max_items=max
node configuration - β¬οΈ Bump default value for
max_items
limit from 10 to 1000 - π§ Use configured
max_items
by default - node_flat: Avoid catch-all clauses for RSM
- node_flat_sql: Avoid catch-all clauses for RSM
SQL
- π Use
INSERT ... ON CONFLICT
in SQL_UPSERT for PostgreSQL >= 9.5 - mod_mam export: assign MUC entries to the MUC service
- MySQL: Fix typo when creating index
- π PgSQL: Add SASL auth support, PostgreSQL 14
- PgSQL: Add missing SQL migration for table
push_session
- PgSQL: Fix
vcard_search
definition in pgsql new schema
Other
captcha-ng.sh
: "sort -R" command not POSIX, added "shuf" and "cat" as fallback- π Make s2s connection table cleanup more robust
- β‘οΈ Update export/import of scram password to XEP-0227 1.1
- β‘οΈ Update Jose to 1.11.1 (the last in hex.pm correctly versioned)
-
v21.07 Changes
Compilation
- β Add rebar3 3.15.2 binary
- β Add support for mix to:
./configure --enable-rebar=mix
- π Improved
make rel
to work with rebar3 and mix - β Add
make dev
to build a development release with rebar3 or mix - π¦ Hex: Add
sql/
andvars.config
to Hex package files - β‘οΈ Hex: Update mix applications list to fix error
p1_utils is listed as both...
- There are so many targets in Makefile... add
make help
- π Fix extauth.py failure in test suite with Python 3
- β Added experimental support for GitHub Codespaces
- β Switch test service from TravisCI to GitHub Actions
Commands:
- Display extended error message in ejabberdctl
- β Remove SMP option from ejabberdctl.cfg,
-smp
was removed in OTP 21 create_room
: After creating room, store in DB if it's persistenthelp
: Major changes in its usage and output- β‘οΈ
srg_create
: Update to uselabel
parameter instead ofname
Modules:
- ejabberd_listener: New
send_timeout
option - β‘οΈ mod_mix: Improvements to update to 0.14.1
- mod_muc_room: Don't leak owner JIDs
- mod_multicast: Routing for more MUC packets
- mod_multicast: Correctly strip only other bcc addresses
- mod_mqtt: Allow shared roster group placeholder in mqtt topic
- π mod_pubsub: Several fixes when using PubSub with RSM
- mod_push: Handle MUC/Sub events correctly
- mod_shared_roster: Delete cache after performing change to be sure that in cache will be up to date data
- mod_shared_roster: Improve database and caching
- mod_shared_roster: Reconfigure cache when options change
- mod_vcard: Fix invalid_encoding error when using extended plane characters in vcard
- β‘οΈ mod_vcard: Update econf:vcard() to generate correct vcard_temp record
- WebAdmin: New simple pages to view mnesia tables information and content
- βοΈ WebSocket: Fix typos
SQL:
- MySQL Backend Patch for scram-sha512
- SQLite: When exporting for SQLite, use its specific escape options
- SQLite: Minor fixes for new_sql_schema support
- mod_privacy: Cast as boolean when exporting privacy_list_data to PostgreSQL
- mod_mqtt: Add mqtt_pub table definition for MSSQL
- mod_shared_roster: Add missing indexes to
sr_group
tables in all SQL databases
-
v21.04 Changes
API Commands:
add_rosteritem/...
: Add argument guards to roster commands- π
get_user_subscriptions
: New command for MUC/Sub remove_mam_for_user_with_peer
: Fix when removing room archivesend_message
: Fix bug introduced in ejabberd 21.01set_vcard
: Return modules errors
π Build and setup:
- π Allow ejabberd to be compatible as a dependency for an Erlang project using rebar3
- CAPTCHA: New question/answer-based CAPTCHA script
- π§
--enable-lua
: new configure option for luerl instead of --enable-tools - β Remove support for HiPE, it was experimental and Erlang/OTP 24 removes it
- β‘οΈ Update
sql_query
record to handle the Erlang/OTP 24 compiler reports - β‘οΈ Updated dependencies to fix Dialyzer warnings
Miscellaneous:
- β‘οΈ CAPTCHA: Update
FORM_TYPE
from captcha to register - LDAP: fix eldap certificate verification
- MySQL: Fix for "specified key was too long"
- β‘οΈ Translations: updated the Esperanto, Greek, and Japanese translations
- Websocket: Fix PONG responses
Modules:
mod_block_strangers
: If stanza is type error, allow it passingmod_caps
: Don't request roster when not neededmod_caps
: Skip reading roster in one more case- π
mod_mam
: Removequeryid
from MAM fin element mod_mqtt
: When deregistering XMPP account, close its MQTT sessionsmod_muc
: Take in account subscriber's affiliation when checking access to moderated roommod_muc
: Use monitors to track online and hard-killed rooms- π
mod_muc
: When occupant is banned, remove his subscriptions too mod_privacy
: Make fetching roster lazymod_pubsub
: Don't fail on PEP unsubscribemod_pubsub
: Fixgen_pubsub_node:get_state
return valuemod_vcard
: Obtain and provide photo type in vCard LDAP
-
v21.01 Changes
Miscellaneous changes:
log_rotate_size
option: Fix handling of βinfinityβ valuemod_time
: Fix invalid timezone- Auth JWT: New
check_decoded_jwt
hook runs the default JWT verifier - MUC: Allow non-occupant non-subscribed service admin send private MUC message
- MUC: New
max_password
andmax_captcha_whitelist
options - OAuth: New
oauth_cache_rest_failure_life_time
option - PEP: Skip reading pep nodes that we know wonβt be requested due to caps
- SQL: Add sql script to migrate mysql from old schema to new
- SQL: Donβt use REPLACE for upsert when there are β-β fields.
- π Shared Rosters LDAP: Add multi-domain support (and flexibility)
- Sqlite3: Fix dependency version
- 0οΈβ£ Stun: Block loopback addresses by default
- π Several documentation fixes and clarifications
Commands:
- π
decide_room
: Use better fallback value for room activity time when skipping room delete_old_message
: Fix when using sqlite spool tablemodule_install
: Make ext_mod compile module with debug_info flagsroom_unused_*
: Donβt fetch subscribers listsend_message
: Donβt include empty in messagesset_room_affiliation
: Validate affiliations
β Running:
- π³ Docker: New
Dockerfile
anddevcontainer.json
- π New
ejabberdctl foreground-quiet
- Systemd: Allow for listening on privileged ports
- Systemd: Integrate nicely with systemd
π Translations:
- π Moved gettext PO files to a new
ejabberd-po
repository - π Improved several translations: Catalan, Chinese, German, Greek, Indonesian, Norwegian, Portuguese (Brazil), Spanish.
-
v20.12 Changes
- β Add support for
SCRAM-SHA-{256,512}-{PLUS}
authentication - Don't use same value in cache for user don't exist and wrong password
outgoing_s2s_ipv*_address
: New options to set ipv4/ipv6 outbound s2s out interface- s2s_send_packet: this hook now filters outgoing s2s stanzas
- start_room: new hook runs when a room process is started
check_decoded_jwt: new hook to check decoded JWT after success authentication
Admin
π³ Docker: Fix DB initialization
New sql_odbc_driver option: choose the mssql ODBC driver
π§ Rebar3: Fully supported. Enable with
./configure --with-rebar=/path/to/rebar3
systemd: start ejabberd in foreground
Modules:
MAM: Make sure that jid used as base in mam xml_compress is bare
π MAM: Support for MAM Flipped Pages
MUC: Always show MucSub subscribers nicks
MUC: Don't forget not-persistent rooms in load_permanent_rooms
π MUC Admin: Better error reporting
MUC Admin: Fix commands with hibernated rooms
MUC Admin: Many improvements in rooms_unused_list/destroy
MUC Admin: create_room_with_opts Store options only if room starts
π Pubsub: Remove 'dag' node plugin documentation
Push: Fix API call return type on error
π Push: Support cache config changes on reload
Register: Allow for account-removal-only setup again
π Roster: Make roster subscriptions work better with invalid roster state in db
Vcard: Fix vCard search by User when using Mnesia
WebAdmin: Allow vhost admins to view WebAdmin menus
WebAdmin: Don't do double utf-8 conversion on translated strings
WebAdmin: Mark dangerous buttons with CSS
WebSocket: Make websocket send put back pressure on c2s process
- β Add support for
-
v20.07 Changes
- π Changes in this version
- β Add support for using unix sockets in listeners.
- π Make this version compatible with erlang R23
- π Make room permissions checks more strict for subscribers
- π Fix problem with muc rooms crashing when using muc logger with some locales
- Limit stat calls that logger module issues
- Don't throw errors when using user_regexp acl rule and having non-matching host
- π Fix problem with leaving old data when updating shared rosters
- π Fix edge case that caused failure of resuming old sessions with stream management.
- π Fix crash when room that was started with logging enabled was later changed to logging disabled
- 0οΈβ£ Increase default shaper limits (this should help with delays for clients that are using jingle)
- π Fix couple compatibility problems which prevented working on erlang R19
- π Fix sending presence unavailable when session terminates for clients that only send directed presences (helps with sometimes not leaving muc rooms on disconnect).
- Prevent supervisor errors for sockets that were closed before they were passed to handler modules
- π Make stun module work better with ipv6 addresses
-
v20.03 Changes
March 25, 2020- π Changes in this version
- β Add support of ssl connection when connection to mysql
database (configured with
sql_ssl: true
option) - π§ Experimental support for cockroachdb when configured with postgres connector
- Add cache and optimize queries issued by
mod_shared_roster
, this should greatly improve performance of this module when used withsql
backend - π Fix problem with accessing webadmin
- π Make webadmin work even when url is missing trailing slash
- When compiling external modules with ext_mod, use flags that were detected during compilation of ejabberd
- β‘οΈ Make config changed to ldap options be updated when issued
reload_config
command - Fix
room_empty_destory
command - π Fix reporting errors in
send_stanza
command when xml passed to it couldn't be passed correctly
-
v20.02 Changes
February 25, 2020- π Changes in this version
- π Fix problems when trying to use string format with unicode values directly in xmpp nodes
- β Add missing oauth_client table declaration in lite.new.sql
- π Improve compatibility with CocroachDB
- π Fix importing of piefxis files that did use scram passwords
- π Fix importing of piefxis files that had multiple includes in them
- β‘οΈ Update jiffy dependency
- π Allow storage of emojis when using mssql database (Thanks to Christoph Scholz)
- Make ejabberd_auth_http be able to use auth_opts
- π Make custom_headers options in http modules correctly override built-in values
- Fix return value of reload_config and dump_config commands
-
v20.01 Changes
January 17, 2020- π 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
-
v19.09.1
October 15, 2019