Qt 5.6.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.6.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.6/

The Qt version 5.6 series is binary compatible with the 5.5.x series.
Applications compiled for 5.5 will continue to run with 5.6.

Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:

  http://bugreports.qt.io/

Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.

****************************************************************************
*                           Library                                        *
****************************************************************************

QtBluetooth
-----------

 - Fixed various documentation issues.
 - Improved QBluetoothServiceInfo QDebug operator.

QtNfc
-----

 - [QTBUG-51860] Fixed crash related to incorrect QML import statement

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

Android
-------

 - [QTBUG-52530] Added ACCESS_COURSE_LOCATION permission to QtBluetooth.
   Android 6.0+ requires this type of permission for device discovery.
 - [QTBUG-52154] Fixed Annotated URL example on Android. This Qt Nfc example
   was not working due to missing Ndef message handler registration. The registration
   is still not implemented but the example does not require it to properly work.

iOS/OS X
--------

 - [QTBUG-52324] Fixed details discovery of included/secondary BTLE services
   on iOS and OS X

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

 - [QTBUG-47593] Improved QBluetoothSocket's service discovery on Bluez 5. This
   happened if the targeted serial service did not advertise a custom uuid and a minimal
   service discovery was used to identify the serial port service. In such cases
   QBluetoothSocket never found the remote service.
