Release Notes - ejabberd development - Version ejabberd 3.0.0-alpha-1 - HTML format

Bug

  • [EJAB-255] - Privacy List: deny presence-out all + send presence to: presence is sent
  • [EJAB-300] - Privacy rules can't stop subscription requests
  • [EJAB-333] - http_base_64:decode is faster than jlib:decode_base64
  • [EJAB-377] - Support in user list page of WebAdmin when mod_offline is disabled
  • [EJAB-394] - No error log if cannot bind to server port
  • [EJAB-425] - Send offline presence packets during node shutdown
  • [EJAB-438] - Don't hardcode gcc specific options: -fpic and -shared
  • [EJAB-668] - Pubsub node being both a collection and a leaf
  • [EJAB-672] - Cannot explicitely create a collection node but it becomes one when a subnode is created
  • [EJAB-703] - Pubsub node update should not notify removal
  • [EJAB-707] - PEP events are delayed when s2s is laggy
  • [EJAB-709] - Detect correct size of HTTP packet
  • [EJAB-712] - Asking subscriptions on a specific node gives all subscriptions, not just the entity subscriptions
  • [EJAB-713] - Pubsub: error message sent while attempting to retrieve suscriptions options form is not compliant with the XEP.
  • [EJAB-779] - Cannot retrieve pubsub items in own node configured with whitelist access model.
  • [EJAB-803] - Return proper error (not 'conflict') when register is forbidden by ACL
  • [EJAB-818] - Requesting items on a node which exists, but empty returns an error
  • [EJAB-820] - Problem when join new room: jid parse unexpected_end_of_string
  • [EJAB-821] - Crashes when browsing certain pages of WebAdmin
  • [EJAB-823] - Incorrect implementation of Pubsub payload requirements
  • [EJAB-824] - PubSub: send_items does not retreive items in publish order
  • [EJAB-825] - regression: can not see PEP on another domains
  • [EJAB-841] - Presence-based delivery always fails for s2s users
  • [EJAB-847] - Simplified Chinese translation mistake of the word "cluster" in installer
  • [EJAB-850] - Prevent XSS in MUC logs by linkifying only a few known protocols
  • [EJAB-860] - DNS SRV lookup fails on Windows
  • [EJAB-863] - login_anon doesn't work with SASL digest authentication
  • [EJAB-867] - Owner of a password protected room must provide the password, like other participants
  • [EJAB-869] - Shared roster groups can cause authorization request on every login
  • [EJAB-871] - PubSub retract policy should obey pubsub#publish_model
  • [EJAB-873] - Non-subscriber can fetch items from Authorize node
  • [EJAB-877] - S2S connection with STARTTLS fails to Gtalk and recent Openfire
  • [EJAB-880] - Unusable connection to encrypted WebAdmin after timeout
  • [EJAB-882] - ODBC and anonymous auth with broken ODBC, users can login and rosters are deleted
  • [EJAB-892] - Safari doesn't like mod_http_fileserver's "Content-type" header
  • [EJAB-902] - Missing stream:error in the returned remote-stream-error stanza
  • [EJAB-905] - Announce PubSub features in example.net only if PEP is enabled
  • [EJAB-909] - PubSub publishing : If the publish request did not include an ItemID, the IQ-result SHOULD include an empty <item/> element that specifies the ItemID of the published item.
  • [EJAB-912] - SASL Anonymous httpbind connections not stored or purged
  • [EJAB-913] - Pubsub subscriptions remain after anonymous user removed
  • [EJAB-916] - Support in API to add @all@ as member of a group
  • [EJAB-919] - ejabberd's ram_file_io_server makes ejabberd_loglevel to not run with R13B
  • [EJAB-920] - Erlang R13B compilation: Warning: behaviour X undefined
  • [EJAB-921] - Migrate regexp calls to re
  • [EJAB-922] - Migrate type-check calls to is_type
  • [EJAB-923] - Publishing items with the same id counts towards max_items limits
  • [EJAB-927] - Problem parsing win32 dns sometimes
  • [EJAB-930] - Don't send error stanza as reply to error stanza
  • [EJAB-937] - Entity subscriptions to virtual nodes cannot be retrieved
  • [EJAB-943] - external contacts being seen as offline after sending an unavailable presence
  • [EJAB-956] - ejabberdctl and erl scripts use tr incorrectly
  • [EJAB-966] - mod_http crash on some possibly malform http requests
  • [EJAB-1009] - Win32 Makefile problem to compile SSL code with OTP R12
  • [EJAB-1011] - Don't allow in room configuration to enable password protection with empty password
  • [EJAB-1027] - Allow distinguish between leafs and items
  • [EJAB-1031] - web interface doesn't report correct last activity with postgresql backend
  • [EJAB-1036] - One missing pubsub_subscription breaks all deliveries from that node.
  • [EJAB-1045] - Routes vCard request to the occupant full JID, but should to bare JID
  • [EJAB-1054] - caps locked in waiting state
  • [EJAB-1055] - PubSub: last published items to be sent only to resource that just connected
  • [EJAB-1059] - Use max_items_node from pubsub configuration in pep
  • [EJAB-1060] - Regression fix for authorize node subscription.
  • [EJAB-1071] - "sensible" != "sensitive"
  • [EJAB-1075] - Body tag not properly closed in HTTP-Bind
  • [EJAB-1088] - Fix some disco bugs in mod_pubsub
  • [EJAB-1089] - Fix bugs in nodetree_dag
  • [EJAB-1090] - Send authorization messages outside of get-pending transaction.
  • [EJAB-1091] - Duplicate SHIM header in Pubsub <message/>
  • [EJAB-1092] - SubID SHIM header missing in Pubsub message with multiple subscriptions on the same node
  • [EJAB-1093] - Notification messages of Pubsub node configuration change contain a SHIM header
  • [EJAB-1094] - Fix disco on root node, add commands to disco.
  • [EJAB-1095] - If big offline message queue, show only subset on WebAdmin
  • [EJAB-1096] - Pubsub subscription option pubsub#show_values not enforced by the server
  • [EJAB-1098] - Generate main XML file also when exporting only a vhost
  • [EJAB-1111] - Remove all references to unused library: expat
  • [EJAB-1115] - Typo in mod_pubsub_odbc breaks Service Discovery and more
  • [EJAB-1116] - PubSub: receive same last published PEP items at reconnect if several resources online
  • [EJAB-1119] - Fix memory and port leak when TLS is enabled in HTTP
  • [EJAB-1130] - PEP: last published item not sent from unavailable users when the subscription is implicit (XEP-0115)
  • [EJAB-1132] - SASL PLAIN authentication message not compliant with RFC4616
  • [EJAB-1141] - Rename mod_muc_log option spam_prevention to link_nofollow
  • [EJAB-1149] - Kick occupants with reason when room is stopped due to MUC shutdown
  • [EJAB-1152] - ejabberdctl does not run correctly when invoked by root
  • [EJAB-1153] - ejabberdctl breaks under concurrent usage
  • [EJAB-1165] - Close sessions that were half connected
  • [EJAB-1170] - Fix documentation installation, no need for executable permission
  • [EJAB-1172] - anonymous subscription aren't removed at user disconnection
  • [EJAB-1177] - Rewrite mnesia counter functions to use dirty_update_counter
  • [EJAB-1179] - Update namespaces accordingly to exmpp_nss.hrl
  • [EJAB-1190] - Pubsub items name do not correspond to pubsub#title node configuration option
  • [EJAB-1191] - Add required quotes in documentation of some erl arguments
  • [EJAB-1193] - Run user_receive_packet also when sending offline messages to client
  • [EJAB-1201] - MSSQL support was broken
  • [EJAB-1207] - Bugs handling Service Discovery to contacts
  • [EJAB-1213] - 100% CPU Usage Problem with a Transport that does XMPP Pings
  • [EJAB-1216] - Windows ejabberdctl.cmd only handles up to 4 arguments
  • [EJAB-1221] - Enforce pubsub#presence_based_delivery
  • [EJAB-1224] - Don't store blocked messages in offline queue
  • [EJAB-1225] - DAG plugin : Notifications not sent with pubsub#subscription_type=nodes subscription option
  • [EJAB-1231] - Don't show HTTP request in logs, because reveals password
  • [EJAB-1238] - Wrongly advertise PEP support
  • [EJAB-1254] - purge offline fails with mod_pubsub_odbc
  • [EJAB-1267] - Don't ask for client certificate in ejabberd_http when used with tls module
  • [EJAB-1269] - MUC admins can't see private rooms in Service Discovery
  • [EJAB-1271] - mod_last does not honor mod_privacy block list
  • [EJAB-1284] - Fix support for LDAP when using Erlang/OTP R14A

