Qt 5.11.2 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.11.0 through 5.11.1.

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.11 series is binary compatible with the 5.10.x series.
Applications compiled for 5.10 will continue to run with 5.11.

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.

****************************************************************************
*                              Qt 5.11.2 Changes                           *
****************************************************************************

 - Added support for building QtWayland on macOS.

****************************************************************************
*                                Compositor                                *
****************************************************************************

 - [QTBUG-70126] Fixed a bug where ShellSurfaceItems for XdgToplevelV6s
   wouldn't stop resizing.
 - Close requests for clients using xdg-shell unstable v5 are now handled.
 - [QTBUG-69643] Fixed a bug where subsurfaces would not be rendered if clients
   added them before a WaylandQuickItem was created for the parent surface.

****************************************************************************
*                                QPA plugin                                *
****************************************************************************

 - Fixed the window decorations sometimes not updating on some compositors.
 - Fixed a bug where a window that was hidden and then shown on different
   screen would still think it was on the first screen.
 - Fixed a bug where a buffer was committed multiple times.
 - Fixed a memory leak when destroying toplevel windows on xdg-shell unstable
   v6.
