Here’s 5.16. For the most part it’s a bug fix release with a couple of regressions fixed regarding the “Paired” property that had crept into 5.15. People using 5.15 are strongly recommended to upgrade because of these fixes. There is also a fix for HID over GATT (LE) device creation.
As far as new non-Android features are concerned this release supports the New Signature Resolving Key mgmt event which will make its debut in the 3.15 kernel release.
On the Android side by far the biggest feature addition is full support for A2DP 1.3 and AVRCP 1.5. Several other profiles, such as HFP and GATT have continued receiving a fair amount of patches as well, but they are not considered complete yet.
This release contains bug fixes in various areas, including LE background scanning when LE is enabled after powering on, setting proper attributes for HID over GATT input devices and storing of LE Long Term Keys for slave role operation.
Besides the fixes a notable feature addition is the support for LE Identity Resolving Keys which enable the resolving of devices with Resolvable Private Addresses (one prominent example of such devices are all iOS based ones). This feature requires a kernel with Privacy support enabled and the patches for it are right now being targeted for the 3.15 kernel release. For people wanting to experiment already now the bluetooth-next tree can be used.
On the Android side the rate of new patches keeps going strong and is still accounting for over half of the patches since the previous release. The most important area that has made significant progress is audio where basic A2DP support is now starting to be in place.
A message to the BlueZ mailing list from Scott James Remnant from Google announced that Chrome OS with BlueZ 5.x has successfully passed Bluetooth 4.0 + Low Energy qualification.
Congrats to Scott and the Chrome OS team. Nicely done.
With this release the SBC library now allows to enable a high precision encoding and also support special setup functions to initialize the encoder and decoder for A2DP streams.
As far as user visible features are concerned the biggest highlight of this release is the improved/fixed support for PS3 remote controls as well as the added support for PS4 remote controls (DualShock 4). Besides this we’ve got various fixes here and there, much more Android functionality as well as more complete automated test tools (bringing among other things fairly complete pairing tests).
This release consists mostly of further features added to the various Android HALs (Core, Socket, PAN and HID), but a few non-Android changes have crept in too:
- Fix issue with PS3 controller detection
- HCI event decoding improvements to btmon
This is mostly a bug-fix release, but also contains several notable additions:
- PS3 (sixaxis) controller support
- smp-tester for LE Security Manager Protocol testing
- AVDTP qualification test cases (unit/test-avdtp)
- LE Connection Oriented Channel test support with l2test (LE CoC is a feature of the newly released Bluetooth 4.1 specification)
- btmon decoding support for LE CoC signaling commands, CSA4 and Core spec 4.1 HCI commands
As with the previous release, simply from a statistical perspective the majority of the changes are on the still work-in-progress Android support side (android/* in the source tree), where we should now have mostly working core, PAN and HID HALs, as well as the socket HAL which enables several higher level profiles like OPP and PBAP.
This release contains numerous fixes in many places of the stack, including SDP, AVRCP and OBEX. The btmon HCI analyzer tool also received updates to fully encode a few missing HCI commands.
This is also the first release where have some basic parts of the Android Bluetooth HAL implemented. Things like GAP (device discovery, pairing, etc) should work as well as connecting and using HID devices. All of the Android code lives independently in the android subdirectory of the source tree, though it does share several parts of the “normal” BlueZ source code, such as the SDP handling and mgmt library.