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

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

  http://qt-project.org/doc/qt-5.2

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

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

  http://bugreports.qt-project.org/

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

****************************************************************************
*                           General                                        *
****************************************************************************

General Improvements
--------------------

 - [QTBUG-34910] Fixed too long weather status string in weatherinfo
   example (UI change).
 - [QTBUG-36187] Byte order marker removed from positionpoll plugin
   which caused compile errors on some older compilers.
 - Fixed make install rules for all examples.
 - declarative_core unit test was fixed and re-enabled.

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

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

 - [QTBUG-33220] Removed QtQml dependency from QtPositioning.

****************************************************************************
*                       Plugin Specific Changes                            *
****************************************************************************

GeoClue
-------

  - Delay satellite provider until requested.
  - Sets the default preferred positioning method to AllPositioningMethods.
  - Fix for incorrect accuracy values reported by the plug-in.

