0.10.0
Released: 2017-10-02
Summary
See our blog post for a full overview of the release features.
- Rewritten SQL storage module with archive support
- SCRAM-SHA-1-PLUS
- prosodyctl check
- Statistics
- Improved TLS configuration
- Lua 5.2 support
- mod_blocklist (XEP-0191)
- mod_carbons (XEP-0280)
- Pluggable connection timeout handling
- mod_websocket (RFC 7395)
- mod_mam (XEP-0313)
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:
mod_mam archive change
There are two versions of mod_mam available: a version in prosody-modules, and a version distributed with 0.10. The primary difference is that the version in prosody-modules supports older versions of XEP-0313 that some clients still use.
If you decide to move away from the prosody-modules version and use the 0.10 one, you need to be aware that the modules use different stores. There is currently no simple way to move the data from one store to another.
The prosody-modules version stores its data in "archive2", and the 0.10 version stores its data in "archive".
As a workaround, you can tell 0.10 to use "archive2" for storing the data instead:
= "archive2" -- Use the same data store as prosody-modules mod_mam archive_store
Note: If you continue to use prosody-modules, no change is needed.
MySQL schema upgrade
On a number of platforms the MySQL table was created by Prosody with the wrong encoding. This caused unicode data to show incorrectly when using other applications with the same database as Prosody. This had no effect on Prosody, and Prosody is unaffected by the issue (storing and retrieving unicode data worked ok). However in this release Prosody will now insist that you fix the schema by running the following command:
prosodyctl mod_storage_sql upgrade
Debian and Ubuntu dependency issues
If you encounter a dependency error when trying to install the 0.10 package, it is probably caused by old versions of lua-socket and lua-sec. The fix is very simple:
apt install lua-socket lua-sec
And then install the 0.10 package again. If you still have problems, please let us know and we can help.
Certificates
You may want to consider using our new automatic certificate configuration, or see our article on Let's Encrypt.
mod_privacy
mod_privacy has been removed (XEP-0016: Privacy lists). It has been replaced by mod_blocklist, which implements XEP-0191, a simpler more modern protocol for blocking remote JIDs.
If you have mod_privacy in your config, an error will be logged at startup and mod_blocklist will be loaded automatically.
If you still need XEP-0016 functionality, please look at mod_privacy_lists from prosody-modules.
mod_compression
Due to performance and security concerns with this module, it is no longer bundled with Prosody. It is still available in prosody-modules as 'mod_compression_unsafe'.
mod_offline
mod_offline now uses archive storage for offline messages. If you are
using the default internal
storage driver then you don't
need to do anything, since the data is compatible. However, if you for
example use SQL storage then it will look for offline messages there,
leaving those in the old file based store inaccessible.
You can restore the previous behavior with the following configuration:
-- storage = "sql" -- comment this out for now
= "sql"
default_storage = {
storage = "internal";
offline }
The built-in migrator does unfortunately not support migrating this data yet, but the community module mod_migrate can be used for this.