Qt Core Module

Added Q_ENUM to replace Q_ENUMS, which allows to get a QMetaEnum at compile time using QMetaEnum::fromType<T>. Such enums are now automatically registered as metatypes, and can be converted to strings within QVariant, or printed as string by qDebug().

Qt GUI Module

All Windows packages are now built with -opengl dynamic. No OpenGL-only or ANGLE-only builds are provided anymore.

On Windows, the OpenGL implementation to use can now be configured based on the GPU vendor and driver versions using JSON configuration files. This allows shipping fine-grained card and driver blacklists with the applications when necessary.

The QML MediaPlayer is now rendered in an OpenGL texture on iOS. This means VideoOutput supports advanced transformation and shader effects, and doesn't have to be always on top of other items anymore.

Qt Platform Abstraction (QPA)

On supported desktops, the xcb plugin now uses the D-Bus based org.kde.StatusNotifier protocol for system tray icons, and org.freedesktop.Notifications for notifications.

Added a KMS/DRM backend for EGLFS. This replaces the now deprecated KMS platform plugin. It allows running applications with eglfs on the console on systems with Mesa and devices that come with DRM support.

Added a plugin-based backend mechanism for EGLFS, in addition to the existing, statically compiled-in solution. Most compiled-in hooks are converted to be dynamically loaded plugins that are built based on configure time tests. This reduces the reliance on the device makespecs for Raspberry Pi, i.MX6 and Mali-based devices.

Input handling is now unified for EGLFS and LinuxFB, avoiding the need to launch and configure LinuxFB-based applications differently compared when using EGLFS.

tslib is now better integrated with EGLFS and LinuxFB to provide support for resistive single-touch touchscreens often used in industrial environments.

xcb is refactored to move GLX and EGL support into plugins.

Added a TUIO Touch plugin for receiving remote touch events via UDP.

Added a libinput plugin.

iOS: Added support into QFileDialog for browsing system photos using a native image picker dialog. Selected photos can be loaded using QFile.

Qt QML Module

Added a possibility to conveniently expose custom C++ value types into the JavaScript environment of QML and QJSEngine.