Improvement

  • [EJAB-17] - Internal change: use binaries instead of lists where possible
  • [EJAB-109] - LDAPS support
  • [EJAB-114] - Shared roster should use user vcard nickname when available
  • [EJAB-135] - HTTP-Poll: turn session timeout into a config file parameter
  • [EJAB-196] - Move SQL queries from vcard_odbc to odbc_queries.
  • [EJAB-199] - LDAP: Allow inband password change
  • [EJAB-208] - Include avatar hash in presence broadcast on behalf of the client
  • [EJAB-376] - Add timestamp to the database schemas
  • [EJAB-489] - Support converting one-to-one chat to MUC
  • [EJAB-545] - Allow parametrizable watchdog threshold
  • [EJAB-612] - Option to define custom HTTP headers in mod_http_fileserver
  • [EJAB-613] - Read node type from the data form
  • [EJAB-646] - mod_offline_odbc doesn't store the timestamp and the expiration of messages, thus making offline message maintenance harder
  • [EJAB-652] - New option pam_userinfotype to provide username or JID
  • [EJAB-655] - make Pubsub x-data configuration form handles list value
  • [EJAB-667] - leading, trailing, and consecutive slashes stripped from pubsub node names
  • [EJAB-673] - Support of collection node subscription options
  • [EJAB-753] - Check certfiles are readable on server start and listener start
  • [EJAB-755] - There is no init.d script when installing from the source
  • [EJAB-790] - When account is deleted, cancel presence subscription for all roster items
  • [EJAB-799] - Send authorization update event (XEP-0060, 8.6)
  • [EJAB-813] - add nodetree filtering/authorization
  • [EJAB-819] - PubSub: Cannot configure max_items on nodes over 20?
  • [EJAB-826] - mod_caps must handle correctly external contacts with several resources
  • [EJAB-851] - Only run roster_get_jid_info if privacy list contains subscription or group item
  • [EJAB-868] - Report error at startup if a listener module isn't available
  • [EJAB-875] - mod_caps: remove useless caps tables entries
  • [EJAB-885] - outgoing_s2s_port option is undocumented
  • [EJAB-891] - Allow more environment variable overrides in ejabberdctl
  • [EJAB-899] - Limit number of characters in Room ID, Name and Description
  • [EJAB-908] - Define the Windows service OnFail=restart
  • [EJAB-925] - Support translation files for additional projects
  • [EJAB-926] - Drop c2s connection if socket send times out
  • [EJAB-933] - disco#info feature http://jabber.org/protocol/pubsub#purge-nodes feature-not-implemented
  • [EJAB-934] - improve get_caps while still waiting for initial presence
  • [EJAB-936] - BOSH module optimization and clean-up
  • [EJAB-944] - PubSub: make nodetree_tree implicitely create parent node if required
  • [EJAB-951] - Add option to restrict max offline messages by Access and ACL
  • [EJAB-953] - Replace calls to OTP module ssl_pkix with public_key
  • [EJAB-972] - Update Ingoing s2s connections inner state to hold domain name
  • [EJAB-975] - Allow content types to be configured in ejabberd.cfg
  • [EJAB-981] - Internal auth method should store number of accounts for faster queries
  • [EJAB-986] - HTML room logs: fix formatting of spaces; log config when disabling logging; display occupants
  • [EJAB-994] - Better DNS resolution error retry
  • [EJAB-1004] - Ability to get current log level
  • [EJAB-1038] - Refactor code to reduce calls to get_affiliation and get_role
  • [EJAB-1047] - PubSub: rename pep_sendlast_offline option
  • [EJAB-1056] - Autodetect compilation parameters for Mac OS X Snow Leopard
  • [EJAB-1063] - TCP backlog is set to a very low value
  • [EJAB-1068] - Start mnesia as a permanent application
  • [EJAB-1077] - PubSub: node_flat becomes default, so it must have the code instead of hometree
  • [EJAB-1105] - Change captcha.sh to not depend on bash
  • [EJAB-1106] - Show informative webpage when browsing the HTTP-Poll page
  • [EJAB-1114] - Call ejabberd_router:route/3 instead of sending a message
  • [EJAB-1121] - Add support for serving a Unique Room Name
  • [EJAB-1144] - Write in room log when a room is created, destroyed, started, stopped
  • [EJAB-1148] - If problem in config file starting ejabberd: display config lines and stop node
  • [EJAB-1156] - PubSub: avoid calling gen_server on internal events
  • [EJAB-1160] - Check for Effective GID (EGID) in ejabberdctl command
  • [EJAB-1178] - Catch errors when exporting to PIEFXIS file
  • [EJAB-1192] - Fix typos in example config comments
  • [EJAB-1214] - Add xml default content type to mod_http_fileserver
  • [EJAB-1229] - Option to enable in LDAPS verification of peer certificate
  • [EJAB-1233] - Pubsub node affiliations should always have one 'owner'
  • [EJAB-1234] - PubSub: make last_item_cache feature cluster aware
  • [EJAB-1237] - New ejabberd commands to update modified modules
  • [EJAB-1240] - Add created_at column also to PostgreSQL schema
  • [EJAB-1242] - Makefile with optional ejabberd_debug.erl compilation
  • [EJAB-1257] - New optional BOSH connection attribute process-delay
  • [EJAB-1280] - Support parallel external script authentication

