Release Notes ejabberd 2.0.0 rc1 16 January 2008 ejabberd 2.0.0 is a major new version for ejabberd adding plenty of new features, performance and scalability improvements and architectural changes. ejabberd 2.0.0 includes more than 200 improvements over ejabberd 1.1.x. A complete list of changes can be retrieved from: http://redir.process-one.net/ejabberd-2.0.0 The new code can be downloaded from ejabberd downloads page: http://www.process-one.net/en/ejabberd/ Recent changes include: * Clustering and Architecture - New front-end and back-end cluster architecture for better scalability and robustness. Back-end nodes are able to run a fully fault-tolerant XMPP router and services, but you can now deploy many front-end nodes to share the load without needing to synchronize any state with the back-ends. - All components now run in cluster mode (For example, Multi-User chat service and file transfer proxy). - New load balancing algorithm to support Multi-User chat and gateways clustering. More generally it supports any external component load balancing. - ejabberd watchdog to receive warning on suspicious resources consumption. - Traffic shapers are now supported on components. This protect ejabberd from components and gateways abuses. * Publish and Subscribe - Complete rewrite of the PubSub module. The new PubSub module is plugin-based, allowing developers to create new nodes type. Any application can be plugged to ejabberd and can provide rich presence as a pubsub plugin. - Personal Eventing via Pubsub support (XEP-0163). This module is implemented as a PubSub service. It supports user mood (XEP-107), User Tune (XEP-118), user location (XEP-0080) or user avatar (XEP-0084) for example. * Server to Server (s2s) - More robust code with connection timeout implementation. - Support for multiple s2s connections per domain. - s2s whitelist and blacklist support. - s2s retrial interval. * LDAP - Many enterprise-class enhancements such as better behaviour under heavy load. - Support for LDAP servers pool. - Simplified use of virtual hosting with LDAP with domain substitution in config. - Ability to match on several userid attributes. * Multi-user chat - Clustering and load balancing support. - Ability to define default room configuration in ejabberd config file. - Many anti abuse features have been added: . New ACL to limit the creation of persistent room to authorized users. . Ability to define the maximum number of users per room. . Limitation of the rate of message and presence packets. . Limitation of the maximum number of room a user can join at the same time. * File transfer - XEP-0065 - Proxy65 file transfer proxy. The proxy can run in cluster mode. * Authentication - PAM (Pluggable Authentication Modules) support on *nix systems. - External Authentication protocol is now fully documented. * Web client support - XEP-0124 - BOSH support: BOSH (Bidirectional-streams Over Synchronous HTTP) was formerly known as "HTTP binding". It provides an efficient alternative to HTTP polling for scalable Web based chat solutions. - HTTP module can now serve static documents (with mod_http_fileserver). It is needed for high-performance Web 2.0 chat / IM application. System administrators can now avoid using a proxy (like Apache) that handles much less simultaneous than ejabberd HTTP module. - Added limitations enforcement on HTTP poll and HTTP bind modules (bandwidth, packet size). * System administration - XEP-0133 - Service administration support. System administrators can now perform lot of ejabberd related admin tasks from their XMPP client, through adhoc commands. - Dynamic log levels: Improved logging with more log levels. You can now change the loglevel at run time. No performance penalty is involved when less verbose levels are used. - The ejabberdctl command-line administration script now can start and stop ejabberd. It also includes other useful options. * Localization - ejabberd is now translated to 24 languages: Catalan, Chinese, Czech, Dutch, English, Esperanto, French, Galician, German, Italian, Japanese, Norwegian, Polish, Portuguese, Portuguese (Brazil), Russian, Slovak, Spanish, Swedish, Thai, Turkish, Ukrainian, Vietnamese, Walloon. * Build and Installer - Many launch script improvements. - New translations. The binary installer is now available in Chinese, Dutch, English, French, German, Spanish, Russian. - Makefile now implements uninstall command. - Full MacOSX compliance in Makefile. - Configure script is clever at finding libraries in unusual places. * Development API - Several hooks have been added for module developers (most notably presence related hooks). - HTTP request handler to write HTTP based plugins. - Manage connections IP address. * Bugfixes - ejabberd 2.0.0 also fixes numerous small bugs :) Read the full changelog for details. Important Notes: - Since this release, ejabberd requires Erlang R10B-5 or higher. R11B-5 is the recommended version. R12 is not yet officially supported, and is not recommended for production servers. - The 'ssl' option is no longer available in the listening ports. To get legacy SSL encryption use the option 'tls'. - The new ejabberdctl command line administration script can start, stop and perform many other administrative tasks in ejabberd. Bug reports You can officially report bugs on Process-one support site: https://support.process-one.net/ END