Qt 5.12.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.12.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.12 series is binary compatible with the 5.11.x series.
Applications compiled for 5.11 will continue to run with 5.12.

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.

****************************************************************************
*                                   qdoc                                   *
****************************************************************************

 - [QTBUG-69484] Fixed link resolution for types under namespaces.
 - [QTBUG-70801] Added linking of buildversion field to
   navigation.landingpage.
 - [QTBUG-72357] Fixed regression in including inherited members in
   all-members list.
 - [QTBUG-72723] Don't include overridden functions in all-members list
   anymore.
 - [QTBUG-71792] Section headers in C++ reference pages for sections
   without content are now skipped.

****************************************************************************
*                               Qt Assistant                               *
****************************************************************************

 - [QTBUG-72174] Fixed an issue with opening a read-only qhc file.

****************************************************************************
*                                 Qt Help                                  *
****************************************************************************

 - Re-added the qcollectiongenerator tool, which was removed in Qt 5.12.0
   release. It redirects to the qhelpgenerator tool now.

****************************************************************************
*                               windeployqt                                *
****************************************************************************

 - Added deployment of Qt Virtual Keyboard plugins.
 - Added support for packaging arm64 desktop apps.

****************************************************************************
*                               winrtrunner                                *
****************************************************************************

 - winrtrunner now forwards the QT_LOGGING_RULES environment variable to
   the actual application.
