June 7th, 2011· Fix issue on PubSub preventing publication of items (EJAB-1457)
June 7th, 2011Bug:
· [EJAB-680] - ejabberd accepts namespace-ill-formed XML
· [EJAB-1349] - clustering problem because of broken pg2 module
· [EJAB-1374] - Keep the order of stanzas when BOSH sends several
· [EJAB-1385] - Delayed response of a timeout call is reused for the next login attempt
· [EJAB-1387] - Compile and include ejabberd's sha_drv.c in Windows installers
· [EJAB-1399] - ejabberdctl does not escape output from ctlexec() to erl script
· [EJAB-1406] - Provide HTTPS URL in CAPTCHA form when listener has 'tls' option
· [EJAB-1416] - ejabberdctl needs space between FIREWALL_WINDOW and INET_DIST_INTERFACE
· [EJAB-1417] - mod_irc must send presence unavailable to the departing occupant
· [EJAB-1418] - captcha_host must have the port number to get protocol
· [EJAB-1420] - Crash when roster version not stored
· [EJAB-1428] - Restart an extauth script instance if it crashes
· [EJAB-1432] - MUC affiliation changes result in improper output to the members of the MUC
· [EJAB-1434] - Pubsub nodes max_items based on item persistence
· [EJAB-1437] - Error about undefined update_t/4 while compiling source code using mssql
· [EJAB-1442] - Escape user input in mod_privacy_odbc
· [EJAB-1445] - PubSub: Owner can only delete other publishers items
· [EJAB-1451] - Do not accept XML with undefined prefixes
· [EJAB-1456] - PEP last-item sent without Caps filtered-notifications
Improvement:
· [EJAB-1264] - Support anonymous accounts in Shared Roster @all@ directive
· [EJAB-1379] - Handle Tigase's unexpected version=1.0
· [EJAB-1391] - Add support for '@online@' Shared Roster Group
· [EJAB-1398] - New route_iq/5 and register_iq_response_handler/5 accepting Timeout
· [EJAB-1404] - New DIST_USE_INTERFACE to restrict IP where erlang connections are listened
· [EJAB-1407] - New Indonesian translation
· [EJAB-1435] - mod_ping should default to using no_queue
· [EJAB-1446] - Add clear message to ejabberd log when ejabberd won't start due to module load error.
· [EJAB-1450] - Add chkconfig-compatible header to ejabberd.init.template
New Feature:
· [EJAB-695] - Support for XEP-0191: Simple Communications Blocking
· [EJAB-1388] - New mod_pres_counter prevents flood of subscription requests
December 14th, 2010· BOSH: Fix rare loop, support vhosts, allow module restart
· Config: Default configuration allows registrations only from localhost
· Config: Support to change loglevel per module at runtime
· Erlang/OTP: Fix compatibility from R10B-9 to R14B01
· ODBC: Compatibility with PostgreSQL 9.0
· Privacy lists: Fix to allow block by group and subscription again
August 4th, 2010Authenticatio:
· Extauth: Support parallel script running (EJAB-1280)
· mod_register: Return Registered element when account exists
ejabberdctl:
· Fix print of command result that contains ~
· Fix problem when FIREWALL_WINDOW options for erl kernel were used
· Fix typo in update_list command (EJAB-1237)
· Some systems delete the lock dir; in such case don't use flock at all
· The command Update now returns meaningful message and exit-status (EJAB-1237)
HTTP-Bind (BOSH):
· Don't say v1.2 in the Bind HTTP page
· New optional BOSH connection attribute process-delay (EJAB-1257)
MUC:
· Document the mod_muc option captcha_protected
· Now admins are able to see private rooms in disco (EJAB-1269)
· Show some more room options in the log file
ODBC:
· Correct handling of SQL boolean types (EJAB-1275)
· Discard too old queued requests (the caller has already got a timeout)
· Fixes wrong SQL escaping when --enable-full-xml is set
· Use ets insead of asking supervisor in ejabberd_odbc_sup:get_pids/1
Pubsub, PEP and Caps:
· Enforce disco features results (EJAB-1033, EJAB-1228, EJAB-1238)
· Support all the hash functions required by Caps XEP-0115
Requirements:
· Fixed support for Erlang R12; which doesn't support: true andalso ok
· Support OTP R14A by using public_key library instead of old ssl (EJAB-953)
· Requirement of OpenSSL increased from 0.9.6 to 0.9.8
· OpenSSL is now required, not optional
Other:
· Don't ask for client certificate when using tls (EJAB-1267)
· Fix typo in --enable-transient_supervisors
· Fix privacy check when serving local Last (EJAB-1271)
· Inform client that SSL session caching is disabled
· New configure option: --enable-nif
· Use driver allocator in C files for reflecting memory in erlang:memory(system)
· Debug: New p1_prof compiled with: make debugtools=true
· Debug: Added functions to collect stats about queues, memory, reductions etc
· HTTP: Log error if request has ambiguous Host header (EJAB-1261)
· Logs: When logging s2s out connection attempt or success, log if TLS is used
· Shared Rosters: When account is deleted, delete also member of stored rosters
March 13th, 2010· New ejabberd_c2s option: max_fsm_queue
· ejabberdctl: Support concurrent connections with bound connection names
· Cross-domain HTTP-Bind support (EJAB-1168)
· Hibernate http-bind process after handling a request
November 18th, 2009· New features and improvements
· Anti-abuse
· Captcha support (XEP-0158). The example script uses ImageMagick
· New option: registration_timeout to limit registrations by time
· Use send timeout to avoid locking on gen_tcp:send
· mod_ip_blacklist: client blacklist support by IP
· API
· ejabberd_http provides Host, Port, Headers and Protocol in HTTP requests
· Export function to create MUC room
· New events: s2s_send_packet and s2s_receive_packet
· New event: webadmin_user_parse_query when POST in web admin user page
· Support distributed hooks over the cluster
· Authentification
· Extauth responses: log strange responses and add timeout
· Binary Installer
· Includes exmpp library to support import/export XML files
· Caps
· Remove useless caps tables entries
· mod_caps must handle correctly external contacts with several resources
· Complain if mod_caps disabled and mod_pubsub has PEP plugin enabled
· Clustering and Architecture
· Configuration
· Added option access_max_user_messages for mod_offline
· Added option backlog for ejabberd_listener to increase TCP backlog
· Added option define_macro and use_macro
· Added option include_config_file to include additional configuration files
· Added option max_fsm_queue
· Added option outgoing_s2s_options to define IP address families and timeout
· Added option registration_timeout to ejabberd.cfg.example
· Added option s2s_dns_options to define DNS timeout and retries
· Added option ERL_OPTIONS to ejabberdctl.cfg
· Added option FIREWALL_WINDOW to ejabberdctl.cfg
· Added option EJABBERD_PID_PATH to ejabberdctl.cfg
· Deleted option user_max_messages of mod_offline
· Check certfiles are readable on server start and listener start
· Config file management mix file reading and sanity check
· Include example PAM configuration file: ejabberd.pam
· New ejabberd listener: ejabberd_stun
· Support to bind the same port to multiple interfaces
· New syntax to specify the IP address and IPv6 in listeners configuration. The old options {ip,{1,2,3,4}} and inet6 are supported even if they aren't documented
· New syntax to specify the network protocol: tcp or udp
· Report error at startup if a listener module isn't available
· Only listen in a port when actually ready to serve requests
· In default config, only local accounts can create rooms and PubSub nodes
· Core architecture
· More verbose error reporting for xml:element_to_string
· Deliver messages when first presence is Invisible
· Better log message when config file is not found
· Include original timestamp on delayed presences
· Crypto
· Do not ask certificate for client (c2s)
· SSL code remove from ejabberd in favor of TLS
· Support Zlib compression after STARTTLS encryption
· tls v1 client hello
· Documentation
· Document possible default MUC room options
· Document service_check_from in the Guide
· Document s2s_default_policy and s2s_host in the Guide
· new command and guide instructions to change node name in a Mnesia database
· ejabberd commands
· ejabberd commands: separate command definition and calling interface
· access_commands restricts who can execute what commands and arguments
· ejabberdctl script now displays help and categorization of commands
· HTTP Binding and HTTP Polling
· HTTP-Bind: module optimization and clean-up
· HTTP-Bind: allow configuration of max_inactivity timeout
· HTTP-Poll: turn session timeout into a config file parameter
· Jingle
· STUN server that facilitates the client-to-client negotiation process
· LDAP
· Faster reconnection to LDAP servers
· LDAP filter optimisation: Add ability to filter user in ejabberd and not LDAP
· LDAP differentiates failed auth and unavailable auth service
· Improve LDAP logging
· LDAPS support using TLS
· Localization
· Use Gettext PO for translators, export to ejabberd MSG
· Support translation files for additional projects
· Most translations are updated to latest code
· New translation to Greek language
· Multi-User Chat (MUC)
· Allow admins to send messages to rooms
· Allow to store room description
· Captcha support in MUC: the admin of a room can configure it to require participants to fill a captcha to join the room
· Limit number of characters in Room ID, Name and Description
· Prevent unvoiced occupants from changing nick
· Support Result Set Management (XEP-0059) for listing rooms
· Support for decline of invitation to MUC room
· mod_muc_log options: plaintext format; filename with only room name
· Performance
· Run roster_get_jid_info only if privacy list has subscription or group item
· Significant PubSub performance improvements
· Publish-Subscribe
· Add nodetree filtering/authorization
· Add subscription option support for collection nodes
· Allow Multiple Subscriptions
· Check option of the nodetree instead of checking configuration
· Implement whitelist authorize and roster access model
· Implicit item deletion is not notified when deleting node
· Make PubSub x-data configuration form handles list value
· Make default node name convention XEP-compatible, document usage of hierarchy
· Node names are used verbatim, without separating by slash, unless a node plugin uses its own separator
· Send authorization update event (XEP-0060, 8.6)
· Support of collection node subscription options
· Support ODBC storage. Experimental, needs more testing
· Relational databases
· Added MSSQL 2000 and 2005
· Privacy rules storage in MySQL
· Implement reliable ODBC transaction nesting
· Source Package
· Default installation directories changed. Please see the upgrade notes below
· Allow more environment variable overrides in ejabberdctl
· ChangeLog is not edited manually anymore; it's generated automatically
· Install the ejabberd Guide
· Install the ejabberd include files
· New option for the 'configure' script: --enable-user which installs ejabberd granting permission to manage it to a regular system user; no need to use root account to
· Only try to install epam if pam was enabled in configure script
· Spool, config and log dirs: owner writes, group reads, others do nothing
· Provides an example ejabberd.init file
· S2S
· Option to define s2s outgoing behaviour: IPv4, IPv6 and timeout
· DNS timeout and retries, configurable with s2s_dns_options
· Shared rosters
· When a member is added/removed to group, send roster upgrade to group members
· Users management
· When account is deleted, cancel presence subscription for all roster items
· XEP Support
· Added XEP-0059 Result Set Management (for listing rooms)
· Added XEP-0082 Date Time
· Added XEP-0085 Chat State Notifications
· Added XEP-0157 Contact Addresses for XMPP Services
· Added XEP-0158 CAPTCHA Forms (in MUC rooms)
· Added STUN server, for XEP-0176: Jingle ICE-UDP Transport Method
· Added XEP-0199 XMPP Ping
· Added XEP-0202 Entity Time
· Added XEP-0203 Delayed Delivery
· Added XEP-0227 Portable Import/Export Format for XMPP-IM Servers
· Added XEP-0237 Roster Versioning
· Web Admin
· Display the connection method of user sessions
· Cross link of ejabberd users in the list of users and rosters
· Improved the browsing menu: don't disappear when browsing a host or node
· Include Last-Modified HTTP header in responses to allow caching
· Make some Input areas multiline: options of listening ports and modules
· Support PUT and DELETE methods in ejabberd_http
· WebAdmin serves Guide and links to related sections
· Web plugins
· mod_http_fileserver: new option directory_indices, and improve logging
September 29th, 2006· LDAP Improvements
· Major improvements have been made on the LDAP module. It is now more flexible and more robust.
· HTTP Polling Fixes
· The HTTP polling modules have been fixed and improved: the connections are closed properly and polled messages cannot be lost anymore.
· Roster Management Improvement
· Roster management improvements increase reliability, especially in cases where users are on different servers.
· Shared rosters are more reliable.
· Improved Robustness
· It is now possible to limit the number of opened connections for a single user.
· Relational databases
· Database support: Microsoft SQL Server is now officially supported in ODBC mode.
· Publish-Subscribe Improvement
· Restricting node creation with a dedicated ACL rule is now possible.
· Localization
· A Czech translation has been added.
· Translations have been updated.
· Binary Installer
· New binary installer for Windows including all requirements.
· Improved installers for Linux and MacOSX (PowerPC).
· XMPP Compliancy
· Some protocol compliance fix have been added, after the Portland XMPP Interop Meeting in July.
· Miscelanous
· MUC have been improved (logging rendering).
· The command line tool ejabberdctl has been improved.
· The build chain has been improved, including MacOSX support.
· The documentation has been improved and updated to describe the new features.
· Bugfixes
· Anonymous login bugfixes.
· Please refer to the ChangeLog file supplied with this release regarding all improvements in ejabberd.