Snikket server release (2024-09-04)

We are pleased to announce a new stable release of the Snikket server software! For an introduction to the new changes in this release, do check out the release announcement blog post.

For a more complete list of changes, including upgrade instructions, read on here.

This release has the version number stable.20240904.

Upgrading

To upgrade your instance, follow the instructions in the upgrade guide.

If you are currently on beta release but want to switch to stable ones, simply put :stable instead of :beta, or download the new docker-compose.yml here, e.g. by running:

curl -o docker-compose.yml https://snikket.org/service/resources/docker-compose.yml

If you have any problems or questions, don’t hesitate to ask in our community chat!

Changes

Web portal

  • A bunch of improvements for invitations:
    • Allow selecting the role when creating a new invitation link in the web portal. Invited users will be directly assigned the chosen role when they create their account, so you no longer have to adjust roles manually after they accept the invitation.
    • Support for adding a comment to invitations, e.g. so you can remember who you created them for!
    • There is now a ‘Share’ button next to invitation links if your web browser supports this functionality.
  • Show a hint on new/empty instances to help admins know how to add more users.
  • Display active user counts to the admin in the instance metrics page.

Privacy

  • Snikket will no longer send delivery errors to people you have blocked. This can help prevent someone from knowing that you have blocked them.
  • Remove the web server version header.

Server stuff

  • Allow configuring the primary port used by the STUN/TURN server (whether you are using the internal one or an external one). The default is still 3478.
  • International Domain Names (IDN) should now be supported (self-hosted only at the moment).
  • Announcements have been improved. You will now see the Snikket logo next to messages you receive from the server (such as update notifications, or announcements sent by the admin in the web portal).
  • Retry certificate fetch/renewal on certain “safe” errors (such as non-account-specific rate limits), and catch the failure if certificate renewal crashes for any reason.

Translations

  • Updated translations for:
    • Chinese (Simplified)
    • French
    • Italian
    • Polish
    • Spanish
    • Swedish
    • Russian

Thanks to all our translators! If your language is missing or in need of updates, and you think you could help, let us know!

Technical

  • Feature flag for “Push 2.0” (currently for app developers only, do not enable this on production servers!)
  • Update our XMPP server, Prosody, bringing a bunch of improvements and fixes
  • Fixed some bugs that improves compatibility with non-Snikket clients using SASL2/FAST.
  • Tweaks to security headers in web portal, as a security measure.
  • Fix a bug loading the web portal when a user has an invalid profile picture.
  • Fix a bug that sometimes caused the SQLite migration to be skipped, even when enabled.