New Feature

  • [EJAB-173] - XEP 0199: XMPP ping
  • [EJAB-213] - Read only access to web admin
  • [EJAB-234] - Add XEP82 Date Time, update XEP202 Entity Time and XEP203 Delayed Delivery
  • [EJAB-235] - Add support for XEP-0157: Contact Addresses for XMPP Services
  • [EJAB-265] - Service for XEP-0033: Extended Stanza Addressing
  • [EJAB-266] - mod_muc use XEP-0033 to reduce bandwidth consumption in message stanzas
  • [EJAB-267] - ejabberd_c2s use XEP-0033 to reduce bandwidth consumption in presence stanzas
  • [EJAB-329] - New ejabberd router for multicast packets (XEP-0033)
  • [EJAB-418] - Allow definition of local address for outgoing S2S
  • [EJAB-499] - Support Zlib compression after STARTTLS encryption
  • [EJAB-641] - Optionally cache extauth users also in mnesia
  • [EJAB-722] - LDAP extensible match
  • [EJAB-729] - Export function to create MUC room
  • [EJAB-780] - PubSub: implement whitelist authorize and roster acces model
  • [EJAB-782] - PubSub: Allow Multiple Subscriptions
  • [EJAB-795] - Ability to serve file from the root URL of the HTTP server
  • [EJAB-829] - Distributed Hooks
  • [EJAB-837] - WebAdmin serves Guide and links to related sections
  • [EJAB-845] - PubSub: Subscription option support
  • [EJAB-876] - Add subscription option support for collection nodes
  • [EJAB-895] - XEP-0158: CAPTCHA protection for Multi-User Chat
  • [EJAB-910] - Configurable restriction of who can execute what commands and arguments
  • [EJAB-932] - mod_http_fileserver: new option directory_indices, and improve logging
  • [EJAB-961] - Support XEP-0085 Chat State Notifications
  • [EJAB-964] - Support XEP-0237 Roster Versioning
  • [EJAB-974] - ejabberd module for xmpp ping support
  • [EJAB-993] - Support XEP-0227: Portable Import/Export Format for XMPP-IM Servers
  • [EJAB-1008] - Support STUN (RFC 5389)
  • [EJAB-1023] - Write PID file
  • [EJAB-1044] - Add node config option choose message type
  • [EJAB-1083] - pubsub#type node config and payload namespace
  • [EJAB-1102] - Database storage abstraction layer
  • [EJAB-1112] - Command to stop ejabberd informing users, with grace period, and kindly
  • [EJAB-1134] - Add +export_all to EFLAGS if debugging is requested.
  • [EJAB-1168] - Cross-domain HTTP-Bind support
  • [EJAB-1186] - pubsub#purge_offline node configuration option
  • [EJAB-1189] - XEP-0115 - 6.3 - Stream feature element including capabilities
  • [EJAB-1198] - PEP : extended stanza addressing 'replyto'
  • [EJAB-1205] - XEP-0279: Server IP Check
  • [EJAB-1223] - Update mod_caps to XEP-0115 v1.5
  • [EJAB-1230] - pubsub#notify_sub node option

