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