0.11.3
Released: 2019-09-30
Summary
This is a bugfix release for the stable 0.11 branch. It is recommended for all users of 0.11.x to upgrade.
Important note for those upgrading: Previous releases did not automatically expire messages from group chat (MUC) archives, so if mod_muc_mam was loaded and enabled for a MUC, archives would grow indefinitely. This is not what most deployments want, therefore automatic expiry is now implemented and enabled with a default 7 day retention. You can configure this with the muc_log_expires_after
configuration option, which can be set to "never"
to restore the old behaviour and preserve any existing logs older than 7 days.
Changes
Summary of all changes in this release:
Fixes and improvements
- MUC: Advertise XEP-0410 support
- mod_muc_mam: Import cleanup mechanism from mod_mam (fixes #672: mod_muc_mam: Archive expiry)
- mod_bosh: Handle missing wait attribute (fixes #1288: BOSH: Traceback on missing ‘wait’ attribute)
- mod_storage_sql: Handle SQLite DELETE with LIMIT being optional (fixes #1359: Sqlite3 archive_store:delete error in prepared statement)
- mod_c2s: Fixed #1313: attempt to call a field ‘data’ (a nil value))
- net.server_epoll: Restore wantread flag after pause (fixes #1354: server_epoll: Race in chunked reads)
- util.encodings: Allow unassigned code points in ICU mode to match libidn behavior (fixes #1348: Different treatment of unassigned code points between libidn and ICU )
- util.ip: Add missing netmask for 192.168/16 range (fixes #1343)
- util.hashes: Use HMAC function provided by OpenSSL (fixes #1345: util.hashes: HMAC-SHA-512 implementation broken)
- net.dns: Close resolv.conf handle when done (fixes #1342)
- mod_websocket: Clone stanza before mutating (fixes #1398: mod_websocket leaks explicit xmlns attr)
- mod_announce: Check for admin on current virtualhost instead of global (fixes #1365: “host admins” should be able to use mod_announce as well as “global admins”) (thanks yc)
- mod_blocklist: Trigger resend of presence when unblocking a contact (fixes #1380: Prosody does not send presence when unblocking (XEP-0191))
- mod_vcard_legacy: Multiple improvements (fixes #1289: mod_vcard_legacy upgrade experience):
- mod_vcard_legacy: Don’t overwrite existing PEP data
- mod_vcard_legacy: Handle partial migration
- mod_vcard_legacy: Allow disabling vcard conversion
- mod_vcard_legacy: Adapt node defaults to number of avatars
- mod_muc_mam: Strip the stanza ‘to’ attribute (fixes #1259: [muc_mam] forwarded stanza has a “to” attribute while spec says it MUST NOT)
- util.pubsub: Validate node configuration on node creation (fixes #1328: Pubsub: Node configuration not validated on node creation)
- mod_pep/mod_pubsub: Simplify configuration for storage of node data (fixes #1320)
- MUC: Fix delay@from to be room JID (fixes #1416: MUC: Wrong delay@from on historic messages)
- mod_mam/mod_muc_mam: Cache last date that archive owner has messages to reduce writes (fixes #1368: Archive cleanup doubles number of storage access)
- mod_mam: Perform message expiry based on building an index by date (backport of 39ee70fbb009 from trunk)
Minor changes
- net.server_epoll: Backport timer optimization from trunk (see #1388)
- mod_storage_memory: Replace query function with one based on storage_internal (fixes #1322: mod_storage_memory does not support ‘key’ queries)
- net.server_epoll: Rename handshake_timeout to ssl_handshake_timeout (fixes #1319: net.server_epoll uses handshake_timeout instead of ssl_handshake_timeout like server_event)
- mod_storage_memory: Generate ID using standard util (fixes #1326: mod_storage_memory.lua: attempt to concatenate a nil value)
- MUC: Add error message to error bounces when not joined to room
- mod_websocket: Log an error if cross_domain_websocket = true is set in a VirtualHost section
- mod_presence: Revert empty ‘to’ attribute of presence before presence/initial event (fixes #1296: mod_motd does not send MOTD set in configuration on Prosody versions 10.x or 11.x)
- mod_pubsub: Support requests for multiple items (fixes #1305: pubsub: MUST allow multiple items to be specified)
- net.server_epoll: Use send_timeout for write timeout like other implementations (fixes #1316: net.server_epoll uses write_timeout where other implementations use send_timeout)
- util.sql: Ignore if tables and indices already exist on creation (fixes #1064: SQL table creation query fails when tables already exist)
- net.server_epoll: Skip delayed continuation read on paused connections
- net.server_epoll: Handle LuaSec wantread/wantwrite conditions before callbacks (fixes #1333: net.server_epoll handling of ‘wantread’ condition unintentionally resumes paused connection)
- mod_storage_memory: Implement :user iteration API
- util.serialization: Cache default serialization instance (fixes #1389: util.serialization: Creates new serializer instance on each call)
- ‘prosodyctl about’ improvements:
- Report version of LuaDBI installed
- Report configured network backend
- util.random: Handle unlikely read errors from /dev/urandom (see #1313)
- configure: Handle lua being found in /bin (workaround for #1353)
Download
As usual, download instructions for many platforms can be found on our download page
If you have any questions, comments or other issues with this release, let us know!