Qt 5.9 introduces many new features and improvements as well as bugfixes over the 5.8.x series. For more details, refer to the online documentation included in this distribution. The documentation is also available online: http://doc.qt.io/qt-5/index.html The Qt version 5.9 series is binary compatible with the 5.8.x series. Applications compiled for 5.8 will continue to run with 5.9. Some of the changes listed in this file include issue tracking numbers corresponding to tasks in the Qt Bug Tracker: https://bugreports.qt.io/ Each of these identifiers can be entered in the bug tracker to obtain more information about a particular change. **************************************************************************** * Library * **************************************************************************** QtBluetooth ----------- - Added various improvements to the existing Bluetooth examples. - Added various documentation improvements. - Added new heartrate-game example replacing the old heartlistener example. QtNfc ----- - Introduced QNearFieldTarget::maxCommandLength() to make it possible to check the maximum supported length for commands. - Introduced QNearFieldTarget::(set)keepConnection() permitting control over the connection behavior. If this flag is set the NFC device does not disconnect automatically after reading an NFC message. QNearFieldTarget::disconnect() was added to permit manual separation of the connection. This feature is currently only implemented on Android. **************************************************************************** * Platform Specific Changes * **************************************************************************** Android ------- - Added support for QNearFieldTarget::sendCommand(). - Fixed crash due to references leak in QBluetoothDeviceDiscoveryAgent on Android. - Added more detailed GATT error reporting. - [QTBUG-58085] Fixed unnecessarily dangerous right request for ACCESS_COURSE_LOCATION during BTLE scanning on Android platforms below version 23. - Prevented nil exception if reading of a descriptor failed during discovery. - [QTBUG-58056] Fixed not reported characteristic if system failed to read its value during the service discovery. - [QTBUG-53483] Added support for BTLE peripheral on Android. - [QTBUG-56078] Improved likelyhood that BluetoothGatt.connectGatt() succeeds. This addresses the GATT_ERROR 133 (0x85) problem on Android v23+ devices. There is no fix available on older Android versions. - [QTBUG-57646] Fixed problems when using QtNfc when running as a service. - [QTBUG-59343] Fixed crash on restart of NFC applications. - [QTBUG-59455] Fixed detection of all NFC tags even non-NDEF tags. - [QTBUG-59917] Added workaround for BLUETOOTH_PRIVILEGED security exception when attempting to read a BTLE HID service. iOS/macOS --------- - Fixed missing behavior whereby QLowEnergyController::disconnectFromDevice() did not stop advertisement. - [QTBUG-58080] Changed priority of advertised BTLE device name. Qt prefers the device name as set by the advertisement data over the GAP name. Linux/BlueZ ----------- - [QTBUG-52692] Prevented stalling of Linux central BTLE implementation. - Fixed continued advertisement of peripheral data once QLowEnergyController::disconnectFromDevice() was called. Public documentation was added to publically state the behavior. - [QTBUG-57417] Fixed duplicated QBluetoothLocalAdapter:deviceConnected() and deviceDisconnected() signal emissions if the local device has several Bluetooth adapter. - [QTBUG-59392] Ensured that pairing passkey and pincode are truly random. - [QTBUG-59754] Ensured that QLowEnergyController::connected() is emitted on peripheral. Previously the signal was never emitted. WinRT ----- - [QTBUG-37779] Added support for Classic Bluetooth on WinRT.