Qt 5.7 introduces many new features and improvements as well as bugfixes
over the 5.6.x series. Also, there is a change in the licensing terms.
For more details, refer to the online documentation included in this
distribution. The documentation is also available online:

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

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

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.

****************************************************************************
*                          Important License Changes                       *
****************************************************************************

  This module is no longer available under LGPLv2.1. The libraries are
  now available under the following licenses:
    * Commercial License
    * GNU General Public License v2.0 (LICENSE.GPL2) and later
    * GNU Lesser General Public License v3.0 (LICENSE.LGPL3)

  The tools are now available under the following licenses:
    * Commercial License
    * GNU General Public License 3.0 (LICENSE.GPL3) with exceptions
      described in The Qt Company GPL Exception 1.0 (LICENSE.GPL3-EXCEPT)

****************************************************************************
*                                 General                                  *
****************************************************************************
 - This release contains only minor improvements.
