Qt 5.4.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.4.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.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                                         *
****************************************************************************


Qt Quick
--------

 - [QTBUG-42148] Fixed uncommon artifacts in rendering of distance field
   glyphs.
 - [QTBUG-43063] Setting item as its own parent should error out instead of
   hanging.
 - [QTBUG-43104] Add retina support in AnimatedImage.
 - [QTBUG-42677] Add input method support to QQuickWidget.
 - [QTBUG-42050] Fix Text alignment when lineHeight is set.

QtQml
-----

 - [QTBUG-42831] Fix inspecting objects in QML/JS console in different
   frames.
 - Fixed invalidly opportunistic truncating of non-integer values for
   additions/subtractions/multiplications in JavaScript and binding
   expressions.
 - [QTBUG-38011] Fix JavaScript Date parsing to correctly accept RC2822
   dates.

 - Windows:
   * [QTBUG-43171] V4 JIT was re-enabled after it was disabled by mistake
     in 5.4.0.

