3.9
This is the changelog of version 3.9, newly introduced features are Avatar to vCard Conversions (XEP-0398), HTTP Upload (XEP-0363), Dialback Shortcircuiting (XEP-0344), Push Notifications (XEP-0357), Support for Direct TLS S2S connections (XEP-0368), completely rehauled improved Registration API, GDPR handling module, MUC Avatars/Favicons. Improvements are: Dialback errors handling (to usefulness), MUC on-creation locking mechanism, User Locking mechanism, Fix of various outstanding session leaks, Fix of HTTP Parser inefficency, Fix whitelist access model in util.pubsub, Support of disco#items for PEP nodes, Improvement of Adhoc Commands restriction logics, Lua5.2 initial support, etc.
Changes, improvements:
- Better handle all LuaSocket versions url parsing api outputs.
- Remove and cleanup MAM API from unused arguments and return values.
- Respect Processing Hints for Offline messages, remove legacy xep-0091 support.
- Support SIFT’ing for stanzas:message and sender:remote fine graining, add supporting logic in mod_message.
- Cleanup after mod_stanza_optimizations unload, and remove all sessions’ layovers.
- Advertise Metronome’s mam-purge protocol on account disco.
- Fix traceback into MAM.
- Deprecate mod_host_guard in favor of mod_gate_guard.
- Send forbidden on the right stream during dialback after receiving invalid.
- Cleanup and rework TLS requirement code.
- Bounce blacklisted entities db:request with “not-allowed” instead of “not-authorized”.
- Fix global indexing and traceback in mod_pastebin.
- Update and homologate minimal password requirements for all servlets in mod_register_json.
- Update MUC API, modify and homologate events.
- Broadcast room presence with room avatar hash (Experimental).
- Fix gate guard hits and auto-banning, expiring comparison was inverted.
- Commit a first draft of GDPR compliance module.
- Include status 201 on owner self presence during muc room creation.
- Implement room locks after creation, and add proper logics to config handlers for instant rooms requesting.
- Add PEP events for node creation, deletion, publish, retract and purge.
- Implement XEP-0398, User Avatar to vCard Avatar conversion.
- Fix loading of inheritable components in mod_admin_telnet. (3.8.8 minor release)
- Backport mod_http_upload from Prosody Modules, which implements XEP-0363.
- Add header fix exporting in net.http.server.
- Make mod_http_upload loadable only on a component, fix disco#info replies and remove dependency on mod_disco.
- Improve module spring cleaning, a.k.a. layovers removals and expiration of uploaded content.
- Modify module:http_url() to accept http host ovveride.
- Make sure we always set a MIME to HTTP responses.
- Export response object to mod_http_errors.
- Make sure we interrupt HTTP callbacks when we need to.
- Fix favicon issues with MS Edge.
- Implement filtering logics to shortcircuit blocks on banned entities.
- Implement XEP-0344 shortcircuiting in Dialback.
- Remove cumbersome (and useless) Multiplexed logics.
- Add LMC correction logic to the caches in MUC’s MAM.
- Have HTTP Uploads module properly clean empty directories.
- Add host exceptions to mod_spim_block.
- Add logic to allow customization of ban time by plugins (mod_gate_guard).
- Improve SPIM blocking, add disabling/enabling via adhoc and s2s ban override.
- Add some basic ordering to adhoc commands.
- Add compatibility for LuaSec versions above 0.5.
- Implement an util library to send mails from Metronome.
- Implement locking mechanisms for accounts.
- Refactor mod_register_json to mod_register_api.
- Implement locking mechanisms and verification in mod_register.
- Add minimal ToS description field in the IBR form.
- Fix and refactor port multiplexing.
- Have module:http_url() generate an url even if there’s no portmanager service.
- Add retrieval of ssl configuration table from certmanager.
- Implement direct TLS for server to server streams.
- Mix all SRV records.
- Remove ssl_config override in the Multiplex SSL listener.
- Add Direct TLS listeners for c2s/s2s.
- Implement a basic version of PUSH Notifications (XEP-0357).
- Fix default_headers table piercing in mod_bosh.
- Fix pinging to sort out issues with APN and improve defaults.
- Properly (re-)fix component load logic in mod_admin_telnet’s module:load().
- Add a way to toggle last-message-sender in notifications via adhoc.
- Drop weak table from HTTP Upload cache.
- Attempt to address HTTP Upload memory usage issues, also implement adhoc file purge.
- Uniform admin adhoc commands to register/change-pass eventing.
- Add a limit to HTTP Parser’s buffer, also improve request data buffering logics.
- First passage at supporting Lua5.2
- Have mod_spim_block deal with presence subscriptions.
- Cleanup MAM archive from cache on user deletion.
- Fix Content-Length possible duplication issues.
- Fix access model whitelist for #get_items in util.pubsub.
- Fix bad routing loop caused by mod_privacy.
- Don’t bounce errors when handling unacked stanzas on session timeout.
- SM should only bounce IQ, Message and Presence payloads.
- Respect client SM maximum resumption time if it does not exceed timeout value.
- Fix s2s session leak.
- Always lower case mail addresses.
- Send correct error types in DB errors.
- Further correct DB flow between step 3 and 4.
- Add type=”list-multi” to contact address values.
- Allow removal of MUC favicons.
- Save user push store immediatly after node removal because of errors.
- Make mod_http_upload compatible with web apps like Movim.
- Fix some adhoc commands permissions.
- Add signature revoking for GDPR s2s agreement.
- Double MAM default store cap value, a further refine defaults.
- Add support of “node” querying in disco#items on PEP.
- Implement verify only logic for dialback verification streams.
- Add caching for Privacy/Simple Blocking Command lists.
- Last minute fixes, see #374.
- Return human readable error when a required value is missing, from IBR dataform.
- Check that registration mail addresses are actually valid.
- Add language field to muc room extended infos.
- Fire an event to allow modules to modify extended room informations.
- MAM RSM validation for before and after works incoherently.
- Remove save/restore methods from MAM.
- Add challenge to the SPIM blocking form.
- Add adhoc command to send GDPR agreement.
- Always return the disco#info feature on a service discovery response.
- Add stream user preferred language to stanzas.
- Fix stale references in muc modules when mod_muc is reloaded.
- Change logics regarding SASL External offering, and certificate verification.
- Backport mod_auth_external from Prosody Modules, see #386.
- Properly verify the whole chain when shortcircuiting dialback.
- Delete users when Register API fails to add a hash.
- MAM is not appending a stanza-id when message is sent to own bare jid.
- Preserve origin-id and also do some general behaviour passage in MAM.
- Fix exception in mod_push adhoc command.
- Add deduplication to CSI queue.
- Handle unacked stanzas in s2s.
- Fix MUC Superuser toggle not working on passworded rooms after a module reload.
- Use timers for inactivity cleanup.
- Don’t fire handling of s2s unacked stanzas on a graceful stream close.