For those who have not noticed yet, we have a patch available for preliminary support of roster versioning.
Roster versionning is a feature that allows you to avoid downloading your entire roster each time you log in if it has not changed. It is especially usefull on mobile to speed up connection time and limit bandwith consumption. Roster versioning is defined in an XSF (XMPP Standards Foundation) specification: XEP-0237: Roster Versioning.
The current follows an all-or-nothing policy, sending an empty response if the client has the latest version, or sending the entire roster if not. This should already cover most of the user use cases and is already a large win for mobile applications.
The patch is available at ProcessOne support site: Implement xep 237 (roster versioning).
We plan to integrate this feature in 3.0 branch after ejabberd 2.1 have been released.