This release consists for the most part of bug fixes that target areas such as PBAP, AVRCP and GATT.
Feature-wise a notable change is btmon support for vendor diagnostic messages which will be debuting with the 4.4 Linux kernel release. This feature will allow e.g. LMP tracing with specific controllers. For now there is preliminary support for Intel and Broadcom based controllers. You can already now enable and experiment with the feature using the bluetooth-next kernel tree by writing “1″ to the “vendor_diag” file in debugfs.
This release contains bugfixes to areas such as GATT, OBEX, HoG and AVRCP. From now on bluetoothd will cache more information of remote GATT databases and thereby avoid unnecessary rediscovery of remote services.
A noteworthy new feature is the ability to configure bluetoothd to automatically enable (power on) all new adapters. One use of this is to replace unreliable “hciconfig hci0 up” commands that some distributions use in their init/udev scripts. The feature can be enabled by having AutoEnable=true under the [Policy] section of /etc/bluetooth/main.conf.
This release fixes a fairly important bug for the GATT D-Bus interface where automatic reconnections would not always occur for the client role. There’s also a fix for a missing attribute in PBAP & MAP SDP records as well as a couple of audio related fixes. A new feature in this release is Media Player Selection support for the Target role of AVRCP (the Controller role already had this). On the Android side there’s now support for the WBS (WideBand Speech) callbacks of HFP.
This BlueZ release contains mostly bugfixes, particularly in areas such as the audio plugin, GATT and OBEX. The main feature additions are in the the emulator code which received improvelents to LE features. There’s also a new tool for testing the recently released Eddystone protocol from Google.
This is mostly a bug fix release rather than including many new features. The fixes fall in several different areas, including OPP, ATT and advertising (instance number handling in particular). There’s also a fix for handling a sudden disconnect when a connection setup process hasn’t yet completed. The one notable feature this release has is the ability to select between letting the stack handle ATT security elevation or doing the respective error handling in higher layers.
It’s been well over two months since the last BlueZ release, so we’re quite overdue for another one. BlueZ 5.31 contains fixes to many different areas, including networking, GATT, HID, A2DP and AVRCP. Feature-wise we’ve got support for security flags for the GATT database, allowing fine-grained security level control for D-Bus clients using the GATT D-Bus API. We’ve also got a new experimental device discovery filter interface which allows filtering for a specific remote service, RSSI threshold or transport (LE vs. BR/EDR). Another new experimental interface is for LE advertising, which also brings the LE peripheral role closer to feature completion on a D-Bus level.
On the Android side, all PTS documents have been updated to cover the latest PTS 6.1 version.
The highlight of this release is the completion of the GATT D-Bus APIs. We’ve now got both the client and server functionality in place, however it’s still behind the -E (–experimental) command line switch. The API is documented in doc/gatt-api.txt and there are several test tools for it in the tree (even bluetoothctl has support for it). Another new (and still experimental) D-Bus API that debuts with this release is one for managing LE Advertising, i.e. acting in peripheral role. The API is documented in doc/advertising-api.txt.
Besides the new features, there are several fixes to AVCTP, AVDTP & AVRCP. There’s also a fix for C++ compiler compatibility with the library headers as well as a fix for device information not being stored in certain corner cases.
On the Android side a notable addition is support for the Android 5.1 GATT MTU exchange API.
This is a comparatively large release with over a month and 475 commits since 5.28. There have been lots of fixes to the Android side, mainly to HFP & HSP, but also to GATT. The Android qualification documentation and results have also been updated for PTS version 6.0. Our internal GATT library (used both by ‘normal’ BlueZ as well as the Android version) received lots of updates for this release. The GATT client and server D-Bus APIs (which use the library) also reached completion, although they’re still behind the –experimental command line switch. The APIs are documented in doc/gatt-api.txt. Other notable changes are a fix for AVCTP key repeat timeout as well as added support for the Multi Profile Specification (MPS).