On this page

What's New in Qt 6.11

New Modules in Qt 6.11

Qt 6.11 adds the following modules:

  • Qt Canvas Painter - Accelerated 2D painting solution for Qt Quick and QRhi-based render targets.
  • Qt OpenAPI - An extension of the upstream Open API generator that generates Qt HTTP clients, typically used for RESTful APIs.
  • Qt TaskTree - Provides a declarative way to compose and execute asynchronous task workflows.

The new modules are in Technical Preview, excluding their API from Qt's compatibility promises.

New Features in Qt 6.11

Qt CoAP Module

Qt Core Module

  • QDate is now weakly incrementable, i.e. implements pre- and post-fix increment (and decrement) operators, and can be used in a C++20 std::views::iota.
  • QJniObject APIs can now be called with std::expected (or an equivalent type) as the return type, in which case Java exceptions are not consumed by the framework and instead passed back to the caller as the unexpected result.
  • QRangeModel::ItemAccess provides a customization point for accessing role data of a multi-role item type.
  • QRangeModel can now be used with C++ ranges that don't provide a constant std::begin/end implementation, such as C++20 std::views::filter.
  • With ranges that use the same QObject subclass for multi-role items, the new QRangeModel::autoConnectPolicy can be set to Full or OnRead to connect the changed-signals of all exposed properties of QObject items to the corresponding dataChanged() signal emission.
  • QRangeModelAdapter provides a typical C++ container API to the range a QRangeModel operates on, ensuring that relevant QAbstractItemModel signals are emitted on changes, without user code having to work with QModelIndex. This new class is under technology preview.

Qt DBus Module

Qt Graphs Module

Qt GRPC Module

Qt GUI Module

  • Accessibility events of the new QAccessible::RoleChange type get emitted by the docking window framework when dock widgets change between docked and floating.
  • The new accessibility role Switch is used by the Switch type in Qt Quick Controls.
  • The new accessible attribute Orientation is used by sliders and similar controls to report their orientation to accessibility clients.
  • QRawFont got an API to get the glyphCount() and to look up the glyphName() for a glyph index of the font.
  • QTextCharFormat got new APIs to set font features and variable axes.

Qt HttpServer Module

Qt Lottie Animation

  • Added support for path fill rules.
  • Added CMAKE command qt_target_qml_from_lottie() for converting from Lottie to QML at build time.
  • lottietoqml and VectorImage backend are no longer tech preview.
  • VectorImage: Added support for animating shapes along paths.
  • VectorImage: Added support for morphing animations (interpolating between two shapes.)
  • VectorImage: Added support for matte layers.

Qt Multimedia Module

  • Added callback-based overloads for the start methods of QAudioSource and QAudioSink to allow real-time audio processing.

Qt Network Module

Qt Protobuf Module

Qt Qml Module

  • Added workspace support in QML Language Server.
  • Added go to C++ definition support in QML Language Server.
  • Added support to silence context property warnings via a .contextProperties.ini configuration file for qmllint.
  • Introduced override and virtual keywords which, together with the existing final keyword and tooling support, help prevent accidental property shadowing and allow explicit property overriding in QML. See Property Shadowing and Override Semantics for details.
  • Gave the easingCurve value type a name and transformed the Easing namespace into a singleton.
  • Added APIs to QQmlContext to get the list of child contexts and to find an object by id.

Qt Quick Module

  • Added CMAKE command qt_target_qml_from_svg() for converting from SVG to QML at build time.

Qt Quick Controls Module

Qt Quick Dialogs Module

Qt Quick Effects Module

Qt Quick 3D Module

  • Added QML API for user-defined render passes, enabling custom rendering pipelines directly in QML without C++ knowledge
  • Added ssrEnabled property in ExtendedSceneEnvironment to enable screen-space reflections (SSR)
  • Added screen-space global illumination (SSGI) effect to ExtendedSceneEnvironment, providing ambient occlusion and real-time indirect lighting
  • Added per-object motion vector generation for Temporal AA and motion blur effects
  • Added layering support to allow grouping nodes and controlling which layers the camera renders
  • Added linked list order-independent transparency (OIT) rendering method
  • Added NORMAL_ROUGHNESS_TEXTURE support in post-processing effects and custom materials
  • Added blue noise sampling to PCF soft shadows for improved quality with less visible noise patterns
  • Added proper handling of pre-multiplied alpha for Qt Quick content in textures
  • Added VIEW_MATRIX and PROJECTION_MATRIX exposure to post-processing effects
  • Added pickInRect() method in QQuick3DViewport for rectangle-based object selection
  • Added closestPointPick() method in View3D to find the closest point on a surface to a given point
  • Added rayPick() overload that accepts a specific model parameter
  • Added scene shape for particle emitters that dynamically calculates shapes based on scene geometry
  • Added QQuick3DTextureProviderExtension API for simplified custom texture provider creation
  • Added scheduleRenderResults() function in QSSGFrameData to request specific render pass results
  • Updated Assimp to v6.0.2

Qt Quick 3D XR Module

  • Added OpenGL desktop Linux support (Monado, Xlib, Wayland platforms)
  • Extended processTouch() to deliver touch events to any pickable Model, not just XrItem
  • Enhanced touchpointState() to return surface position and normal vector information for 3D touch interactions
  • Added Popup and Menu support in XrItem through dedicated QQuickOverlay
  • Updated OpenXR to v1.1.49

