release of the cross-platform framework The source texts of Qt components are provided under LGPLv3 and GPLv2 licenses. A new branch, Qt 6, will be released in December, which is to have significant architectural changes. To smooth the transition to the Qt 6 branch, Qt 5.15 includes preliminary implementations of some innovations and adds warnings about the upcoming removal of features planned for removal in Qt 6.
Qt 5.15 is classified as a long-term support (LTS) release. However, updates for the 5.15 branch only until the next significant release is formed, approximately six months. The extended LTS cycle, which allows updates for three years, will be limited to users with a commercial license (for regular companies — $5508 per year per developer, and for startups and small enterprises — $499 per year). The Qt Company has also the possibility of transitioning to a Qt distribution model where all releases in the first 12 months will be available only to commercial license users. But so far, this idea has not progressed beyond discussion.
Key :
- Continued work on creating an abstract graphical API independent of the OS's 3D API. A key component of the new Qt graphics stack is the scene rendering engine, which uses the RHI (Rendering Hardware Interface) layer to enable Qt Quick applications to work not only with OpenGL but also on top of Vulkan, Metal, and Direct 3D APIs. In 5.15, the new graphics stack is offered as an option with the status of 'Technology Preview'.
- Full support for the Qt Quick 3D module has been provided. , from which the experimental development label has been removed. Qt Quick 3D provides a unified API for creating user interfaces based on Qt Quick that combine 2D and 3D graphics elements. The new API allows the use of QML to define 3D user interface elements without engaging the UIP format. In Qt Quick 3D, a single runtime (Qt Quick), one scene layout, and one animation framework can be utilized for both 2D and 3D, while Qt Design Studio is used for visual interface development. The module addresses issues such as high overhead when integrating QML with content from Qt 3D or 3D Studio, and provides the ability to synchronize animation and transformations at the frame level between 2D and 3D.
Among the new features added to Qt Quick 3D are support for post-processing effects, a C++ API for managing geometry, an API for rotation based on the QQuaternion class, and support for point light sources. To evaluate various capabilities of Qt Quick 3D, a special demo application showcases how to modify lighting types and sources, use complex models, and manipulate textures, materials, and smoothing. Simultaneously, release for user interface design, Qt Design Studio 1.5 has been implemented, which fully supports Qt Quick 3D.

- In Qt QML, work has been on preparation for Qt 6. The possibility of using properties with the 'required' tag in components has been implemented, making their setup mandatory. The qmllint utility has been improved to better generate warnings about potential issues in QML code. The qmlformat utility has been added to simplify formatting QML code according to coding style guidelines. QML compatibility with the Qt version for .
- In Qt Quick, support for color spaces has been added to the Image element. A new PathText element has been added to Qt Quick Shapes.
The cursorShape property has been added to the pointer handler, allowing the mouse cursor shape to be changed on desktop systems. A HeaderView element has been added to simplify the addition of vertical and horizontal headers in tables based on TableView. - Significantly improved client-side window decoration support (CSD), allowing the application to define its own window decoration elements and place arbitrary content in the window title.
- Module stabilized , providing an extended API for QML that allows rendering graphics and animations exported in JSON format using the Bodymovin plugin for Adobe After Effects. With QtLottie, designers can prepare animation effects in their preferred applications, while developers can directly link the exported files to the interfaces of applications on QtQuick. QtLottie includes a built-in micro engine for executing animations, trimming, layer processing, and other effects. The engine is accessible via the QML LottieAnimation element, which can be controlled from QML code similarly to any other QtQuick elements.
- The Qt WebEngine browser engine has been updated to the code base (version 5.14 used Chromium 77, the current version is ).
- The Qt 3D module has enhanced profiling and debugging tools.
- Qt Multimedia now supports rendering to multiple surfaces.
- In Qt GUI, scaling and image transformation operations are now performed in multithreaded mode in many cases.
- Qt Network now supports configurable timeouts and in TLS 1.3 (Session Ticket, allowing session resumption without maintaining state on the server side).
- Qt Core, QRunnable, and QThreadPool can now work with std::function. A new method QFile::moveToTrash() has been added for moving items to the trash, taking into account the specifics of different platforms.
- In Qt for Android native dialogs for opening and saving files have been supported.
Source: opennet.ru

