Major Changes

More XMPP extensions

Following XMPP guidelines specified in Compliance Suites a number of extensions was included in this release:

  • XEP-0157: Contact Addresses for XMPP Services (server-995) that can be configured on per VHost basis (server-1015)
  • XEP-0398: User Avatar to vCard-Based Avatars Conversion (server-1017)
  • XEP-0156: Discovering Alternative XMPP Connection Methods - Tigase already supported handling DNS queries and standardised our webservice to XEP-0156 (http-76)
  • XEP-0410: MUC Self-Ping (Schrödinger’s Chat) (muc-122)
  • XEP-0153: vCard-Based Avatars - added support for setting vCard avatar for MUC rooms (muc-112)
  • XEP-0411: Bookmarks Conversion (pubsub-79)
  • XEP-0157: Contact Addresses for XMPP Services (server-995)
Improved connectivity with other servers

SASL-EXTERNAL mechanism was added for server-to-server (federated, s2s) connections greatly improving compliance with XMPP network. It’s possible to use both SASL-EXTERNAL and Diallback depending on support in other servers.

Better security & privacy

When it comes to connectivity, Tigase XMPP Server sported Hardened Mode that adjusted networking security settings (supported protocols, cipher suites and keys' length where applicable). We decided include 3-level configuration option for Hardened Mode (roughly following Mozilla’s SSL Configuration Generator): relaxed, secure (default) and strict and to further eliminate cipher suites that are currently considered insecure.

We also enabled by default our anti-spam plugin and because we like all-things-extensible we created a guide how to create your own pluggable filters for anti-spam-plugin.

Multiple domains (VHosts) support is even better

It was always quite easy to configure and serve multiple domains in Tigase XMPP Server. In this release we made it even better! First of all - we included Default VHost item, which allows configuring global defaults for the installation on the fly without having to change configuration files and restart the instance.

Internally, we introduced VHost Extensions - a mechanism that allows easy addition of configurable options that can be set on per-domain basis.

On top of that we reworked how SSL certificates are handled (especially wildcard ones) and now they are loaded and assigned to correct domain automatically - no need to configure star-certificates manually anymore.

Mobile First

Notifications send to mobile applications via Apple’s and Google’s push servers using Tigase’s PUSH component are now encrypted (#push-25), requires compatible clients)

MUC component now allows users to register permanent nickname, which makes it possible to receive PUSH notifications even if our client disconnects and is offline (#muc-115)

Installation & management

The (web) installer was simplified making setting up and configuring Tigase even easier (#http-78) - now it’s only needed to select desired database, provide it’s details and eventually adjust which components and plugins should be enabled or disabled, but we believe that provided defaults should work well in most of the cases.

After the installation and startup, it’s possible to see basic instance state via web browser either opening /server/ endpoint (#server-1164), or local file from logs/server-info.html) and manage the installation using Admin WebUI, that received slight visual face-lift (#http-90)

Noteworthy
  • Startup time was significantly reduced due to improvements of creating repository pools (#server-1149)
  • Multi-thread, highly concurrent script execution was improved (#server-1154)
  • StreamManagement was available, but in this version we decided to enabled it by default.
  • More places offers support for XEP-0059: Result Set Management - namely PubSub nodes discovery and jabber:iq:serach
  • Publishing Options were added to PubSub (#pubsub-75)