Qt 5.6.2 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/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                                        *
****************************************************************************

QtLocation
----------

  - Fixed autotests containing bugs not showing in the tests
  - [QTBUG-31797][QTBUG-53455] Fixed the QtLocation autotest framework by
    replacing waitForRendering() with waitForPolished()
  - Disabled explicit example installation
  - [QTBUG-52514] Fixed QML Map not working with repeaters
  - [QTBUG-53128] Fixed QML Map items not updating on window resize
  - [QTBUG-52075] Fixed QML Map items losing focus during fast dragging
  - [QTBUG-52301] Prevented flickering upon MapItemView's model reset
  - [QTBUG-54141] Fixed QML Map setVisibleRegion failing in some cases
  - Fixed a potential memory leak in QGeoTiledMappingManagerEngine
  - [QTBUG-19929] Prevented generating MapCircles with invalid radius
  - [QTBUG-54599] Added support for fetching OSM provider information from
    a remote repository
  - [QTBUG-54337] Fixed bounding calculation for QGeoCircle
  - Added a minimal QML Map usage example
  - Added support for dynamically remove unavailable providers from the OSM
    plugin
  - [QTBUG-55081] Fixed accessing MapPolyline before it is added to a Map
  - [QTBUG-54964] Fixed invisible copyright notice on Android using Holo theme
  - Improved macOS documentation
  - Fixed the geocoding in the MapViewer example
  - [QTBUG-55371] Fixed OSM plugin geocoding feature

QtPositioning
-------------

  - [QTBUG-54026] Reduced Android minimum update interval
  - Improved Android 5.0+ compatibility

