Qt 5.7.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.7.0.

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.7 series is binary compatible with the 5.6.x series.
Applications compiled for 5.6 will continue to run with 5.7.

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
-----------
 - Improved heartlistener example when handling BTLE notifications.
 - Improved the documentation for QBluetoothDeviceInfo::minorDeviceClass().
 - [QTBUG-55073] Improved handling of calls to QBluetoothSocket::connectToService()
   while an UnknownProtocol identifier was set as socket type.
 - [QTBUG-56294] Fixed misleading error messages in QBLuetoothSocket Dummy
   implementation.

QtNfc
-----

 - [QTBUG-53616] Fixed NFC poster example and improved its documentation

****************************************************************************
*                      Platform Specific Changes                           *
****************************************************************************

Android
-------

 - Fixed a problem which triggered BTLE searches on Android devices
   without BTLE support.
 - Added workaround for clang default destructor export bug.
 - Ensured that JNI_OnLoad is not called more than once. THis is a workaround forward
   https://code.google.com/p/android/issues/detail?id=215069.
 - Fixed QtBluetooth working when using Android services.
 - Fixed QtNfc handling when using Android services.
 - Fixed Nfc corkboard example due to incomplete Manifest file.
 - Fixed a problem where device discovery did not detect a devices major
   and minor device class identifier.
 - Fixed newDevice signal spamming in QBluetoothDeviceDiscoveryAgent.
   This happened when SDP and BTLE scan revealed the same device with
   different names.

iOS/macOS
---------

 - Fixed potential linker error on iOS.
 - Added some minor code cleanups.
 - Added support for iOS 10 and macOS 10.12 SDKs.

Linux/Bluez
-----------

 - [QTBUG-51307] Fixed internal state problem in QBluetoothDeviceDiscoveryAgent
   and QML BluetoothModel type.
 - [QTBUG-53041] Fixed SDP scans on devices which do not support PUBLIC_BROWSE_GROUP
   scans.
 - [QTBUG-53715] Fixed premature device discovery abortion when triggering
   start() - stop() - start() in quick order.
 - [QTBUG-53683] Fixed build on Linux using clang/trunk
 - [QTBUG-54055] Fixed build of QtBluetooth with BlueZ version which does not support
   BTLE.
 - [QTBUG-54475] Improved failure handling in QBluetoothSocket when ::write() fails.
 - [QTBUG-54475] Highlighted incomplete handling of BTLE packet writes.
