|
| 1 | +## Version 25.03 |
| 2 | + |
| 3 | +#### Commands API |
| 4 | +- `ejabberdctl`: New option `CTL_OVER_HTTP` ([#4340](https://github.com/processone/ejabberd/issues/4340)) |
| 5 | +- `ejabberd_web_admin`: Support commands with tuple arguments |
| 6 | +- `mod_adhoc_api`: New module to execute API Commands using Ad-Hoc Commands ([#4357](https://github.com/processone/ejabberd/issues/4357)) |
| 7 | +- `mod_http_api`: Sort list elements in a command result |
| 8 | +- Show warning when registering command with an existing name |
| 9 | +- Fix commands unregistration |
| 10 | +- `change_room_option`: Add forgotten support to set `enable_hats` room option |
| 11 | +- `change_room_option`: Verify room option value before setting it ([#4337](https://github.com/processone/ejabberd/issues/4337)) |
| 12 | +- `create_room_with_opts`: Recommend using `;` and `=` separators |
| 13 | +- `list_cluster_detailed`: Fix crash when a node is down |
| 14 | +- `mnesia_list_tables`: Allow using this internal command |
| 15 | +- `mnesia_table_change_storage`: Allow using this internal command |
| 16 | +- `status`: Separate command result with newline |
| 17 | +- `update_sql`: Fix updating tables created by ejabberd internally |
| 18 | +- `update_sql`: Fix MySQL support |
| 19 | + |
| 20 | +#### Configuration |
| 21 | +- `acl`: Fix bug matching the acl `shared_group: NAME` |
| 22 | +- `define_keyword`: New option to define keywords ([#4350](https://github.com/processone/ejabberd/issues/4350)) |
| 23 | +- `define_macro`: Add option to `globals()` because it's useless inside `host_config` |
| 24 | +- `ejabberd.yml.example`: Enable `mod_muc_occupantid` by default |
| 25 | +- Add support to use keywords in toplevel, listener and modules |
| 26 | +- Show warning also when deprecated listener option is set as disabled ([#4345](https://github.com/processone/ejabberd/issues/4345)) |
| 27 | + |
| 28 | +#### Container |
| 29 | +- Bump versions to Erlang/OTP 27.3 and Elixir 1.18.3 |
| 30 | +- Add `ERL_FLAGS` to compile elixir on qemu cross-platform |
| 31 | +- Copy files to stable path, add ecs backwards compatibility |
| 32 | +- Fix warning about relative workdir |
| 33 | +- Improve entrypoint script: register account, or set random |
| 34 | +- Link path to Mnesia spool dir for backwards compatibility |
| 35 | +- Place `sockets/` outside `database/` |
| 36 | +- Use again direct METHOD, qemu got fixed ([#4280](https://github.com/processone/ejabberd/issues/4280)) |
| 37 | +- `ejabberd.yml.example`: Copy main example configuration file |
| 38 | +- `ejabberd.yml.example`: Define and use macros in the default configuration file |
| 39 | +- `ejabberd.yml.example`: Enable `CTL_OVER_HTTP` by default |
| 40 | +- `ejabberd.yml.example`: Listen for webadmin in a port number lower than any other |
| 41 | +- `ejabberdapi`: Compile during build |
| 42 | +- `CONTAINER.md`: Include documentation for ecs container image |
| 43 | + |
| 44 | +#### Core and Modules |
| 45 | +- `ejabberd_auth`: Add support for `auth_stored_password_types` |
| 46 | +- `ejabberd_router`: Don't rewrite "self-addressed" privileged IQs as results ([#4348](https://github.com/processone/ejabberd/issues/4348)) |
| 47 | +- `misc`: Fix json version of `json_encode_with_kv_list` for nested kv lists ([#4338](https://github.com/processone/ejabberd/issues/4338)) |
| 48 | +- OAuth: Fix crashes when oauth is feed with invalid jid ([#4355](https://github.com/processone/ejabberd/issues/4355)) |
| 49 | +- PubSub: Bubble up db errors in `nodetree_tree_sql:set_node` |
| 50 | +- `mod_configure`: Add option `access` to let configure the access name |
| 51 | +- `mod_mix_pam`: Remove `Channels` roster group of mix channels ([#4297](https://github.com/processone/ejabberd/issues/4297)) |
| 52 | +- `mod_muc`: Document MUC room option vcard_xupdate |
| 53 | +- `mod_privilege`: Accept non-privileged IQs from privileged components ([#4341](https://github.com/processone/ejabberd/issues/4341)) |
| 54 | +- `mod_private`: Improve exception handling |
| 55 | +- `mod_private`: Don't warn on conversion errors |
| 56 | +- `mod_private`: Handle invalid PEP-native bookmarks |
| 57 | +- `mod_private`: Don't crash on invalid bookmarks |
| 58 | +- `mod_s2s_bidi`: Stop processing other handlers in s2s_in_handle_info ([#4344](https://github.com/processone/ejabberd/issues/4344)) |
| 59 | +- `mod_s2s_bidi`: Fix issue with wrong namespace |
| 60 | + |
| 61 | +#### Dependencies |
| 62 | +- `ex_doc`: Bump to 0.37.2 |
| 63 | +- `stringprep`: Bump to 1.0.31 |
| 64 | +- `provider_asn1`: Bump to 0.4.1 |
| 65 | +- `xmpp` Bump to bring fix for ssdp hash calculation |
| 66 | +- `xmpp` Bump to get support for webchat_url ([#3041](https://github.com/processone/ejabberd/issues/3041)) |
| 67 | +- `xmpp` Bump to get XEP-0317 Hats namespaces version 0.2.0 |
| 68 | +- `xmpp` Bump to bring SSDP to XEP version 0.4 |
| 69 | +- `yconf` Bump to support macro inside string |
| 70 | + |
| 71 | +#### Development and Testing |
| 72 | +- `mix.exs`: Keep debug info when building `dev` release |
| 73 | +- `mix.exs`: The `ex_doc` dependency is only relevant for the `edoc` Mix environment |
| 74 | +- `ext_mod`: add `$libdir/include` to include path |
| 75 | +- `ext_mod`: fix greedy include path ([#4359](https://github.com/processone/ejabberd/issues/4359)) |
| 76 | +- `gen_mod`: Support registering commands and `hook_subscribe` in `start/2` result |
| 77 | +- `c2s_handle_bind`: New event in `ejabberd_c2s` ([#4356](https://github.com/processone/ejabberd/issues/4356)) |
| 78 | +- `muc_disco_info_extras`: New event `mod_muc_room` useful for `mod_muc_webchat_url` ([#3041](https://github.com/processone/ejabberd/issues/3041)) |
| 79 | +- VSCode: Fix compiling support |
| 80 | +- Add tests for config features `define_macro` and `define_keyword` |
| 81 | +- Allow test to run using `ct_run` |
| 82 | +- Fixes to handle re-running test after `update_sql` |
| 83 | +- Uninstall `mod_example` when the tests has finished |
| 84 | + |
| 85 | +#### Documentation |
| 86 | +- Add XEPs that are indirectly supported and required by XEP-0479 |
| 87 | +- Document that XEP-0474 0.4.0 was recently upgraded |
| 88 | +- Don't use backtick quotes for ejabberd name |
| 89 | +- Fix values allowed in db_type of mod_auth_fast documentation |
| 90 | +- Reword explanation about ACL names and definitions |
| 91 | +- Update moved or broken URLs in documentation |
| 92 | + |
| 93 | +#### Installers |
| 94 | +- Bump Erlang/OTP 27.3 and Elixir 1.18.3 |
| 95 | +- Bump OpenSSL 3.4.1 |
| 96 | +- Bump crosstool-NG 1.27.0 |
| 97 | +- Fix building Termcap and Linux-PAM |
| 98 | + |
| 99 | +#### Matrix Gateway |
| 100 | +- Preserve XMPP message IDs in Matrix rooms |
| 101 | +- Better Matrix room topic and room roles to MUC conversion, support room aliases in invites |
| 102 | +- Add `muc#user` element to presences and an initial empty subject |
| 103 | +- Fix `gen_iq_handler:remove_iq_handler` call |
| 104 | +- Properly handle IQ requests |
| 105 | +- Support Matrix room aliases |
| 106 | +- Fix handling of 3PI events |
| 107 | + |
| 108 | +#### Unix Domain Socket |
| 109 | +- Add support for socket relative path |
| 110 | +- Use `/tmp` for temporary socket, as path is restricted to 107 chars |
| 111 | +- Handle unix socket when logging remote client |
| 112 | +- When stopping listener, delete Unix Domain Socket file |
| 113 | +- `get_auto_url` option: Don't build auto URL if port is unix domain socket ([#4345](https://github.com/processone/ejabberd/issues/4345)) |
| 114 | + |
1 | 115 | ## Version 24.12 |
2 | 116 |
|
3 | 117 | #### Miscelanea |
|
0 commit comments