Skip to content

Commit a2e5240

Browse files
committed
Update documentation to 25.10 with: make clean extract
1 parent ecdb4ff commit a2e5240

File tree

6 files changed

+687
-44
lines changed

6 files changed

+687
-44
lines changed

content/CHANGELOG.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,81 @@ search:
55

66
# ChangeLog
77

8+
## Version 25.10
9+
10+
#### Ad-hoc Commands
11+
12+
- `mod_configure`: New ad-hoc commands that were missing from XEP-0133
13+
- `mod_adhoc_api`: Add support for asynchronous command calling
14+
- `mod_adhoc_api`: If argument is a list of jids, type is `jid-multi`
15+
- `mod_adhoc_api`: If field has several values, type is `text-multi`
16+
17+
#### API Commands
18+
19+
- Add commands argument type `binary_or_list`
20+
- `mod_http_api`: Format sub elements for tuples from maps
21+
- `mod_admin_extra`: Improve roster API commands documentation
22+
- `mod_announce`: New API commands, reusing existing ad-hoc functions
23+
- `ejabberd_admin`: New API command `restart_kindly`, improve `stop_kindly`
24+
- `mod_admin_extra`: New API commands `list_banned` and `count_banned`
25+
- `mod_admin_extra`: Improve API command `status_list`: support for status to be a list
26+
- `mod_muc_admin`: New API commands `muc_get_registered_nick` and nicks ([#4468](https://github.com/processone/ejabberd/issues/4468))
27+
- Use `mod_private:del_data` in `unban_account` API command
28+
29+
#### Configuration
30+
31+
- Rename `New` SQL schema to `Multihost`, and `Default` to `Singlehost` ([#4456](https://github.com/processone/ejabberd/issues/4456))
32+
- Add config transformer from `use_new_schema` -> `sql_multihost_schema`
33+
- `mod_sip`: Fix problem parsing `via` in `yconf` library ([#4444](https://github.com/processone/ejabberd/issues/4444))
34+
35+
#### Erlang/OTP support
36+
37+
- Enable feature `maybe_expr` in the compiler for Erlang/OTP 26 ([#4459](https://github.com/processone/ejabberd/issues/4459))
38+
- Enable feature `maybe_expr` also in the runtime for Erlang/OTP 25
39+
- Runtime: Remove Erlang 24 which won't work anymore with `maybe_expr`
40+
- Remove `EX_RULE` and `EX_STACK` macros only used with ancient erlang
41+
42+
#### GitHub Workflows
43+
44+
- CI: Bump XMPP-Interop-Testing/xmpp-interop-tests-action ([#4469](https://github.com/processone/ejabberd/issues/4469))
45+
- CI: Don't care to include commit details in the CT logs HTML page
46+
- CI and Runtime: Reorganize steps to run in parallel, and ARM runner ([#4460](https://github.com/processone/ejabberd/issues/4460))
47+
- Add local composite actions to manage ejabberd and databases
48+
- Container: Build ARM in native runner instead of QEMU, merge and clean
49+
- Installers: Generate ARM installers in native runner
50+
- Tests: Run agnostic-database tests only once, not for every backend
51+
- Tests: The odbc backend is not actually used in Commont Tests
52+
- Weekly: New workflow that condenses CI, test all erlang without caching
53+
54+
#### Installers and Container
55+
56+
- Bump Erlang/OTP version to 27.3.4.3 in installers and container
57+
- Bump Expat 2.7.3, OpenSSL 3.5.4, unixODBC 2.3.14 in installers
58+
59+
#### MUC
60+
61+
- `mod_mam`: New option `archive_muc_as_mucsub`
62+
- `mod_muc`: Check if room is hibernated before calling mod_muc process
63+
- `mod_muc`: Update implementation of XEP-0317 Hats to version 0.3.1 ([#4380](https://github.com/processone/ejabberd/issues/4380))
64+
- `mod_muc`: Make mod_muc_sql properly handle new hats data ([#4380](https://github.com/processone/ejabberd/issues/4380))
65+
- `mod_muc_room`: Don't require password if user is owner of room
66+
- `mod_muc_admin`: Use in WebAdmin the new API commands that get nick registers
67+
68+
#### Core and Modules
69+
70+
- `ejabberd_http_ws`: Pass HTTP headers from WS to C2S connection ([#4471](https://github.com/processone/ejabberd/issues/4471))
71+
- `ejabberd_listener`: Properly pass `send_timeout` option to listener sockets
72+
- `ejabberdctl`: When ping returns pang, return also status code 1 ([#4327](https://github.com/processone/ejabberd/issues/4327))
73+
- `ext_mod`: Print module status message after installation
74+
- `misc`: json_encode should always call json with our filter
75+
- `mod_admin_update_sql`: Use same index name than when creating database
76+
- `mod_block_strangers`: Clarify `access` and `captcha` documentation ([#4221](https://github.com/processone/ejabberd/issues/4221))
77+
- `mod_http_upload`: Encode URL before parsing, as done before `bba1a1e3c` ([#4450](https://github.com/processone/ejabberd/issues/4450))
78+
- `mod_private`: Add `del_data/3`, `get_users_with_data/2`, `count_users_with_data/2`
79+
- `mod_pubsub`: Don't catch `exit:{aborted, _}` inside mnesia transactions
80+
- `mod_push`: Run new hook `push_send_notification` ([#4383](https://github.com/processone/ejabberd/issues/4383))
81+
- WebAdmin: Respect newline and whitespace characters in results
82+
883
## Version 25.08
984

1085
#### API Commands

content/CONTAINER.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1072,7 +1072,7 @@ Let's summarize the differences between both container images. Legend:
10721072
| Generated by | [container.yml](https://github.com/processone/ejabberd/blob/master/.github/workflows/container.yml) | [tests.yml](https://github.com/processone/docker-ejabberd/blob/master/.github/workflows/tests.yml) |
10731073
| Built for | stable releases <br /> `master` branch | stable releases <br /> [`master` branch zip](https://github.com/processone/docker-ejabberd/actions/workflows/tests.yml) |
10741074
| Architectures | `linux/amd64` <br /> `linux/arm64` | `linux/amd64` |
1075-
| Software | Erlang/OTP 27.3.4.2-alpine <br /> Elixir 1.18.4 | Alpine 3.19 <br /> Erlang/OTP 26.2 <br /> Elixir 1.15.7 |
1075+
| Software | Erlang/OTP 27.3.4.3-alpine <br /> Elixir 1.18.4 | Alpine 3.22 <br /> Erlang/OTP 26.2 <br /> Elixir 1.18.3 |
10761076
| Published in | [ghcr.io/processone/ejabberd](https://github.com/processone/ejabberd/pkgs/container/ejabberd) | [docker.io/ejabberd/ecs](https://hub.docker.com/r/ejabberd/ecs/) <br /> [ghcr.io/processone/ecs](https://github.com/processone/docker-ejabberd/pkgs/container/ecs) |
10771077
| :black_square_button: **Additional content** |
10781078
| [ejabberd-contrib](#ejabberd-contrib) | included | not included |

content/admin/configuration/modules.md

Lines changed: 62 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ search:
77

88
!!! info "Please note"
99

10-
This section describes modules options of ejabberd [25.08](../../archive/25.08/index.md). If you are using an old ejabberd release, please refer to the corresponding archived version of this page in the [Archive](../../archive/index.md).
10+
This section describes modules options of ejabberd [25.10](../../archive/25.10/index.md). If you are using an old ejabberd release, please refer to the corresponding archived version of this page in the [Archive](../../archive/index.md).
1111

1212
The modules that changed in this version are marked with 🟤.
1313

@@ -160,13 +160,15 @@ supported. When the module is loaded use [update_sql](../../developer/ejabberd-a
160160

161161
The module has no options.
162162

163+
**API Tags:** [sql](../../developer/ejabberd-api/admin-tags.md#sql)
164+
163165
mod\_announce
164166
-------------
165167

166168
This module enables configured users to broadcast announcements and to
167169
set the message of the day (MOTD). Configured users can perform these
168170
actions with an XMPP client either using Ad-Hoc Commands or sending
169-
messages to specific JIDs.
171+
messages to specific JIDs. Equivalent API commands are also available.
170172

171173
!!! note
172174

@@ -244,6 +246,9 @@ only.
244246
- **use\_cache**: `true | false`
245247
Same as top-level [use_cache](toplevel.md#use_cache) option, but applied to this module only.
246248

249+
**API Tags:**
250+
[announce](../../developer/ejabberd-api/admin-tags.md#announce)
251+
247252
mod\_antispam
248253
-------------
249254

@@ -435,11 +440,11 @@ __Available options:__
435440

436441
- **access**: `AccessName`
437442
The option is supposed to be used when `allow_local_users` and
438-
`allow_transports` are not enough. It’s an ACL where `deny` means the
439-
message will be rejected (or a CAPTCHA would be generated for a
440-
presence, if configured), and `allow` means the sender is whitelisted
441-
and the stanza will pass through. The default value is `none`, which
442-
means nothing is whitelisted.
443+
`allow_transports* are not enough. It’s an Access Rule where *deny`
444+
means the stanza will be rejected; there’s an exception if option
445+
`captcha` is configured. And `allow` means the sender is whitelisted and
446+
the stanza will pass through. The default value is `none`, which means
447+
nothing is whitelisted.
443448

444449
- **allow\_local\_users**: `true | false`
445450
This option specifies if strangers from the same local host should be
@@ -451,9 +456,10 @@ messages from any user of this server are accepted even if no
451456
subscription present. The default value is `true`.
452457

453458
- **captcha**: `true | false`
454-
Whether to generate CAPTCHA or not in response to messages from
455-
strangers. See also section [CAPTCHA](basic.md#captcha) of the
456-
Configuration Guide. The default value is `false`.
459+
Whether to generate CAPTCHA challenges in response to incoming presence
460+
subscription requests from strangers. See also section
461+
[CAPTCHA](basic.md#captcha) of the Configuration Guide. The default
462+
value is `false`.
457463

458464
- **drop**: `true | false`
459465
This option specifies if strangers messages should be dropped or not.
@@ -617,8 +623,11 @@ delivered. The default value is `true`.
617623
While a client is inactive, queue presence stanzas that indicate
618624
(un)availability. The default value is `true`.
619625

620-
mod\_configure
621-
--------------
626+
mod\_configure 🟤
627+
-----------------
628+
629+
<!-- md:version improved in [25.10](../../archive/25.10/index.md) -->
630+
622631

623632
The module provides server configuration functionalities using
624633
[XEP-0030: Service Discovery](https://xmpp.org/extensions/xep-0030.html)
@@ -633,6 +642,30 @@ Commands](https://xmpp.org/extensions/xep-0050.html):
633642

634643
- Additional custom ad-hoc commands specific to ejabberd
635644

645+
Ad-hoc commands from XEP-0133 that behave differently to the XEP:
646+
647+
- `get-user-roster`: returns standard fields instead of roster items
648+
that client cannot display
649+
650+
Those ad-hoc commands from XEP-0133 do not include in the response the
651+
client that executed the command:
652+
653+
- `get-active-users-num`
654+
655+
- `get-idle-users-num`
656+
657+
- `get-active-users`
658+
659+
- `get-idle-users`
660+
661+
Those ad-hoc commands from XEP-0133 are not implemented:
662+
663+
- `edit-blacklist`
664+
665+
- `edit-whitelist`
666+
667+
- `edit-admin`
668+
636669
This module requires [mod_adhoc](#mod_adhoc) (to execute the commands), and
637670
recommends [mod_disco](#mod_disco) (to discover the commands).
638671

@@ -1421,6 +1454,14 @@ __Available options:__
14211454
This access rule defines who is allowed to modify the MAM preferences.
14221455
The default value is `all`.
14231456

1457+
- **archive\_muc\_as\_mucsub 🟤`*: `true | false*
1458+
<!-- md:version added in [25.10](../../archive/25.10/index.md) -->
1459+
When this option is enabled
1460+
incoming groupchat messages for users that have mucsub subscription to a
1461+
room from which message originated will have those messages archived
1462+
after being converted to mucsub event messages.The default value is
1463+
`false`.
1464+
14241465
- **assume\_mam\_usage**: `true | false`
14251466
This option determines how ejabberd’s stream management code (see
14261467
[mod_stream_mgmt](#mod_stream_mgmt)) handles unacknowledged messages when the connection
@@ -1480,8 +1521,8 @@ default value is `false`.
14801521
**API Tags:** [mam](../../developer/ejabberd-api/admin-tags.md#mam),
14811522
[purge](../../developer/ejabberd-api/admin-tags.md#purge)
14821523

1483-
mod\_matrix\_gw 🟤
1484-
------------------
1524+
mod\_matrix\_gw
1525+
---------------
14851526

14861527
<!-- md:version improved in [25.08](../../archive/25.08/index.md) -->
14871528

@@ -1909,11 +1950,11 @@ capability. The `Options` are:
19091950
Short description of the room.
19101951
The default value is an empty string.
19111952

1912-
- **enable\_hats**: `true | false`
1913-
`Note` about this option: improved
1914-
in [25.03](../../archive/25.03/index.md). Allow extended roles as defined in XEP-0317 Hats. Check
1915-
the [MUC Hats](../../tutorials/muc-hats.md) tutorial. The default
1916-
value is `false`.
1953+
- **enable\_hats 🟤`*: `true | false*
1954+
`Note` about this option:
1955+
improved in [25.10](../../archive/25.10/index.md). Allow extended roles as defined in XEP-0317 Hats.
1956+
Check the [MUC Hats](../../tutorials/muc-hats.md) tutorial. The
1957+
default value is `false`.
19171958

19181959
- **lang**: `Language`
19191960
Preferred language for the discussions in the
@@ -2783,8 +2824,8 @@ modules:
27832824
outgoing: all
27842825
~~~
27852826

2786-
mod\_providers 🟤
2787-
-----------------
2827+
mod\_providers
2828+
--------------
27882829

27892830
<!-- md:version added in [25.08](../../archive/25.08/index.md) -->
27902831

content/admin/configuration/toplevel.md

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ search:
77

88
!!! info "Please note"
99

10-
This section describes top level options of ejabberd [25.08](../../archive/25.08/index.md). If you are using an old ejabberd release, please refer to the corresponding archived version of this page in the [Archive](../../archive/index.md).
10+
This section describes top level options of ejabberd [25.10](../../archive/25.10/index.md). If you are using an old ejabberd release, please refer to the corresponding archived version of this page in the [Archive](../../archive/index.md).
1111

1212
The options that changed in this version are marked with 🟤.
1313

@@ -1123,21 +1123,15 @@ or it will lead to subtle bugs. Usually leaving default value of this is
11231123
option is best, tweak it only if you know what you are doing. The
11241124
default value is `1 minute`.
11251125

1126-
## new\_sql\_schema
1126+
## new\_sql\_schema 🟤
11271127

11281128
`true | false`
11291129

1130-
Whether to use the
1131-
[new SQL schema](database.md#default-and-new-schemas). All schemas are
1132-
located at <https://github.com/processone/ejabberd/tree/25.08/sql>.
1133-
There are two schemas available. The default legacy schema stores one
1134-
XMPP domain into one ejabberd database. The `new` schema can handle
1135-
several XMPP domains in a single ejabberd database. Using this `new`
1136-
schema is best when serving several XMPP domains and/or changing domains
1137-
from time to time. This avoid need to manage several databases and
1138-
handle complex configuration changes. The default depends on
1139-
configuration flag `--enable-new-sql-schema` which is set at compile
1140-
time.
1130+
<!-- md:version obsoleted in [25.10](../../archive/25.10/index.md) -->
1131+
1132+
This option was renamed to
1133+
[sql_schema_multihost](#sql_schema_multihost) in ejabberd [25.10](../../archive/25.10/index.md). Please update your
1134+
configuration to use the new option name
11411135

11421136
## oauth\_access
11431137

@@ -1783,6 +1777,25 @@ The type of a request queue for the SQL server. See description of
17831777
[queue_type](#queue_type) option for the explanation. The default value is the
17841778
value defined in [queue_type](#queue_type) or `ram` if the latter is not set.
17851779

1780+
## sql\_schema\_multihost 🟤
1781+
1782+
`true | false`
1783+
1784+
<!-- md:version renamed in [25.10](../../archive/25.10/index.md) -->
1785+
1786+
Whether to use the
1787+
[multihost SQL schema](database.md#default-and-new-schemas). All
1788+
schemas are located at
1789+
<https://github.com/processone/ejabberd/tree/25.10/sql>. There are two
1790+
schemas available. The legacy `singlehost` schema stores one XMPP domain
1791+
into one ejabberd database. The `multihost` schema can handle several
1792+
XMPP domains in a single ejabberd database. The `multihost` schema is
1793+
preferable when serving several XMPP domains and/or changing domains
1794+
from time to time. This avoid need to manage several databases and
1795+
handle complex configuration changes. The default depends on
1796+
configuration flag `--enable-sql-schema-multihost` which is set at
1797+
compile time.
1798+
17861799
## sql\_server
17871800

17881801
`Host | IP Address | ODBC Connection String | Unix Socket Path`

0 commit comments

Comments
 (0)