0.11.0
Released: 2018-11-20
Summary
See our blog post for a full overview of the release features.
This release includes significant improvements to MUC and Pubsub, adds support for vCard4, mobile battery optimisations and Lua 5.2.
Note: Making packages for Prosody on your platform? We have a dedicated page of info for packagers!
Upgrade notes
There are some changes that users running previous versions of Prosody should be aware of:
Note: This release may not work with SQL, LDAP, Cyrus SASL or libevent on some distributions due to missing libraries. Please see the Lua 5.2 section for more information. Alternatively, use the prosody-0.10
package to stay on Prosody 0.10.x with Lua 5.1.
Modules added
mod_csi_simple
This is a renamed version of the mod_csi_pump
community module. If you are using mod_csi_pump
or do not yet have a CSI module set up, we encourage you to use this one.
mod_muc_mam
This replaces the community module mod_mam_muc
(note the name change!).
It provides support for archiving and querying chatroom messages using XEP-0313. It should be added to modules_enabled
under your MUC component:
"rooms.example.com" "muc"
Component = {
modules_enabled "muc_mam";
}
mod_vcard4
, mod_vcard_legacy
Prosody now offers support for vCard4 in mod_vcard4
. Since most clients today do not yet support this format, if you use this module you should also enable mod_vcard_legacy
and disable mod_vcard
.
These modules are separate to the old mod_vcard
, which still exists and works for services that want to continue just supporting the older vcard-temp protocol.
net.server_epoll
This is a new experimental network backend and an alternative to the existing select and libevent based network backends, written to have fewer dependencies and improved maintainability. It should be considered experimental.
Modules removed
The following modules were deprecated in previous releases and have been removed in 0.11:
mod_storage_sql1
mod_compression
mod_privacy
MySQL schema upgrade
Some limitations were found with the current MySQL schema that prevented it from working properly with our new pubsub and PEP features. Prosody will refuse to connect to the database until this is fixed, but this can be done easily with the following command:
prosodyctl mod_storage_sql upgrade
Lua 5.2
The recommended Lua version for 0.11 is Lua 5.2, while Lua 5.1 is still supported for the platforms that need it. However the 0.11.x series is the last series that will still support Lua 5.1 (and by extension, LuaJIT).
Note for Debian/Ubuntu users: Some of Prosody’s optional dependencies do not support Lua 5.2 in all versions of Debian and Ubuntu. In particular lua-dbi
(required for SQL support) and lua-event
(required for servers with large numbers of connections) do not support Lua 5.2 prior to Debian buster and Ubuntu cosmic, and will not work if you upgrade.
Debian | Ubuntu | |
---|---|---|
lua-event | >= 10 (backport for >= 8) | >= 19.04 (backport for 14.04, 16.04, 18.04, 18.10) |
lua-dbi | >= 10 (backport for >= 8) | >= 18.10 (backport for 14.04, 16.04, 18.04, 18.10) |
lua-cyrussasl | testing, backport for 10 | N/A |
lua-ldap | >= 10 (backport for 9) | >= 19.04 |
luarocks for 5.2 | >= 9 | >= 18.04 LTS |
Backports
We have produced unofficial backports for lua-dbi and lua-event for distributions we currently support that don’t have them. These are available in the normal Prosody package repository with the following versions:
Package | Version |
---|---|
lua-dbi-common | 0.7.1 |
lua-dbi-sqlite3 | 0.7.1 |
lua-dbi-mysql | 0.7.1 |
lua-dbi-postgresql | 0.7.1 |
lua-event | 0.4.5 |
LuaRocks
Alternatively if your version of Debian/Ubuntu supports luarocks for 5.2, you may install these dependencies using luarocks install
instead. However the version of the luarocks
package in jessie, xenial and trusty do not support Lua 5.2.
You may need to install development libraries to build the necessary modules with luarocks. A quick way to do this is for example: apt build-dep lua-dbi-mysql
.