Qt 5.6 introduces many new features and improvements along with bug fixes
over the 5.5.x series. For more details, refer to the documentation
included in this distribution. The documentation is also available online:

  http://doc.qt.io/qt-5

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

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.

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

 - Fixed several instances of missing, incorrect or obsolete information.
 - Updated documentation on supported platforms.
 - Improved documentation on Windows/Dynamically Loading Graphics Drivers.
 - Updated HiDPI documentation.
 - Improved embedded Linux documentation.
 - Added documentation and links for new modules in Qt 5.6.
 - Moved Qt Location and Qt WebView from technology preview modules to Qt
   add-on modules.
 - Added Qt Labs Controls, Qt Serial Bus, and Qt Wayland Compositor as
   technology preview modules.
 - Replaced references to Qt WebKit with Qt WebEngine where applicable,
   and removed Qt WebKit documentation.
 - Deprecated Qt Enginio documentation.
 - Added automatically generated list of examples from all Qt modules.
 - Updated license documentation for 3rd party libraries used in the new
   Qt modules.
