Short list of changes:
* Bounce messages when closing c2s session
* Bugfixes when handling Service Discovery to contacts
* Don't send error stanza as reply to error stanza
* Don't store blocked messages in offline queue
* Extauth: Optionally cache extauth users in mnesia
* Full support for XEP-0115 Entity Capabilities v1.5
* HTTP-Bind (BOSH): Remove unneeded 100 ms delay, and export functions
to facilitate prebinding methods
* LDAP: Inband password change, Extensible match support,
and ldap_tls_verify.
* Localization: Updated most translations
* MUC: Refactor code to reduce calls to get_affiliation and get_role
* ODBC: Add created_at column also to PostgreSQL schema
* PAM: New option pam_userinfotype to provide username or JID
* Pubsub: Send created node notifications. Enforce
pubsub#presence_based_delivery, pubsub#show_values
* Vcard: Automatic vcard avatar addition in presence
* WebAdmin: New Access rule webadmin_view for read-only
Changes in ejabberd-2.1.3
Client connections
* Avoid 'invalid' value in iq record
* Avoid resending stream:error stanzas on terminate (EJAB-1180)
* Close also legacy sessions that were half connected (EJAB-1165)
* iq_query_info/1 now returns 'invalid' if XMLNS is invalid
* New ejabberd_c2s option support: max_fsm_queue
* Rewrite mnesia counter functions to use dirty_update_counter (EJAB-1177)
* Run user_receive_packet also when sending offline messages (EJAB-1193)
* Use p1_fsm behaviour in c2s FSM (EJAB-1173)
Clustering
* Fix cluster race condition in route read
* New command to set master Mnesia node
* Use mnesia:async_dirty when cleaning table from failed node
Documentation
* Add quotes in documentation of some erl arguments (EJAB-1191)
* Add option access_from (EJAB-1187)
* Add option max_fsm_queue (EJAB-1185)
* Fix documentation installation, no need for executable permission
(EJAB-1170)
* Fix typo in EJABBERD_BIN_PATH (EJAB-891)
* Fix typos in example config comments (EJAB-1192)
ejabberdctl
* Support concurrent connections with bound connection names
* Add support for Jot in ctl and TTY in debug
* Support help command names with old - characters
* Fix to really use the variable ERL_PROCESSES
Erlang compatibility
* Don't call queue:filter/2 to keep compatibility with older Erlang versions
* Use alternative of file:read_line/1 to not require R13B02
HTTP
* Add new debugging hook to the http receiving process
* Allow a request_handler to serve a file in root of HTTP
HTTP-Bind (BOSH)
* Cross-domain HTTP-Bind support (EJAB-1168)
* Hibernate http-bind process after handling a request
* Reduce verbosity of HTTP Binding log messages
LDAP
* Document ldap_dn_filter, fetch only needed attributes in search
(EJAB-1204)
* Use "%u" pattern as default for ldap_uids (EJAB-1203)
Localization
* Fix German translation (EJAB-1195)
* Fix Russian translation
ODBC
* Fix MSSQL support, which was broken (EJAB-1201)
* Improved SQL reconnect behaviour
Pubsub, PEP and Caps
* Add extended stanza addressing 'replyto' on PEP (EJAB-1198)
* Add pubsub#purge_offline (EJAB-1186)
* Fix pubsub#title option (EJAB-1190)
* Fix remove_user for node subscriptions (EJAB-1172)
* Optimizations in mod_caps
Other
* mod_register: Add new acl access_from, default is to deny
* mod_sic: new module for the experimental XEP-0279 Server IP Check
(EJAB-1205)
* PIEFXIS: Catch errors when exporting to PIEFXIS file (EJAB-1178)
* Proxy65: new option "hostname" (EJAB-838)
* Roster: Fix resending authorization problem
* Shared Roster Groups: get contacts nickname from vcard (EJAB-114)
* S2S: Improved s2s connections clean up (EJAB-1202)
Changes in ejabberd-2.1.2
Core
* Close sessions that were half connected
* Fix SASL PLAIN authentication message for RFC4616 compliance
* Fix support for old Erlang/OTP R10 and R11
* Return proper error (not 'conflict') when register is forbidden by ACL
* When ejabberd stops, send stream close to clients
ejabberdctl
* Check for EGID in ejabberdctl command
* Command to stop ejabberd informing users, with grace period
* If there's a problem in config file, display config lines and stop node
MUC
* Kick occupants with reason when room is stopped due to MUC shutdown
* Write in room log when a room is created, destroyed, started, stopped
PubSub and PEP
* Don't call gen_server on internal event (improves performance and
scalability)
* Fix duplicate SHIM header in Pubsub message
* Notification messages of Pubsub node config change contained a SHIM
header
* SubID SHIM header missing in Pubsub message with multiple subscriptions
on the same node
* PEP: last published item not sent from unavailable users when the
subscription is implicit (XEP-0115)
* pep_mapping not working due to Node type mismatch
WebAdmin
* If big offline message queue, show only subset on WebAdmin
* Support in user list page of WebAdmin when mod_offline is disabled
Bugfix release:
* Fix connection if starttls_required and zlib are set
* S2S: fix allow_host/2 on subdomains. added hook s2s_allow_host
* MUC: Add support for serving a Unique Room Name
* MUC: Route vCard request to the occupant bare JID
* MUC: Support converting one-to-one chat to MUC
* PubSub: Receive same last published PEP items at reconnect if several resources online
* PubSub: Typo in mod_pubsub_odbc breaks Service Discovery and more
* Web: Fix memory and port leak when TLS is enabled in HTTP
* WebAdmin: report correct last activity with odbc backends
* Change captcha.sh to not depend on bash
* Generate main XML file also when exporting only a vhost
* Fix last newline in ejabberdctl result
* Guide: fix -setcookie, mod_pubsub_odbc host, content_types
Pkgsrc changes:
* Fixed documentation install
Very brief list of additions:
* Erlang/OTP R13 support
* HTTP-Bind (BOSH) optimization and clean-up
* LDAPS support
* MUC rooms can require a CAPTCHA to join the room
* PubSub: major improvements. Update to XEP version 1.12
* PEP and Caps: many improvements
* Run commands with ejabberdctl or other frontends (XML-RPC, HTTP)
* STUN server
* XEPs like: XMPP Ping, Roster Versioning, Import/Export Format
See full release note:
http://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_2.1.0
* Fix two problems introduced in ejabberd 2.0.4: subscription request produced
many authorization requests with some clients and transports; and
subscription requests were not stored for later delivery when receiver was
offline.
* Fix warning in expat_erl.c about implicit declaration of x_fix_buff
* HTTP-Bind (BOSH): Fix a missing stream:error in the returned
remote-stream-error stanza
* Do not ask certificate for client (c2s)
* Check digest-uri in SASL digest authentication
* Use send timeout to avoid locking on gen_tcp:send
* Fix ejabberd reconnection to database
* HTTP-Bind: handle wrong order of packets
* MUC: Improved traffic regulation management
* PubSub: Several bugfixes and improvements for best coverage of XEP-0060 v1.12
* Shared Roster Groups: push immediately membership changes
* Rotate also sasl.log on "reopen-log" command