Qt 5.4 introduces many new features and improvements as well as bugfixes
over the 5.3.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.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-project.org/

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

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

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

 - Position:
   * [QTBUG-39547] Added magneticVariation and magneticVariationValid
     property to the QML Position type.

 - General:
   * Weatherinfo end Flickr example improved.

 - QGeoCircle:
   * [QTBUG-41447] Fixed contains() when rounding errors occur

 - QGeoCoordinate:
   * [QTBUG-41739] Fixed toString() output in cases when rounding
     of longitude/latitude is necessary.

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

Android
-------

 - [QTBUG-41873] Fixed wrong initialization of QGeoPositionInfoSource::error()
   after class instantiation.

iOS
---

 - [QTBUG-41827] Fixed position retrieval on iOS 8. This was required due
   to the new authorization scheme in CLLocationManager.

