| |
Home > Open Source > ejabberd > Release notes > Release Note ejabberd 2.0.0-beta1
Release Note ejabberd 2.0.0-beta1 - 24 Dec 2007
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 Process-one support site.
The new code can be downloaded from ejabberd download page.
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 available in 22 languages: Catalan, Chinese, Czech,
Dutch, English, French, Galician, German, Italian, Japanese, Polish,
Portuguese, Portuguese (Brazil), Russian, Slovak, Spanish, Swedish,
Thai, Turkish, Ukrainian, Vietnamese, Wallon.
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.
|
|
|
|