mirror of
https://github.com/processone/ejabberd.git
synced 2024-08-14 01:38:09 +02:00
208 lines
7.1 KiB
Plaintext
208 lines
7.1 KiB
Plaintext
|
|
Release Notes
|
|
ejabberd 2.0.0
|
|
21 February 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 Note:
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
Upgrading From ejabberd 1.x:
|
|
|
|
- If you upgrade from a version older than 1.1.4, please check the
|
|
Release Notes of the intermediate versions for additional
|
|
information about database or configuration changes.
|
|
|
|
- The database schemas didn't change since ejabberd 1.1.4. Of course,
|
|
you are encouraged to make a database backup of your SQL database,
|
|
or your Mnesia spool directory before upgrading ejabberd.
|
|
|
|
- The ejabberdctl command line administration script is improved in
|
|
ejabberd 2.0.0, and now it can start and stop ejabberd. If you
|
|
already wrote your own start script for ejabberd 1.x, you can
|
|
continue using it, or try ejabberdctl. For your convenience, the
|
|
ejabberd Guide describes all the ejabberd and Erlang options used by
|
|
ejabberdctl.
|
|
|
|
- The example ejabberd.cfg file has been reorganized, but its format
|
|
and syntax rules are the same. So, you can continue using your
|
|
ejabberd.cfg file from 1.x if you want. The most important changes
|
|
are described now.
|
|
|
|
- The 'ssl' option is no longer available in the listening ports. For
|
|
legacy SSL encryption use the option 'tls'. For STARTTLS encryption
|
|
as defined in RFC 3920 XMPP-CORE use the option 'starttls'. Check
|
|
the ejabberd Guide for more information about configuring listening
|
|
ports.
|
|
|
|
- The options 'welcome_message' and 'registration_watchers' are now
|
|
options of the module mod_register. Check in the ejabberd Guide how
|
|
to configure that module.
|
|
|
|
- To enable PEP support in mod_pubsub, you need to enable it in the
|
|
mod_pubsub configuration, and also enable the new module
|
|
mod_caps. Check the section about mod_pubsub in the ejabberd Guide.
|
|
|
|
- Other new features and improvements also require changes in the
|
|
ejabberd.cfg, like mod_http_bind, mod_http_fileserver, mod_proxy65,
|
|
loglevel, pam_service, and watchdog_admins. Search for those words
|
|
in the ejabberd Guide and the example ejabberd.cfg.
|
|
|
|
|
|
|
|
Bug Reports
|
|
|
|
You can officially report bugs on Process-one support site:
|
|
https://support.process-one.net/
|
|
|
|
|
|
END |