Qt 5.3 introduces many new features and improvements as well as bugfixes
over the 5.2.x series. 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.3

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

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

 - New SatelliteInfo example added. The example displays the signal
   strength of surrounding satellites. The example employs a demo mode on
   those platforms which don't provide satellite information


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

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

 - Position (QML):
   * Added direction and vertical speed properties.

 - QGeoPositionInfoSource:
   * iOS position backend added.
   * [QTBUG-34102] Android backend added. Android devices can retrieve
     their current position. Network- and Satellite-based providers are
     supported.

 - QGeoSatelliteInfoSource:
   * [QTBUG-34102] Android backend added. Android devices can retrieve
     information about the currently accessible GPS and GLONASS satellites.

 - QGeoRectangle:
   * Added QGeoRectangle(QList<QGeoCoordinate>) constructor added.
   * Improved class documentation.

 - QGeoShape:
   * Added extendShape(QGeoCoordinate) function.

 - QNmeaPositionInfoSource:
   * Added support for reporting position accuracy.


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

GeoClue
-------
 - [QTBUG-36298] Reports direction of travel and
   vertical speed attributes, if supported by the active Geoclue
   provider.
 - Fixed the emission of the updateTimeout() signal when
   position updates do not arrive in a timely manner.
 - Position info source provider no longer internally filters
   position updates to the requested update interval.

