3.7
This version mainly focuses on improving server code, API consistency and protocol handling for better interoperability. There’s to note that there have been extensive changes to the internal API / datastore format so compatibility with previous versions and partial compatibility with Prosody plugins may have been voided, this changes include the following:
- MUC API
- MUC Logging
- SASL API
Changes, improvements:
- Remove certmanager and s2smanager from core, they’re now util plugins.
- Don’t fire authentication failure before the handler is cleaned.
- Fixed auth failure session closings.
- Add compatibility for non-manifesto compliant servers.
- Auto-except multiplexed streams and always authenticate with db on pre-1.0 streams.
- Prevent traceback on resourceless muc presences.
- Add configurable clients resources limit.
- Simplify anonymous detection code.
- Sanitize PubSub subscriptions in storage.
- Add account identity to service discovery queries directed to bare jid.
- Add missing pubsub-to-jid on bare disco info replies.
- Always force a wide stanza limit with mod_muc_limits when not enabled per room.
- Fixed endless routing loop caused by SM unhandled stanza errors.
- Fixed mediated muc invitations.
- Flag MAM store as changed when prefs are set.
- Fire a muc-room-destroyed event when room:destroy() is called.
- Refactor muc logging code, this marks incompatibility with previous versions:
- The day datastore should NOT use yy-mm-dd date format, I know there’s not much hope Metronome will last to the next millennia but it’s better if someone goes back in time prior to 2000 and brings Metronome with him/herself
- This will also allow to remove a lot of useless code
- Wipe all logs when either the room is destroyed or logs are disabled
- Don’t allow enabling logs into non-persistent rooms, makes no sense
- Allow enabling logs into hidden rooms
- Implement a XEP-297 based interface to retrieve logs (see issue 197).
- Handle module features for muc components more appropriately.
- Improve MUC API events, this marks plugins incompatibility with previous versions (see issue 200).
- Add Stanza API function to get an element based on attribute value.
- Update MAM to support latest draft.
- Make error reporting by module:require() more descriptive.
- Add MUC API to retrieve if a jid got an affiliation to a room.
- Fixed MAM dataforms parsing.
- Don’t reject RSM requests with an empty before only.
- Always append the RSM set to MAM “:0” queries.
- Add missing indexing to MAM’s RSM.
- Remove hashes after a cleanlist failed check (mod_register_json).
- Fixed handling of dhparams by certmanager.
- Fixed SASL External handling and presentation, slightly changed proxying eventing.
- Renamed mod_websockets to mod_websocket and changed default path.
- Fixed privacy lists from not handling global lists.
- (Last Minute) Fixed handling of empty log entries.
- (Last Minute) Fixed shebang in muc log generation script.
- (Last Minute) Corrected typo into example configuration file.