Selectivity v1.0 released

Update: This post mentioned the release of Select3 v1.0. The project has since been renamed to Selectivity.js and all references in this post have been updated.

After a little over two months of development, I'm proud to announce the first stable release of Selectivity.js. This release follows shortly after we have started using Selectivity in production at Speakap, meaning we believe it is stable enough to expose our users to it :)

Selectivity.js is a library for displaying rich select boxes. It is intended to be lightweight and flexible and has a modular design, a build system for creating custom builds and a proper test suite.

New Features

Some noteworthy features have been added to the library over the past month:

Support for submenus, as described in a previous blog post.

An AJAX module, for conveniently performing AJAX requests to fetch remote data.

An async module, which detects out-of-order responses to requests and discards those that are no longer relevant. This is especially useful in combination with the AJAX module, but can also be used independently.

Selectivity.js now automatically fetches more results when the user scrolls to the "Load more" link a dropdown.

Dropdowns now detect whether there is enough room to be displayed at the bottom of the screen and expand upwards if necessary.

What's Next?

Now that Selectivity has been released with its first stable release, it is expected the development of additional features will settle down. Maintenance will continue in the form of bug fixes. Some minor features and accessibility enhancements are to be expected, but nothing that will break the API short-term.

Instead, I intend to shift focus to extending the ecosystem around Selectivity.js. For example, I expect to shortly start working on a React.js Component for working with Selectivity. Also some specific customizations will be released in the form of plugins or add-on modules. Such work will be performed in separate repositories and not in the Selectivity.js repository however.

Questions and Suggestions

If you have any questions about working with Selectivity.js, feel free to post them on Stack Overflow using the "Selectivity" tag. Features requests and other suggestions are welcome in the GitHub issue tracker.

Cheers!