Task

  • [EJAB-696] - Document in ejabberd 2.1.0 Release Notes the new ejabberd path locations
  • [EJAB-783] - Rename Erlang/OTP SASL log file from sasl.log to erlang.log
  • [EJAB-810] - Remove support for the deprecated XEP-0018 Invisible Presence
  • [EJAB-835] - PubSub: make default node naming convention XEP compatible and document usage of hierarchy
  • [EJAB-904] - Remove support of Publish part of XEP-0030 in mod_disco
  • [EJAB-940] - Implement nested transactions in ejabberd_odbc
  • [EJAB-954] - Do not include mod_irc in ejabberd
  • [EJAB-997] - Update ejabberd documentation: ejabberd 3.0.0 will require Erlang/OTP R12B-4 or higher
  • [EJAB-998] - Improve the Guide to describe the option syntax, not only the name
  • [EJAB-1007] - Include exmpp in ejabberd 2.1.x installers for PIEFXIS support
  • [EJAB-1041] - Document more ejabberd commands in the Guide
  • [EJAB-1147] - Include exmpp *.dll files in the Windows ejabberd installer
  • [EJAB-1159] - Update year of ProcessOne copyright on ejabberd 2009 -> 2010
  • [EJAB-1164] - Document the option route_subdomains in the Guide

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.