This release is for the most part a bug-fix release with fixes in A2DP and OBEX related functionality, but there’s also an added features for get/set reports for HID over GATT as well as Phonebook Access Profile 1.2 support
On the Android side the 5.0 (Lollipop) support is now starting to be fairly mature with full PTS test runs either with PTS 5.3 or 6.0.
The Bluetooth 4.2 specification went public in early December and BlueZ 5.26 is the first release with support for its features. Perhaps the most notable one of these is Low Energy Secure Connections which will require a 3.19 or newer kernel. This feature brings LE pairing to the same level of security as it has been for BR/EDR. LE SC also brings along with it so-called cross-transport pairing, which means that you only need to pair once over LE or BR/EDR to get the necessary keys for both transports between two dual-mode devices.
This release contains various improvements to MAP and PBAP support. There are also various GATT related fixes. We’ve also got a fix for a race condition which could occasionally cause LE connection/pairing failures. The fix will work for kernels from 3.13 onward (for older kernels a proper fix isn’t really feasible).
The Android Lollipop (5.0) source code was released roughly a week ago, and we’re happy to announce that this is the first BlueZ version with initial support for it. We’ll be doing various improvements and fixes along with subsequent BlueZ releases but starting with 5.25 basic things are already working.
It’s also notable that PTS 5.3 is now fully supported with this release. All tests are either passing or errata has been filed for them (all of which is documented in android/pts-*.txt).
This release fixes a bug with frame length calculation for dual-channel mode operation. It also includes a fix for preventing an overflow of an internal frame length variable.
This release consists for the most part of cleanups and minor fixes, however there are some new additions too in the form of Phonebook Access Profile 1.2 and Message Access Profile 1.2 features. On the Android side we’ve got improved automated test coverage as well as several new Android system properties for Bluetooth customization.
BlueZ 5.23 release also provides updated documentation for Bluetooth qualification using PTS 5.2 test system. Documentation about PICS, PIXIT and test cases instructions are provided. The current set contains 944 test cases for BlueZ for Android.
This is mostly a bug-fix release with fixes for concurrent authorization attempts (for untrusted devices), HID, uHID, OBEX, MAP and AVRCP. We now also have better support for AVCTP/AVRCP decoding with btmon.
On the Android side a notable enhancement is the ability to take advantage of kernel whitelist support to enable LE passive scanning (something that’s available from Linux Kernel release 3.17 onward)..
The BlueZ 5.x stack used in Tizen has achieved Bluetooth 4.1 + Low Energy qualification.
The listing is made by Samsung. It covers SDP, L2CAP, GAP, RFCOMM, SPP, AVCTP 1.4, AVDTP 1.3, MCAP, GAP, ATT and SM protocols and profiles.
This release contains several fixes to HID over GATT (HoG) as well as for AVRCP. Feature-wise there are a couple of notable additions debuting with the Linux kernel 3.17 release:
- BR/EDR whitelist support. Starting with Linux kernel 3.17 bluetoothd will no-longer set adapters to connectable by default. Instead, all configured remote devices are added to the kernel whitelist after which the kernel will enable page scanning but only accept connect requests from the whitelist. This effectively reduces the attack surface for unknown devices. When whitelist support is available the general connectable state now follows the discoverable state, meaning discoverable must be enabled for previously unknown devices to be able to connect to us.
- Proper LE passive scanning support. For kernels before 3.17 bluetoothd will use the Start/Stop Discovery commands to perform LE background scanning. This however uses LE active scanning which is both wasteful (causing unneeded Scan Requests) and can cause reconnection issues with devices using direct advertising (e.g. most LE mice). From kernel version 3.17 onward bluetoothd will use proper kernel-side passive scanning, making the background scanning both efficient and more interoperable. The kernel will even use the controller-side whitelist during scanning (if no Resolvable Private Addresses are present), saving even more power.
On the Android side there have been various fixes here and there, but the major areas of change are improved test coverage as well as full GATT over BR/EDR support.