The old version was:
rebar 3.15.2
and it couldn't work with Erlang/OTP 25
This new version is
rebar 3.18.0
compiled from tag 3.18.0 from
https://github.com/erlang/rebar3
using erlang:22-slim docker image
To compile ejabberd using rebar3 and ancient Erlang 19.3-21.3,
you need a rebar3 binary compiled with an old Erlang.
If your operating system doesn't provide one, you can download
the old one included in ejabberd 21.12, available at:
https://github.com/processone/ejabberd/raw/21.12/rebar3
The old version was:
rebar 2.6.4 17 20170823_084242 git 2.6.4-27-g8076675-dirty
and it couldn't work with Erlang/OTP 25
This new version is
rebar 2.6.4 22 20220426_202500 git 2.6.4-39-gb6d3094
compiled from master branch from
https://github.com/rebar/rebar
using erlang:22-slim docker image
To compile ejabberd using rebar and ancient Erlang 19.3-21.3,
you need a rebar binary compiled with an old Erlang.
If your operating system doesn't provide one, you can download
the old one included in ejabberd 21.12, available at:
https://github.com/processone/ejabberd/raw/21.12/rebar
Don't forget the push session ID if the client resumes a stream
management session. This makes sure no push notifications are generated
for a connected client with a resumed stream management session.
Thanks to Thilo Molitor for spotting the issue.
The fact that mod_push uses a timestamp as a push session ID is just an
implementation detail. Rename things accordingly to avoid confusion.
However, stick to "timestamp" in the storage modules, as it corresponds
to the database column names/types, there.
Fix the problem that no push notifications were triggered in the case
where all of the following conditions applied:
- The XEP-0198 session has been resumed at least once.
- The XEP-0198 session is pending (i.e., the client is disconnected).
- The message wasn't stored in the user's MAM archive (e.g., because it
was of type "groupchat").
The problem was introduced in cd336369a5.
Many thanks to Friedrich Altheide for reporting the issue and to Thilo
Molitor for his help with tracking it down.
Allow for specifying the 'type' of 'domain_balancing' without specifying
the 'component_number' (as per the example in the documentation). The
balancing 'type' is then applied to the dynamic number of component
instances.
Changes:
- The options can use the @HOST@ keyword
- default_domain option is @HOST@ by default, not the first defined vhost
- New conversejs_resources option to serve converse.js files (no need for web server)
- conversejs_* now support 'auto', which uses local or remote Converse files
Add the -boot and -boot_var options via ERLANG_OPTS rather than
ERL_OPTIONS. The difference is that administrators might override the
latter in the ejabberdctl.cfg file, which isn't desired as the boot
flags must be specified exactly that way in a Mix-generated release
(otherwise, ejabberd would fail to start up).