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

For more details, refer to the online documentation included in this
distribution. The documentation is also available online:

  http://doc.qt.io/qt-5.4

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

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

 - [QTBUG-43757] Enabled Pairing request ability on Android v15-18. Previously
   this only worked on v 19 or later.
 - [QTBUG-44164] Fixed leaking of local references in QBluetoothSocket on Android.
 - Fixed memory leak in QBluetoothLocalDevice on Bluez 4.x platforms.
 - Fixed SDP scanning on Bluez 5.x platforms.
 - [QTBUG-44452] Fixed QBluetoothServer error code when encountering EADDRINUSE
   on Bluez 4.x and 5.x platforms.
 - Improved QBluetoothServiceInfo documentation.
 - [QTBUG-44792] Fixed QBluetoothSocket error handling on Android when calling
   BluetoothDevice.getServiceChannel()
 - [QTBUG-44915] Fixed handling of GATT server requests on Bluez platforms.
   GATT Server requests are answered with "Request no supported" as required by the Bluetooth specification.
 - [QTBUG-45066] Fixed crash in QBluetoothLocalDevice ctor on some Android devices
   due to a platform exception in BluetoothAdapter.getDefaultAdapter().
 - [QTBUG-44930] Fixed crash in QBluetoothServiceDiscoveryAgent on Bluez 5.x platforms
   when using single device discovery. Single device discovery is used during
   QBluetoothSocket::connectToService().
 - [QTBUG-44930] Fixed crash when closing QBluetoothSocket during a pending
   connection attempt on Android.
 - Forced QBluetoothSocket to close when its dtor is called on Android.
 - Removed assertion if encryption change is received which was not requested
   by the current QLowEnergyController instance on Bluez platforms.
 - Fixed crash due to dangling pointer during closure of QBluetoothSocket on Android.

