Qt 6 will introduce a lot of changes when compared to Qt 5. To begin with, Qt 6 requires C++17 which by itself excludes some compilers which were supported by Qt 5. Other changes are related to APIs, the build system (move from qmake to cmake as Qt's internal build system) or general infrastructure changes in the CI and test setup. Given the deadline for the Qt 6.0 Release at the end of 2020, it is likely that not all Qt modules will be ready for the deadline set by the 6.0 release schedule.
Ready-For-Qt6-Inclusion
The general list of Qt release criteria (e.g. string freeze, API reviews done, branching) as outlined by the general releases notes of every Qt 5 release (e.g. release wiki for Qt 5.14) shall continue to apply. However those deadlines and gate criteria are considered to be as "too late" to make the final decision for inclusion. Therefore the notion of an earlier "Ready-for-Qt6-inclusion" checkpoint is being introduced. The current time suggestion for this checkpoint is end of June 2020. A more precise timeline will be suggested later on. Stay tuned.
During this earlier checkpoint each module is assessed against the criteria set out below. It is the maintainers responsibility to ensure that the data is provided for their module on this wiki page. The received feedback is used to evaluate the readiness of each individual module and in turn the readiness of Qt 6. It may also be used to define the list of Qt modules which are on track and may constitute a sufficiently large but nevertheless reduced set of Qt modules ready for Qt 6.0. If the set is deemed too small other considerations such as a delayed release schedule or feature drop may be considered.
If the release criteria are not met/stated maintainers may choose to release their module via the next minor release after 6.0 in the series.
Deadline
We want to have clarity on the list of 6.0 modules by end of June. Adding two weeks of deliberations based in the feedback implies that the 15. June 2020 is the deadline for the module data. To avoid dragging the process out due to missing information, no response implies the module is automatically not included in Qt 6.0.
Release Criteria
- Port to cmake on target for completion
- Target definition:
- Library, examples & tests have been ported
- The module is built & tested in the CI using cmake and tests pass
- Continuous Integration for Qt 6
- CI runs against qtbase/qtdeclarative SHA no older than 2 weeks
- git repo is part of regular submodule update bot runs in dev (qt5.git/.gitmodules status != ignore)
- Works with the supported platforms in CI for Qt 6.0
- Backlog trajectory
- Link to Jira stating the not completed and completed Qt 6.0 development tasks
- Reviews
- Initial review of public API done (is maintainer aware of/happy with the current state?)
- Are the API changes on track measured against the expectations
- Porting/Documentation information available
- Simple list of completed API changes which may later be used to write Qt6 migration docs
- Other open comments serving as extenuating circumstances
Status per Module
Review Template
Module Name
Status Summary |
Not Ready
|
Cmake port |
Not Complete (<Missing part>)
|
Jira backlog |
JIRA-TICKET
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
State of Essential Modules
Note that the list of essential modules may be revised in light of Qt 6.0.
Qt Core
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
QTBUG-71036
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
N/A (qtbase).
|
Comments/Circumstance |
Definition of Ready is relative to QtCore!
|
Qt GUI
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
QTBUG-72560
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
N/A (qtbase).
|
Comments/Circumstance |
|
Qt Multimedia
Status Summary |
Not Ready
|
Cmake port |
Not Complete
|
Jira backlog |
JIRA-TICKET
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
Not included in Qt 6.0.
|
Qt Multimedia Widgets
Status Summary |
Not Ready
|
Cmake port |
Not Complete
|
Jira backlog |
JIRA-TICKET
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
Not included in Qt 6.0.
|
Qt Network
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
QTBUG-75638
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
N/A (qtbase).
|
Comments/Circumstance |
|
Qt QML
Qt Quick
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
Purging the legacy direct OpenGL rendering bits is on-going
|
Qt Quick Controls 2
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
QTBUG-82256
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
|
Qt Quick Dialogs
Status Summary |
Not Ready
|
Cmake port |
Not started
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
N/A (qtquickcontrols).
|
Comments/Circumstance |
Qt Quick Dialogs still live in the Qt Quick Controls 1 repository, which will not be part of Qt 6. Code needs to be moved over to Qt Quick Controls 2 or into a separate repository, and ported to Qt Quick Controls 2. The Dialog in Qt Quick Controls 2 is currently very limited (a popup pane within the window, not independent top level windows, and without implementation of any content for choosing files, colors or fonts); whereas the dialogs in QtQuick.Dialogs are actual top-level windows (when possible, or popup panes otherwise) and work on any platform, with native dialogs or with QML substitute implementations. So users will not be satisfied if they are missing; they need to be ported forward eventually. Another fallback for now is Qt.labs.platform, which should not be taken out of Labs because it creates a dependency on widgets.
|
Qt SQL
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
QTBUG-84760
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
N/A (qtbase)
|
Comments/Circumstance |
|
Qt Widgets
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
QTBUG-69410
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
N/A (qtbase).
|
Comments/Circumstance |
|
State of Add-on Modules
Active Qt
Status Summary |
Ready
|
Cmake port |
Nearly complete
|
Jira backlog |
QTBUG-78167
|
Recent CI SHA |
cbd857b53f0c525e398b33889325f256699977bc
|
gitmodules/submodule bot |
Not sure
|
Comments/Circumstance |
Not in initial set for Qt 6
|
Qt 3D
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
QTBUG-84552
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
|
Qt Android Extras
Not included in Qt 6.0. Will find new home in the more relevant modules over time, and the remaining APIs considered included in later 6.x releases.
Qt Bluetooth
Status Summary |
Not Ready
|
Cmake port |
Complete (not yet enabled in CI)
|
Jira backlog |
QTBUG-62877
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Charts
Status Summary |
Not Ready
|
Cmake port |
Not complete
|
Jira backlog |
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Concurrent
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
QTBUG-80908
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
N/A (qtbase).
|
Comments/Circumstance |
|
Qt D-Bus
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
No particular item planned
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
N/A (qtbase).
|
Comments/Circumstance |
|
Qt Data Visualization
Status Summary |
Not Ready
|
Cmake port |
Not complete
|
Jira backlog |
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Gamepad
Status Summary |
Not Ready
|
Cmake port |
Not complete
|
Jira backlog |
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Graphical Effects
Note, this module does not ship with 6.0. It will rather become a BSD licensed repository.
Status Summary |
Not included in 6.0
|
Cmake port |
Complete
|
Jira backlog |
QTBUG-78572 QTBUG-85256
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
The RHI port supports 17 out of 25 effects. The 8 unsupported ones are removed.
|
Qt Help
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
NA (API will be internal for 6.0)
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
|
Qt Image Formats
Status Summary
|
Not Ready
|
Cmake port |
Not Done
|
Jira backlog |
N.A.
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Lottie
Status Summary |
Not Ready
|
Cmake port |
Not complete
|
Jira backlog |
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Location
Status Summary |
Not Ready
|
Cmake port |
Not Complete
|
Jira backlog |
QTBUG-72239
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Not included in Qt 6.0. Will find new home in the more relevant modules over time, and the remaining APIs considered included in later 6.x releases.
Qt Network Authorization
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
|
Qt OpenGL
Note, the contents of this module is different in Qt 6 compared to Qt 5. The old, deprecated, Qt 4 era QGL* classes are removed. Now it contains the QOpenGL* classes.
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
N/A (qtbase).
|
Comments/Circumstance |
|
Qt OpenGL Widgets
Note, new in Qt 6. Contains QOpenGLWidget, which used to live in Qt Widgets in Qt 5.
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
N/A (qtbase).
|
Comments/Circumstance |
|
Will become private API in 6.0
Qt Positioning
Status Summary |
Not Ready
|
Cmake port |
Complete (not yet enabled in CI)
|
Jira backlog |
QTBUG-72240
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Printing Support
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
Part of qtbase
|
Qt Purchasing
This module will not be part of Qt 6. Will be replaced by Android and iOS how-to examples (QTBUG-82847).
Qt Quick 3D
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
|
Qt Quick Controls 1
Note, this module is deprecated in Qt 5.15 and therefore may no longer be shipped in Qt 6.
Status Summary |
Not Ready
|
Cmake port |
Not complete
|
Jira backlog |
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Quick Timeline
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
|
Qt Quick WebGL
Status Summary
|
Not Ready
|
Cmake port |
Not Done
|
Jira backlog |
N.A.
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Quick Widgets
Note, this module (and so QQuickWidget) is supported for OpenGL and the 'software' scenegraph backend in Qt 6.0, i.e. what Qt 5 supports. It is not compatible with other graphics APIs.
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
N/A (qtdeclarative).
|
Comments/Circumstance |
|
Qt Remote Objects
Status Summary |
Not Ready
|
Cmake port |
Not Complete (Needs more testing)
|
Jira backlog |
QTBUG-84590
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
In progress, but at risk of making 6.0 if binary incompatible changes to the module cannot be contained in time
|
Qt Script
Note, this module is deprecated in Qt 5.15 and therefore may no longer be shipped in Qt 6.
Qt SCXML
Status Summary |
Not Ready
|
Cmake port |
Not Done
|
Jira backlog |
QTBUG-80316
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Script Tools
Note, this module is deprecated in Qt 5.15 and therefore may no longer be shipped in Qt 6.
Qt Sensors
Status Summary |
Not Ready
|
Cmake port |
Not Complete
|
Jira backlog |
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Serial Bus
Status Summary |
Not Ready
|
Cmake port |
Not Complete
|
Jira backlog |
QTBUG-84145
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt Shader Tools
Note, new in Qt 6.
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
|
Qt Speech
Status Summary
|
Not Ready
|
Cmake port |
Not Done
|
Jira backlog |
N.A.
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt SVG
Status Summary
|
Ready
|
Cmake port |
Complete
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
|
Qt UI Tools
Status Summary |
Ready
|
Cmake port |
Complete
|
Jira backlog |
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
|
Comments/Circumstance |
Unit tests passed but would require thorough testing
|
Qt Virtual Keyboard
Status Summary |
Not Ready
|
Cmake port |
Complete
|
Jira backlog |
QTBUG-84322
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
Porting to Qt 6 QML needs to be done before we can consider this ready, and the cmake port needs some improvements (see QTBUG-84324)
|
Qt WebChannel
Status Summary |
Not Ready
|
Cmake port |
Not Complete
|
Jira backlog |
N/A
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt WebEngine
Not included in Qt 6.0.
Qt WebSockets
Status Summary |
Not Ready
|
Cmake port |
Not Complete
|
Jira backlog |
N/A
|
Recent CI SHA |
No
|
gitmodules/submodule bot |
ignored
|
Comments/Circumstance |
|
Qt WebView
Not included in Qt 6.0.
Not included in Qt 6.0. Will find new home in the more relevant modules over time, and the remaining APIs considered included in later 6.x releases.
Not included in Qt 6.0. Will find new home in the more relevant modules over time, and the remaining APIs considered included in later 6.x releases.
Qt XML
Status Summary |
Not Ready
|
Cmake port |
Done
|
Jira backlog |
N/A (assessment for Qt 6 not done yet)
|
Recent CI SHA |
yes
|
gitmodules/submodule bot |
N/A (qtbase)
|
Comments/Circumstance |
|
Qt XML Patterns
Note, this module is deprecated in Qt 5.15 and therefore may no longer be shipped in Qt 6.
Qt Wayland Compositor
Status Summary
|
Ready
|
Cmake port |
Complete
|
Jira backlog |
QTBUG-78673
|
Recent CI SHA |
Yes
|
gitmodules/submodule bot |
Yes
|
Comments/Circumstance |
|
State of Value Add-on Modules (Qt for Automation)
Qt COAP
Status Summary
|
Ready
|
Cmake port
|
Complete
|
Jira backlog
|
|
Recent CI SHA
|
Yes
|
gitmodules/submodule bot
|
Yes
|
Comments/Circumstance
|
Qt KNX
This module will not be included in Qt 6.0.
Qt MQTT
Status Summary
|
Ready
|
Cmake port
|
Complete
|
Jira backlog
|
|
Recent CI SHA
|
Yes
|
gitmodules/submodule bot
|
ignored
|
Comments/Circumstance
|
Qt OPCUA
Status Summary
|
Ready
|
Cmake port
|
Mostly Complete
|
Jira backlog
|
|
Recent CI SHA
|
Yes
|
gitmodules/submodule bot
|
ignored
|
Comments/Circumstance
|