Archive for the ‘Release’ Category.
Again, mostly a bug fix release with fixes to SDP, AVRCP, NFC and name resolving during discovery. There are also some new features:
- New passthrough operations for AVRCP
- Auto-pairing (PIN lookup) support
- Proper HID reconnection support
Besides these externally visible changes there was also a rather big refactoring patch-set that went in to establish a new “service” concept internally within bluetoothd and its plugins. This paves the way to have each remote service represented as a separate object through D-Bus, something which may already appear in the next BlueZ release.
With this release the SBC library now supports encoding and decoding of the mSBC codec used with Handsfree 1.6 Wideband Speech feature.
It has been a fairly quiet period since BlueZ 5.3 (hopefully meaning the current tree is in a pretty good shape and doesn’t have any major issues) but the amount of fixes and minor feature additions has now grown big enough to justify a new release. So here we go with BlueZ 5.4! It consists mostly of bug fixes but some new features have also crept in:
- Improved AVRCP 1.5 feature support (mostly player handling related)
- New key mappings for AVRCP Target role (for systems that need more than traditional playback control)
- Improved MAP client features, including Message Notification Service (MNS)
- Improved command line client (client/bluetoothctl) agent callback support
This is mostly a bug fix release with several fixes and improvements to A2DP and AVRCP. There’s also a fix to the local adapter name setting, some fixes to SDP processing (thanks to newly implemented unit tests for the SDP library) as well as an update to the latest neard API to support NFC based pairing.
This release fixes some issues with LE pairing and re-connections and also enables the possibility of connecting LE through the Device1.Connect D-Bus method. There is also a fix to the Profile interface where bluetoothd now waits for reverse SDP to complete before accepting a connection and calling the NewConnection D-Bus method (important so that the right profile version and features can be included in the method call). Besides the bug fixes there’s also more AVRCP 1.5 support related to volume control and browsing.
This is mostly a bugfix release covering issues that were discovered since 5.0, but there are also a couple of new feature additions:
- Integration with systemd’s hostname daemon. The local Bluetooth adapter name will automatically be set through this (if available).
- New test tools:
- tools/mgmt-tester: Test cases for the kernel Management interface. Depends on the hci_vhci kernel module and uses it to verify that the right actions occur also on the HCI level and not just at the kernel-user space border (i.e. the management interface itself).
- unit/test-sdp: This test tool provides the entire set of SDP qualification test cases.
- unit/test-eir: Test tool for testing the parsing of various EIR and AD data. The btsnoop tool has also received support for extracting EIR and AD data chunks out of HCI traces.
- Experimental MediaPlayer1 interface introduced. See doc/media-api.txt and tools/mpris-player (which provides a user session proxy to export remote media players as local MPRIS capable ones). Note that this interface is unstable (may see backwards incompatible changes) and needs to be explicitly enabled using the –experimental bluetoothd command line switch.
After more than a half year of development the BlueZ project is proud to announce the release of BlueZ 5 with numerous new features, API simplifications and other improvements. With this release BlueZ only supports the new Bluetooth Management kernel interface that was introduced in Linux 3.4, so essentially this is the minimum kernel requirement for BlueZ 5. For Low Energy support at least kernel version 3.5 is needed.
The new major version indicates that the API is not backwards compatible with BlueZ 4, which means that any applications, agents, etc will need to be updated. The BlueZ internal test scripts and tools have naturally already been updated to support the new API.
With this release the hcidump (bluez-hcidump.git) and obexd (obexd.git) projects have been merged into the main BlueZ project (bluez.git) and new releases of them will come as part of new 5.x BlueZ releases.
We have a separate BlueZ 5 API introduction and porting guide for developers, but here are a few of the more high level changes since the BlueZ 4.x series:
- Move to standard D-Bus ObjectManager & Properties interface
- Remove Manager interface as the same functionality comes through ObjectManager
- Remove support for audio UNIX socket interface (the Media D-Bus interface replaces it)
- SBC library moved into its own project
- GStreamer elements removed after submitting them to the upstream GStreamer project
- Removal of the Service interface and introduction of a new (libbluetooth independent) Profile interface
- New bluetoothctl command line too for interacting with BlueZ
- New btmon monitoring tool
- Remove internal support for telephony (HFP and HSP) profiles. They should be implemented using the new Profile interface preferably by the telephony subsystem of choice (e.g. oFono which already supports this)
- General connection establishment procedure and vastly simplified D-Bus API for it
- The adapter power state is not stored persistently and remembered over bluetoothd restarts. An external entity (like ConnMan) is expected to handle this.
- libbluetooth not installed by default as it’s not really useful or recommended anymore. The new Profile interface further decreases its usefulness.
- INI-style format for all storage file. Old files from BlueZ 4 are auto-converted.
- Merge obex-client into the main obexd daemon
- D-Bus interface versions with the intent to always keep support at least for the two latest versions.
- New Low Energy profiles:
- Cycling Speed
- Scan Parameters
- HID over GATT (HoG)
This release fixes an issue maximum packet size for AMP controllers and adds support for the new BTSnoop data link type.