Hurrah! We’re very pleased to announce the release of Prosody 0.8.0.
This release includes a number of anticipated new features, which we’ll take a tour of below. But before that we would like to thank everyone who has helped with this release - our strong community makes Prosody what it is.
In particular I’d like to thank Florian Zeitz, Kim Alvefur, Jeff Mitchell, Robert Hoelz, Paul Aurich, Dwayne Bent, Tobias Tom and Brian Cully for their contributions to this release.
And a quick word about 0.9, which is already underway. As always we’re looking for testers and contributors to help shape the next release. We currently have pubsub, secure federation using certificate authentication and IPv6 support in various stages of development in trunk.
So, now to what’s new in 0.8. Let’s see…
Prosody already supported various authentication mechanisms via Cyrus SASL. However Cyrus SASL is, as anyone who has used it will agree, not the easiest piece of kit to configure.
Prosody 0.8 brings us the option of authentication modules, which handle the validation of credentials for a given domain.
The primary two authentication modules provide plaintext and hashed password storage. The hashed storage module was originally developed by Jeff Mitchell, and made to use the SCRAM standard format for storing the hashed passwords. As far as we are aware Prosody is the only open-source XMPP server to support this secure format for password storage.
It’s worth noting that both plain and hashed storage have different advantages and drawbacks, which we discuss in our article “Plain or hashed password storage?”.
In addition there are beta and community modules for authenticating against LDAP, an external process/script, and even two-factor authentication using YubiKey devices. This list is set to grow, and we encourage anyone to suggest or contribute new authentication modules.
Authentication wasn’t the only area to gain some extensibility. The number of requests we received to link Prosody up with different storage systems, ranging from stock MySQL and PostgreSQL setups to Mongo and CouchDB encouraged us to develop our storage API to allow any plugin to provide storage drivers.
Prosody’s beloved file-based driver remains the default, but we have added an SQL storage plugin for those who need something more powerful, or who need to easily share the data with other applications such as web services. This module currently supports MySQL, PostgreSQL and SQLite3.
If you have a favourite database that you want Prosody to support, now is the time to get hacking!
Florian Zeitz developed ad-hoc command support for Prosody a while back, but 0.8 is the first release to include it as standard. Ad-hoc commands allow you to control and configure the server from within your XMPP client, using a form-driven interface.
Multi-user conference improvements
Our MUC module was missing a number of useful features that we have added in 0.8. These include members-only and invite-only rooms, and restricting room creation to local users as well as admins.
As usual we’ve added a large number of other small features and enhancements that are too numerous to list here. You’ll just have to download the release and be surprised!
Source tarball: prosody-0.8.0.tar.gz