When I made the first version 2 years ago I thought that classes would feel more natural to newbies, but since then have data-attributes become pretty much standard in the community.
But today it's mostly a performance thing. List.js is supposed to be very fast and handle really long lists (check out http://sindresorhus.com/bower-components/ it has 6000+ items)
With the new plugins-functionality you could create your own special sorter that uses data attributes too. Then you would call it with listObj.yourSortersName(something).
And you can still use the regular sort function which since this version is a included in the helper object :)
With plugins you can build your own fuzzy search! :)
...but I know that is a feature many want, so maybe I will build a plugin if no one get before me.
I have optimized the script so that only 200 items are visible by default (change with options = { maxVisibleItemsCount: int }) this makes it possible to add large amounts (100 000+) items into the list without problems (except for sorting, thats sloooow if you have large amout of items).
But I am working on a solution for auto-loading data from callbacks or showing more items in list on the fly. But the problem is that most solutions are dependent on how the HTML/CSS around the list is implemented, which is something I want to avoid. Im thinking a lot about it, though.
Good point about the fold and the name. I added the name to the menu and maybe I will make the logo smaller.
I also added a note about that the contacts-example could contain bugs. My purpose with the example is the show the possibilities with add(), values() and remove(). There fore I have tried to minimize the amount of code (and there by some functionalities). But I will of course fix real bugs if there are any.
The reason is simply that I wanted it to be as simple as possible, but if it seems to be a common request I could add support for data-attributes! (and yes, it "works" in IE, by using getAttribute())