Release note
Qt 6.1 introduces many new features and improvements as well as bugfixes
over the 6.0.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-6/index.html
The Qt version 6.1 series is binary compatible with the 6.0.x series.
Applications compiled for 6.0 will continue to run with 6.1.
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.
To make it easier to port to Qt 6, we have created a porting guide to
summarize those changes and provide guidance to handle them. In the
guide, you can find links to articles about changes that may affect your
application and help you transition from Qt 5.15 to Qt 6:
https://doc.qt.io/qt-6/portingguide.html
Important Changes
qtbase
-
85cd9b144b QVarLengthArray: fix aliasing error in insert(it, n, v)
Fixed an aliasing bug affecting insertions of objects aliasing existing
elements. -
f63f4b3e62 Revert "Windows: Add synthesized fonts also when there is a
style name"
Fixed a regression where different font styles and/or weights would not
be available. -
8db031cb0f Change QCollator's default locale to QLocale().collation()
The default locale used by QCollator is now the collation locale of the
default QLocale. This restores the ability (lost at 5.14) to control the
locale used by QString::localeAwareCompare(), while retaining the use of
a collation locale when the default is the system locale. -
c4012ff5f0 Make QFutureWatcher::isFinished() consistent with the
watched QFuture
The QFutureWatcher::isFinished() method now indicates if the related
QFuture is finished, instead of indicating if the finished() signal was
delivered. This makes it consistent with the future that is being
watched. -
3fa9c19481 QCryptographicHash: don't present the same data over and
over again
Fixed a bug where presenting more than 4GiB in a single addData() call
would calculate the wrong result(). -
36760514a9 QXpmHandler: fix re-entrancy bug in xpm_color_name
Fixed a race condition when concurrently writing .xpm files. -
e0c6f50849 QXpmHandler: actually limit characters-per-pixel to four
Instead of writing a corrupt file, rejects to write XPM files with more
than 64^4 colors (more than four characters per pixel) now. -
77672e6c16 Fix memory leak if eXIf has incorrect crc
Fix for possible memory leak in libpng was backported.
qtsvg
- 77483e3 Limit font size to avoid numerous overflows
Avoid numerous overflows by limiting font size to 0xffff. This fixes
oss-fuzz issue 31701.
qtdoc
- 41c06b3f Move Qt Shader Tools, Qt Quick 3D, Qt Quick Timeline to GPL
section
Mark Qt Shader Tools, Qt Quick 3D, and Qt Quick Timeline in the module
overview as available under Commercial/GPLv3 only.
qtvirtualkeyboard
- 6c42bcb Fix processing of hard Qt::Key_Backspace and Qt::Key_Delete
Fix processing of hard backspace and delete keys.
Fixes
qtbase
- QTBUG-94501 GStreamer::Gl dependency is not recorded correctly in a
static build - QTBUG-94069 MacOS ComboBox Focus Ring is Too Tall
- QTBUG-82835 Stale socket notifications can be emitted to new sockets
- QTBUG-94175 QGraphicsProxyWidget: rendered Arabic text incomplete in
large font sizes when OpenGL is used - QTBUG-65637 Window minimizing broken after building QT app with Mac OS
High Sierra SDK - QTBUG-94246 Memory leak in qsql_oci plugin
- QTBUG-91919 Qt will crash if changing screen resolution on Mac
- QTBUG-94706 missing documentaiton details about QFile::copy()
- QTBUG-94538 Change cursor theme is not applied immediately . The Qt5
app needs to be restarted. - QTBUG-85529 Polytonic Greek characters cannot be composed both ways
- QTBUG-83869 Correction to the documentation:
https://doc.qt.io/qt-5/qtransform.html#basic-matrix-operations - QTBUG-85714 QOpenGLWidget with NativeWindow QDockWidget does not
render when undocked - QTBUG-94839 QSystemTrayIcon::isSystemTrayAvailable() opens a new file
descriptor on each call which isn't closed - QTBUG-91398 When QFont::NoFontMerging is set then if bold or italics
is requested that is not provided by the font then it will end up not
synthesizing this - QTBUG-92477 Memory leak in QFontDatabase
- QTBUG-93890 Crash in webOS emulator with recent meta-qt6
- QTBUG-78043 non-native QFileDialog displaying incorrect mapped network
drive names - QTBUG-94973 Build fails when configuring twice with CMake and with
both INSTALL_MKSPECSDIR and QT_QMAKE_TARGET_MKSPEC set - QTBUG-91125 QTextFormat::FullWidthSelection does not work with right-
to-left text layout - QTBUG-90683 Some keyboard shortcuts will crash Qt when matching is
attempted on macOS 10.15 or higher - QTBUG-65637 Window minimizing broken after building QT app with Mac OS
High Sierra SDK - QTBUG-92561 Strange selection behavior of with ExtendedSelection +
SelectRows - QTBUG-83619 Stylesheet: QAbstractItemView::indicator changes selected
item text color - QTBUG-94981 QTreeView: expandToDepth() and expandAll() ends
prematurely for asynchronous models - QTBUG-95013 pt_BR translations not loaded
- QTBUG-95198 Building QtMultimedia qmake projects is broken on Windows
- QTBUG-94788 QListView will be reset when setSelectionMode is
MultiSelection - QTBUG-94226 QListView - broken drag-n-drop items movement
- QTBUG-94802 [Reg-5.15.4->5.15.5]Menu separator is not visible
- QTBUG-38776 QDockWidget titlebar icons are not drawn with high DPI
- QTBUG-94069 MacOS ComboBox Focus Ring is Too Tall
- QTBUG-94824 In qlinedit, icon and text overlap
- QTBUG-86846 the password box not refreshed under Chinese input method
- QTBUG-94942 QML type registration emits "qt6quick_metatypes.json:
illegal value" - QTBUG-94737 Crash in QThreadOnce test
- QTBUG-95009 QNetworkDiskCache::cacheSize() returns a size twice as
large as the real one. - QTBUG-95277 HTTP2: QNetworkReply::encrypted not emitted
- QTBUG-94733 When the display is set to 150% and a QMdiSubWindow is
maximized then the icons can be incorrectly displayed - QTBUG-95293 QCocoaAccessibilityElement incorrect selector for
"enabled": should be isAccessibilityEnabled not
accessibilityEnabledAttribute - QTBUG-95255 After setDefaultAction for a QToolButton and call
setChecked, then checked status wrong - QTBUG-91048 QFutureWatcher::isFinished() stays false after
waitForFinished() - QTBUG-95283 No TLS backend available in statically built project
- QTBUG-91459 When using Speech Recognition on a multiple monitor setup
telling it to click a button does not always work on the secondary
monitor - QTBUG-77656 Crash when waking up with multiple displays in clamshell
mode - QTBUG-95383 QFileSystemModel sort extremely inefficient with wildcards
- QTBUG-95429 Expired certificates in tst_QSslCertificate
- QTBUG-95619 [Mac] Memory leak in
QNSWindow::applicationActivationChanged - QTBUG-95273 QFuture::then() documentation about threading is unclear
- QTBUG-20894 QCompleter unexpectedly changes QLineEdit text
- QTBUG-56595 QXcbConnection::getTimestamp() returns old timestamp
- QTBUG-95631 Stylesheet issue when try to change background color with
a editable combobox on hover - QTBUG-94215 [Reg 5.15.2->5.15.3/6] QString::lastIndexOf is broken
- QTBUG-93360 Compile Qt with gcc 11
- QTBUG-94973 Build fails when configuring twice with CMake and with
both INSTALL_MKSPECSDIR and QT_QMAKE_TARGET_MKSPEC set - QTBUG-87429 tst_QRhi::renderToTextureArrayOfTexturedQuad fails on
Android Emulator in CI - QTBUG-94463 QThreadPool creates one thread more than maxThreadCount
- QTBUG-95050 [REG: 5.2->5.14] Locale used by
QString::localeAwareCompare() no longer changeable - QTBUG-95199 Incorrect propagation of iOS bitcode and -fapplication-
extension flags to user projects - QTBUG-91713 QtBase benchmarks fail for qtimezone, qdiriterator, and
qfile - QTBUG-95303 Internal module pri files are missing public include
header locations - QTBUG-80957 QFutureInterface: reportResults with an empty vector
breaks results - QTBUG-95429 Expired certificates in tst_QSslCertificate
- QTBUG-70137 Dockwidgets - Placing QDockWidget is almost impossible
- QTBUG-71590 Qt is using "Non-SDK" interfaces, will be blocked by
Android - QTBUG-95552 Reproducible crash from wheelEvent in QGraphicsScene
containing a QWidget with a Q*BoxLayout
qtsvg
- QTBUG-94878 QSvgRenderer crash
- QTBUG-92184 QtSVG cannot understand minified SVGs if they contain arcs
qtdeclarative
- QTBUG-92840 FolderListModel docs have gone missing
- QTBUG-92563 Extra, incorrect HoverMove sent after MouseButtonRelease
- QTBUG-95073 TextEdit inconsistency with some key events (modifiers)
- QTBUG-75553 QML Canvas, reset line dash failed
- QTBUG-89375 No C++ documentation for containmentMask
- QTBUG-94622 svg Image is Pixelated when windows is scaled
- QTBUG-95132 Memory Leak when using QQuickPaintedItem with RHI
- QTBUG-95417 Regression 5.15.4: gc() within generator functions crash
- QTBUG-95591 QtQuick documentation references private class
"QQuickColorGroup" - QTBUG-95811 KeyNavigation: all properties should be marked as attached
- QTBUG-94798 crash in QQuickDesignerSupport with gcc at ubuntu
- QTBUG-94971 QHoverEvent::scenePosition() is actually local position
- QTBUG-94622 svg Image is Pixelated when windows is scaled
- QTBUG-94928 loop QQuickDesignerSupport with simple example
- QTBUG-75862 FocusReason is broken in Controls 2
- QTBUG-89380 Cannot use QtObject as containmentMask
- QTBUG-94844 Rendering errors with ShaderEffect after hiding and
reshowing a window
qtactiveqt
- QTBUG-95407 activeqt/qutlook fails to configure
qttools
- QTBUG-91082 [REG: 5.12->5.13] Assistant does not support custom
filters anymore - QTBUG-95561 Typo in the "Introduction To QDoc" manual page.
- QTBUG-87677 windeployqt locates a release version of icudtXX.dll for a
debug binary - QTBUG-94056 Qt6.1.1 Assistant Manual has incorrect version: 6.1.0
qttranslations
- QTBUG-94718 TS files generated by ts-${catalog}-${lang} should contain
source text location information - QTBUG-95014 pt_BR translations load incorrect catalogs
qtdoc
- QTBUG-92848 Update Documentation of Qt6: Deploying QML Applications -
Ahead-of-Time Compilation
qtwayland
- QTBUG-94602 Releasing wayland buffer from Qt compositor side
qt3d
- QTBUG-93035 Adding a disable entity to the scene and enabling it later
isn't properly picked up - QTBUG-95130 Qt3D ShaderProgram sources cannot compile on iOS (RHI)
qtquickcontrols2
- QTBUG-92824 QtQuick.Controls Button.qml wrong parent used for
transitionDuration (line 77) - QTBUG-93041 If Button is used as delegate of ListView then application
fails - QTBUG-83630 Qt Quick Control 2 Tooltip can be way too big when you
have newlines
qtdatavis3d
- QTBUG-94441 Axis title labels do not respect the Abstract3DAxis's
titleFixed property - QTBUG-80194 Q3DScatter Memory Leak
- QTBUG-78767 baseGradient for Surface3DSeries is applied incorrectly
when the trailing line(s) of the QSurfaceDataArray contain NaN only - QTBUG-94364 Rotate and zoom do not work on Android
- QTBUG-95112 Surfacedata containing only nans at row 0 fails to render
surface and crashes the next time surface is rendered - QTBUG-94331 Some examples do not work correctly on macOS
qtvirtualkeyboard
- QTBUG-94017 Cursor position moves when un-converted Japanese is
deleted - QTBUG-68412 tst_plugin::test_pinyinInputMethod crashes on arm
- QTBUG-94715 Qt Virtualkeyboards support for Chinese language doesn't
work properly - QTBUG-95664 VirtualKeyboardSettings: Readonly property is not marked
as such - QTBUG-95893 Missing documentation for dictionary API
- QTBUG-94017 Cursor position moves when un-converted Japanese is
deleted
qtquicktimeline
- QDS-3216 Flickering when using default value as implcit first keyframe
qtquick3d
- QTBUG-95212 Error when empty scene is loaded
qtcoap
- QTBUG-94763 [CoAP] When resource is observed the QT CoAP client sends
an acknowledgement packet which is not empty.
qtopcua
- QTBUG-86726 qt_add_resource BASE argument doesn't behave as the qmake
counterpart
Known Issues
- Check that your system meets Qt's requirements:
https://doc.qt.io/qt-6/gettingstarted.html#platform-requirements - RTA reported issues from Qt 6.1
https://bugreports.qt.io/issues/?filter=22879 - Supported development platforms are listed here:
https://bugreports.qt.io/browse/QTBUG-86432
Linux
- Minimum glibc version for prebuild binaries is still 2.28, see
https://bugreports.qt.io/browse/QTBUG-88833.
Workaround: compile Qt 6.1.2 by yourself or update glibc to 2.28 or newer
Windows
- Wrong rendering in Dialog with native Windows style
https://bugreports.qt.io/browse/QTBUG-91755
Credits for the release goes to:
Aavitsland Eirik
Achtelik Mike
Agocs Laszlo
Blomfeldt Eskil Abrahamsen
Bornemann Joerg
Boudjelthia Assam
Buddenhagen Oswald
Croitor Alexandru
Curtis Mitch
D'Angelo Giuseppe
Edelev Alexey
Eftevaag Oliver
Ehrlicher Christian
Fella Nicolas
Frantzis Alexandros
Golubev Andrei
Haixiang Tang
Halmet Heikki
Hartmann Thomas
Heikkinen Jani
Hermann Ulf
Hilsheimer Volker
Holland Dominik
Jenssen Tim
Jokiniva Jukka
Jung Jaeyoon
Karlsson Jonas
Katz Jeremy
Kittler Marius
Kleint Friedemann
Koh Sze Howe
Koivikko Jarkko
Korpipaa Tomi
Kosmale Fabian
Krus Mike
Kurazyan Sona
Kvinge Jonas
Köhne Kai
Lemire Paul
Löhning Robert
Mutz Marc
Nishihara Yuya
Nordheim Mårten
Pocheptsov Timur
Qi Liang
Rocha André de la
Rutledge Shawn
Sera Luca Di
Shao Tianlu
Shaw Andy
Shivashankar Venugopal
Solovev Ivan
Suzuki Tasuku
Sæther Jan Arve
Sørvig Morten Johan
Tan Tyson
Tkachenko Ivan
Trotsenko Alex
Varanka Sami
Vertriest Nico
Vestbø Tor Arne
Volkov Alexander
Welbourne Edward
Wicking Paul
Xinwei Li
Zhang JiDe