Qt Quick 3D Physics Module

Qt Quick VectorImage Module

  • Added support for SVG masks.
  • Added support for SVG post-processing filters to match the support in Qt SVG: feGaussianBlur, feColorMatrix, feOffset, feFlood, feBlend, feComposite and feMerge.
  • Added support for animating shapes along paths.
  • Added support for the SVG <symbol> tag.

Qt Serial Port Module

Qt Serial Bus Module

Qt Sql Module

Qt SVG Module

Qt Test Module

Qt VirtualKeyboard Module

Qt WebEngine Module

Qt WebView Module

Qt Widgets Module

Qt XML Module

Qt Mqtt Module

Tools

QDoc Documentation Generator

  • Added comprehensive support for QML singleton types, including a new \qmlsingletontype command, automatic detection of the QML_SINGLETON macro, and recognition of pragma singleton in QML files.
  • QDoc now has full support for QML module aliases (import ... as ... syntax), including linking, syntax highlighting for qualified identifiers, and correct markup for property notation such as anchors.fill and attached properties such as Component.onCompleted.
  • You can use the new \toc/\endtoc and \tocentry command for specifying hierarchical table of contents structures in documentation source files. QDoc generates <project>_toc.xml files for navigation sidebars.
  • The \overload command now takes an optional argument. Use the \overload primary syntax to designate the primary function in an overload set.
  • QDoc now generates contextual connection examples for overloaded signals and slots.
  • The includeprivate configuration variable enables documentation of private C++ members. Pure virtual functions are now unconditionally documented.
  • The logwarnings configuration variable makes QDoc write all warnings to a <project>-qdoc-warnings.log file.
  • QDoc warnings now include the project name prefix for multi-module builds.
  • Configuration Improvements:
    • imagesoutputdir: Custom output subdirectory for images to solve file name clashes in multi-module builds.
    • internalfilepatterns: Automatically marks classes as internal based on file/path name patterns, such as *_p.h.
  • Formatting commands now work in \title arguments, \generatelist works correctly in Qt help project TOC structures, and custom enumerator prefixes are supported in \qmlenum.
  • The HTML structure for QML and C++ member documentation is unified. This change introduces new CSS classes (qml-member, qml-property, qml-method, qml-property-group) in QDoc's HTML output.
  • Code Parsing: Improved scoped enum resolution, QML inheritance handling with cycle detection, and correct preservation of declared types and variable information in index files.
  • Added LLVM/Clang 21 compatibility, with minimum supported version updated to 17.0.6.
  • The \tableofcontents command is officially deprecated.

Qt Linguist

  • Added labels as a way to categorize ID-based translations into meaningful groups without affecting the runtime behavior. See the Text ID based translations documentation and the blog post for more details.
  • C++: Added the qTrId() function for ID-based retrieving ID-based translations. The behavior is the same as the qtTrId() function, but with a more canonical name.
  • Added new i18n examples to the documentation.
  • Added AI translation for Qt Linguist for automatic translations using LLMs. See the AI translation documentation and the blog post for more details.
  • Added ltext2id executable for migrating projects from text-based translation to ID-based translation. See Using ltext2id for more details
  • Added lcheck executable for performing batch validation on TS files. See Using lcheck for more details.
  • Added support for C++ attributes in lupdate parser
  • Deprecated use of //= metastrings in lupdate parser.
  • Deprecated lupdate -pro option for processing .pro files directly. Use lupdate-pro instead.
  • Removed lprodump executable. Its functionality is now available via the lupdate-pro -dump-json option.

Platform Changes

Build System Changes

  • Added a -generate-vcpkg-manifest configure option. This generates a vcpkg.json file in the build directory. To just generate the manifest without configuring Qt, run configure with -generate-vcpkg-manifest -dry-run.
  • When configuring with -vcpkg, generate a vcpkg manifest file in the build directory, and set VCPKG_MANIFEST_DIR to the build directory to use that manifest file. You can turn off the manifest generation with -no-generate-vcpkg-manifest. You can turn off setting the manifest directory by passing – -UVCPKG_MANIFEST_DIR to configure.

Desktop Platforms

Windows

Linux

macOS

  • Sandboxed applications can now access files outside of the application sandbox (so called security scoped resources) for both reading and writing. Files or folders chosen by the user via file dialogs or similar native mechanism are automatically and transparently handled, including persistent access across application and device restarts.
  • Added QNativeInterface::QCocoaScreen for accessing the underlying NSScreen.

Wayland Client on Linux

Mobile Platforms

Android

Qt for Android
  • Qt Jenny now supports implementing Java interfaces and extending Java classes in C++.
  • Support for Play Store's Feature Delivery.
Qt Quick for Android
  • Added QtQuickView.invokeMethod() for calling QML functions from Java/Kotlin.

iOS

  • Added support for file icons in the platform theme.
  • Added support for QFileOpenEvent for external requests to open files.
  • Sandboxed applications can now access files outside of the application sandbox (so called security scoped resources) for both reading and writing. Files or folders chosen by the user via file dialogs or similar native mechanism are automatically and transparently handled, including persistent access across application and device restarts.
  • Added support for native save dialogs.

Embedded Platforms

Boot to Qt

Real-Time Operating Systems

List of API Changes

These pages contain an overview of API changes in Qt 6.11:

Known Issues

For information about known issues in Qt 6.11, see the Qt Wiki.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.