Qt 5.15 introduces many new features and improvements as well as bugfixes
over the 5.14.x series. For more details, refer to the online documentation
included in this distribution. The documentation is also available online:

https://doc.qt.io/qt-5/index.html

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

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.

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

 - XdgShellV5 and XdgShellV6 are now deprecated: use XdgShell instead.
 - Fixed QML bindings for some properties

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

 - Added Vulkan support.
 - Added QNX support.
 - The QPA plugin now supports running with no screens attached. This is
   handled by adding a fake screen when the last screen is disconnected,
   similarly to what the other QPA plugins do.
 - Added support for drawing tablets through the tablet-unstable-v2
   protocol.
 - xdg-output-unstable-v1 version 3 is now supported.
 - Windows with Qt::FramelessWindowHint no longer create
   zxdg_toplevel_decoration_v1, as that allowed compositors to force
   server-side decorations.
 - The QPA plugin will now use the same platform themes as the xcb plugin.
 - Fixed a bug in font gamma correction making text appear too dark.

****************************************************************************
*                             qtwaylandscanner                             *
****************************************************************************

 - There is now a comment on top of the generated file, explaining what xml
   file is being represented.
