Cached descriptors from the OS are read when possible. Problems were fixed with handling devices that are added or removed after start. Support was added for new API changes to BSD systems. A workaround for API skew between BSD systems was implemented, along with Darwin fixes and fixes for build problems with documentation.
This release adds support for MacOS X (Darwin), fixes endian-ness where applicable on all OSes, and returns bytes written/read for control message on *BSD. The documentation build was tweaked, and a bug was fixed where usb_find_devices was called multiple times (Linux). libusb now fetches descriptors for all devices when it can and parses them.