Qt 5.6 introduces new features and improvements as well as bugfixes
over the 5.5.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.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:

  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
-----------

 - [QTBUG-46377] Added QBluetoothSocket::(set)preferredSecurityFlag().
 - Q_DECLARE_METATYPE declarations added for various Q_ENUMS
 - Fixed crash in btscanner example
 - Added several documentation fixes
 - Fixed wrong emission of CharacteristicWriteError where CharacteristicReadError
   should have been emitted
 - Fixed wrong emission of DescriptorWriteError where DescriptorReadError
   should have been emitted
 - Fixed wrong endianness handling in heartlistener example

QtNfc
-----

 - API has been ported to Android
 - Significantly improved implementation and documentation of QML NdefFilter
   API
 - Added general documentation improvements
 - Fixed memory leak due to missing QQmlNdefRecord destructor

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

Android
-------

 - Increased robustness of Bluetooth Low Energy Service detail discovery
 - [QTBUG-49367] Fixed missing jar file creation due to wrong build dependencies
 - [QTBUG-50125] Fixed missing invalidation of QLowEnergyService details on
    disconnect from device
 - [QTBUG-50345] Fixed QBluetoothSocket::bytesAvailable()

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

 - [MER#1231] Enforce proper checking of error codes during device discovery
   when using Bluez 4.x
 - [MER#1225] Adjusted QBluetoothSocket::peerName() to comply with Jolla security
   restrictions
 - [MER1230] Enforced pairing of StartDiscovery() and StopDiscovery() during device
   discovery on Bluez 4
 - Fixed memory leak in Bluez 4 code path of QBluetoothServiceDiscoveryAgent
 - [QTBUG-48481] Fixed crash during device discovery due to null pointer access on
   Bluez 5
 - [QTBUG-49650] Forcing usage of unbuffered L2CAP sockets for GATT protocol
 - [QTBUG-49402] Sanitized handling of app names when registering internal agents
   The app name is used to name the dbus path and not every permissible app name
   character is a permissible dbus path character
 - Removed assert in QLowEnergyController which could be caused by malicious device

QNX/BlackBerry
--------------

 - Removed support for this platform from QtNfc
 - Removed support for this platform from QtBluetooth

iOS
---

 - [QTBUG-48518] Fixed compile and crash bugs when using iOS 9.x
 - [QTBUG-48713] Enabled support for Bluetooth system alert dialog
 - Fixed threading related timer issues
 - [QTBUG-49476] Moved Low Energy code base to non-main dispatch queue
 - [QTBUG-50125] Fixed missing invalidation of QLowEnergyService details on
   disconnect from device
