Released: 2023-02-21


This is a bugfix release for our stable 0.12 series. Most notably, it fixes a regression for SQL users introduced in 0.12.2, and a separate long-standing compatibility issue with archive stores on certain MySQL/MariaDB versions.

It also fixes an issue with websockets discovered by the Jitsi team, some issues with our internal HTTP client API, and we’ve improved the accuracy of ‘prosodyctl check dns’ in certain configurations.


Summary of all changes in this release:

Fixes and improvements

  • mod_storage_sql: Don’t avoid initialization under prosodyctl (fix #1787: mod_storage_sql changes (d580e6a57cbb) breaks prosodyctl)
  • mod_storage_sql: Fix for breaking change in certain MySQL versions (#1639)
  • prosodyctl check dns: Check for Direct TLS SRV records even if not configured (#1793)

Minor changes

  • mod_websocket: Fire pre-session-close event (fixes #1800: mod_websocket: cleanly-closed sessions are hibernated by mod_smacks)
  • sessionmanager: Mark session as destroyed to prevent reentry (fixes #1781)
  • mod_admin_socket: Return error on unhandled input to prevent apparent freeze
  • configure: Fix quoting of $LUA_SUFFIX (thanks shellcheck/Zash)
  • net.http.parser: Improve handling of responses without content-length
  • net.http.parser: Fix off-by-one error in chunk parser
  • net.http.server: Add new API to get HTTP request from a connection
  • net.http.server: Fix double close of file handle in chunked mode with opportunistic writes (#1789)
  • util.prosodyctl.shell: Close state on exit to fix saving shell history
  • mod_invites: Prefer landing page over xmpp URI in shell command
  • mod_muc_mam: Add mam#extended form fields #1796 (Thanks Rain)
  • mod_muc_mam: Copy “include total” behavior from mod_mam
  • util.startup: Close state on exit to ensure GC finalizers are called


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!