This release comes with all sorts of fixes and updates to OBEX related profiles. There is also more complete HCI decoding support in btmon as well as some improvements to our user space HCI emulator code. One notable, though completely backwards compatible, API change is the removal of the Profile1.Cancel method. This was mainly used for canceling a NewConnection call that took too long, however bluetoothd always called shutdown on the socket in this case which made the D-Bus call redundant. From BlueZ 5.9 onwards this method is no longer called and previous (5.x) BlueZ versions handle its absence gracefully.
One notable build related change in 5.9 is the removal of the libusb dependency. USB support in BlueZ is now fully self-contained and packages can drop any libusb dependency they might have had.