Qt 5.9 introduces many new features and improvements as well as bugfixes
over the 5.8.x series. 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.9 series is binary compatible with the 5.8.x series.
Applications compiled for 5.8 will continue to run with 5.9.

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.

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

 - [QTBUG-59559] Fixed bundling of module resources for static builds.

 - [QTBUG-60150] The WebView will now receive the active focus when
                 forceActiveFocus is called.

 - [QTBUG-57284] Fixed QtWebEngine dependency for the qml plugin.

****************************************************************************
*                         Platform-specific Changes                        *
****************************************************************************

WinRT
-----

- [QTBUG-57288] Removed support for WinRT 8.1 and Windows Phone 8.1.

macOS & iOS
-----------

 - Removed WebView and UIWebView backends. Minimum deployment target is
   now macOS 10.10 and iOS 8.0, so the WKWebView backend is used for both
   platforms.
