| Qt 5.11 introduces many new features and improvements as well as bugfixes |
| over the 5.10.x series. For more details, refer to the online documentation |
| included in this distribution. The documentation is also available online: |
| |
| http://doc.qt.io/qt-5/index.html |
| |
| The Qt version 5.11 series is binary compatible with the 5.10.x series. |
| Applications compiled for 5.10 will continue to run with 5.11. |
| |
| 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. |
| |
| **************************************************************************** |
| * Important Behavior Changes * |
| **************************************************************************** |
| |
| - [QTBUG-63150] Characters invalid in XML, such as 0x0 or 0xfffe, as well |
| as strings containing unmatched UTF-16 surrogates are now suppressed |
| from the output of QXmlStreamWriter and cause the error flag to be set. |
| |
| - Logging (including qDebug and qWarning): |
| * The QT_LOGGING_TO_CONSOLE environment variable has been deprecated. |
| Use the more specific QT_ASSUME_STDERR_HAS_CONSOLE or |
| QT_FORCE_STDERR_LOGGING, depending on your usecase. |
| |
| **************************************************************************** |
| * General Notes * |
| **************************************************************************** |
| |
| Deprecation Notices |
| ------------------- |
| |
| - Microsoft Visual Studio 2013 (compiler version 12.0) is no longer |
| supported with this Qt version. |
| - macOS 10.10 is no longer supported with this Qt version. |
| |
| Third-Party Code |
| ---------------- |
| |
| - Removed attribution for QTemporaryFile: The original code got rewritten. |
| - Documented use of "Unicode Character Database (UCD)" in Qt Core. |
| - Clarified use of "Unicode Common Local Data Repository (CLDR)" in the |
| documentation. Also updated SPDX license name / ID. |
| - Sqlite was updated to version 3.23.1 |
| - Libdbus-1 code in Qt D-Bus is now properly documented. The code is |
| licensed under AFL-2.1 OR GPL-2.0-or-later. |
| - Bundled HarfBuzz-NG copy updated to 1.7.4. |
| |
| **************************************************************************** |
| * Library * |
| **************************************************************************** |
| |
| QtCore |
| ------ |
| |
| - [QTBUG-38156] Apple Unified Logging is now supported on Apple platforms. |
| |
| - QAbstractItemModel: |
| * Added QAbstractItemModel::checkIndex(), a debugging function for |
| QAbstractItemModel subclasses. |
| |
| - QBitArray: |
| * Added fromBits(), which creates a QBitArray from a dense bit array, |
| and bits(), which returns that. |
| |
| - QDateTime: |
| * [QTBUG-64401] Years up to 9999 can now be parsed without error |
| (previously 8000 and beyond were treated as invalid) in all formats |
| (not only in ISO format). Widgets handling dates now support dates to |
| 9999, likewise. |
| * [QTBUG-63072] When parsing dates and times from strings, fixed-width |
| date-time fields, such as a "dd" for day, QDateTime now rejects all |
| values that should be padded, rather than only doing so when the value |
| is a prefix of some value that would fill the field-width. Use a |
| single letter for the field, e.g. "d" for day, if you want to accept |
| short values. (QDateTimeEdit is not affected.) |
| |
| - QJsonValue: |
| * fromVariant() conversion now converts from QUrl and QUuid using |
| special encoding forms to ensure best JSON compatibility. |
| |
| - QLockFile: |
| * [QTBUG-63425] QLockFile can now properly conclude that a lock file |
| from a previous boot of the same device is stale and can be removed. |
| This is implemented only for Linux and Apple operating systems. |
| |
| - QMetaObject: |
| * [QTBUG-66744] It is now possible to use template class instances |
| inheriting from a Q_GADGET in Qml. |
| |
| - QSaveFile: |
| * [QTBUG-66268] Fixed an issue that would cause QSaveFile::commit() to |
| fail if Unix signals were delivered at the same time. |
| |
| - QScopedPointer: |
| * Added get(), for compatibility with std::shared_ptr. |
| |
| - QSharedPointer: |
| * Added get(), for compatibility with std::shared_ptr. |
| |
| - QString: |
| * Added remove() overload taking QLatin1String. |
| |
| - QStringBuilder: |
| * Added support for char16_t characters and strings. |
| * Added support for QStringView. |
| |
| - QSysInfo: |
| * [QTBUG-63425] Added machineUniqueId() and bootUniqueId(). |
| |
| - QThread: |
| * [QTBUG-53357] Changed how Qt thread priorities are mapped to QNX |
| system thread priorities. |
| |
| - QUrl: |
| * Fixed a bug in parsing IPv6 addresses with more than 4 hex digits in a |
| component. |
| |
| - QUuid: |
| * Added a parameter to both toString() and toByteArray() to allow |
| controlling the use or not of the braces and dashes in the string |
| form. |
| |
| - QVarLengthArray: |
| * Added rvalue overloads of prepend and insert. |
| * QVarLengthArray can now contain movable but non-copyable types, such as |
| std::unique_ptr. |
| * Added missing rvalue overload of operator+=() and operator<<(). |
| |
| - QVariant: |
| * Conversions of QDateTime to strings now contain the millisecond |
| components. |
| |
| - QVector: |
| * Added rvalue overloads of prepend and insert. |
| * Added missing rvalue overload of operator+=() and operator<<() |
| |
| QtGui |
| ----- |
| |
| - [QTBUG-59762] The QT_QPA_PLATFORM environment variable and the -platform |
| argument now support a list of platform plugins in prioritized |
| order. Platforms are separated by semicolons. |
| |
| - QGuiApplication: |
| * Added fontChanged() signal. |
| |
| - QIcon: |
| * [QTBUG-33123] Added fallbackSearchPaths() that will be used to find |
| icons missing in the current icon theme. |
| |
| - QStaticText: |
| * [QTBUG-65836] Fixed explicitly set width not being respected. |
| |
| - Text: |
| * [QTBUG-45957] Fixed a bug where QStaticText would not use the |
| QPainter's pen color for text when other text colors were also in use. |
| Internally this reserves QColor(0, 0, 0, 0) for use with QStaticText. |
| * Added QFontMetrics::horizontalAdvance() and |
| QFontMetricsF::horizontalAdvance() to replace the confusingly named |
| width() function. The latter has now been deprecated. |
| * [QTBUG-65345] Fixed an issue where changing the letter spacing type of |
| a QTextCharFormat would not cause its font to update. |
| |
| QtNetwork |
| --------- |
| |
| - QHostAddress: |
| * Added isGlobal(), isLinkLocal(), isSiteLocal(), |
| isUniqueLocalUnicast(), and isBroadcast() classification functions to |
| complement isLoopback() and isMulticast(). |
| * Fixed a bug in parsing IPv6 addresses with more than 4 hex digits in a |
| component. |
| |
| - QNetworkAccessManager: |
| * [QTBUG-61397] Added Http2DirectAttribute to enable 'direct' HTTP/2 |
| protocol without ALPN/NPN and without protocol upgrade negotiations. |
| * [QTBUG-66913] Fixed a crash in HTTP/2 protocol handler (when server |
| responds with redirect or some error status code early, not wating |
| for a stream to be closed on client side). |
| |
| - QNetworkInterface: |
| * Added type(). |
| * Added maximumTransmissionUnit(). |
| * Added preferredLifetime() and validityLifetime() to |
| QNetworkAddressEntry that report the remaining lifetime of the address |
| in the network interface. |
| * Added dnsEligibility() to QNetworkAddressEntry to indicate whether the |
| address is eligible or not for publication in DNS or similar |
| mechanisms. |
| * [QTBUG-67226] Fixed a regression in reporting the local address of a |
| point-to-point tunnel network interface. |
| |
| - QSslSocket: |
| * [QTBUG-67584] When using OpenSSL 1.1, it now correctly sets protocol |
| version for QSsl::TlsV1_0, QSsl::TlsV1_1 and QSsl::TlsV1_2. |
| * [QTBUG-67112] On WinRT QSsl::SecureProtocols (default) now enables |
| TLSv1.1 and TLSv1.2. |
| * On WinRT QSsl::TlsV1SslV3 now enables SSLv3 and not just TLSv1. |
| |
| QtPrintSupport |
| -------------- |
| |
| - Larger improvements to the CUPS print dialog. |
| * Added an advanced options tab in the printer properties, containing |
| all the printer options exposed through the CUPS API. |
| * Implemented support for installable options (add-ons to the printer). |
| * Added support for storing the selected settings between application runs. |
| * Added support for localized options in the advanced tab. |
| * The CUPS print dialog now supports printing of arbitrary ranges. |
| |
| - QPrintDialog |
| * [QTBUG-58733] Fixed handling of custom page sizes. |
| |
| QtSql |
| ----- |
| |
| - OCI support: |
| * [QTBUG-23] Added support for the TIMESTAMP data type. |
| |
| - PostgreSQL support: |
| * [QTBUG-63714] Added support for forward-only queries (requires libpq |
| version 9.2 or later). |
| * Added support for multiple result sets. |
| |
| - QSqlDatabase: |
| * [QTBUG-216] QSqlDatabase::database() will return an invalid |
| QSqlDatabase if the calling thread does not own the requested |
| QSqlDatabase. |
| |
| QtTest |
| ------ |
| |
| - The qtest_global.h header is now deprecated. Include qttestglobal.h |
| instead. |
| - Added QAbstractItemModelTester, a class to help testing item models. |
| |
| QtWidgets |
| --------- |
| |
| - [QTBUG-62094] QDesktopWidget has been deprecated. Use the corresponding |
| QScreen functions instead. |
| - [QTBUG-49374][QTBUG-65237][QTBUG-49374] Fixed several issues related |
| to HiDPI support in QStyle. |
| |
| - Item views: |
| * [QTBUG-48725] QTreeView now calls canFetchMore() and fetchMore() when |
| the bottom of the QTreeView is scrolled to. |
| * [QTBUG-65082] Add ability to show QJsonValue::Bool/Double to |
| QTreeView, QTableView and QListView. |
| |
| - QAbstractItemModel: |
| * Implemented improved support for the optional "role" parameter in the |
| "dataChanged" signal. |
| |
| - QColorDialog: |
| * [QTBUG-64500] Fixed persistence of custom colors when relaunching an |
| application. |
| |
| - QHeaderView: |
| * Flat treeviews can now allow the user to move the first column (like |
| in Qt 4.x) using the new method QHeaderView::setFirstSectionMovable(). |
| * MinimumSectionSize/MaximumSectionSize is now respected when calling |
| resizeSection(). |
| |
| - QLineEdit: |
| * Implemented quick text selection by mouse in QLineEdit. |
| * Placeholder text is now used as accessible description if the latter |
| has not been set. |
| |
| - QListView: |
| * QListView now honors css :first/:middle/:last Pseudo-States. |
| |
| - QMenu: |
| * [QTBUG-25669] Fixed a bug in QMenu that caused QMenuBar::triggered() to |
| be fired multiple times. |
| |
| - QMenuBar: |
| * Added overloads of addAction() using Qt 5 signals and slots. |
| |
| - QStandardItemModel: |
| * [QTBUG-45114][QTBUG-10872] Fixed setItemData() incorrectly deleting |
| unmodified data. That behavior is not following QAbstractItemModel's |
| documented behavior which is no modification of data not provided in |
| parameter. |
| |
| - QStyle: |
| * [QTBUG-53094] Added SH_ComboBox_AllowWheelScrolling as a style hint to |
| enable/disable the use of the mouse wheel in a QComboBox. This |
| defaults to true in all styles except the macOS one so there is no |
| change in existing behavior. |
| |
| - QTextEdit/QPlainTextEdit |
| * [QTBUG-63868] context menus will now open on right mouse click even if |
| the focus policy is Qt::NoFcous (allowing text copy). |
| |
| - QTreeWidgetItem: |
| * QTreeWidgetItem::insertChildren now ignores insertions happening at |
| invalid indices, for consistency with QTreeWidgetItem::insertChild. |
| |
| **************************************************************************** |
| * Platform-specific Changes * |
| **************************************************************************** |
| |
| Android |
| ------- |
| |
| - The application and dependent Qt libraries are now loaded on the same |
| thread as main() is run on, ensuring that global static initializers, |
| constructor functions, and main() are all run on the same thread. The |
| same applies during application shutdown, for destructors of global |
| objects, and destructor functions. |
| |
| Linux/EGLFS |
| ----------- |
| |
| - [QTBUG-63088] The DRM+GBM backend now exposes the DRM/GBM device handle |
| under the key "dri_fd", queriable via nativeResourceForIntegration(). |
| |
| Linux/XCB |
| --------- |
| |
| - [QTBUG-56452] Added missing dead key symbols, enabling their use with |
| the "compose" input module. |
| - Added support for flatpak portals. Flatpak is a software utility for |
| software deployment and package management. It provides a sandbox |
| environment in which users can run applications in isolation from the |
| rest of the system. To communicate with the system flatpak uses portals, |
| which are designed to be a bridge between sandboxed applications and |
| desktop/system running on user's computer. Flatpak runs automatically |
| this as service, called xdg-desktop-portal, which exports portals on DBus |
| and which are by default visible to all applications running under |
| Flatpak. |
| - [QTBUG-44938] Qt now falls back to X11 core keycode information if an XKB |
| keymap could not be determined through the connection. |
| |
| - ibus: |
| * Support ForwardKeyEvent signal |
| |
| Windows |
| ------- |
| |
| - [QTPM-487][QTBUG-53024][QTBUG-43190][QTBUG-61926][QTBUG-38499] |
| [QTBUG-38337][QTBUG-38501][QTBUG-38502][QTBUG-38504][QTBUG-38505] |
| [QTBUG-38507] The Windows Accessibility back end, formerly based on |
| Microsoft Active Accessibility, was replaced with a new implementation |
| based on Microsoft UI Automation. |
| |
| - [QTBUG-44594] Added support for End-User Defined Characters in Qt. |
| |
| iOS |
| --- |
| |
| - [QTBUG-59042] The Apple Pencil now generates QTabletEvents, with the |
| complete feature set (tilt, rotation, pressure). |
| |
| macOS |
| ----- |
| |
| - QMacStyle does no longer depend on HITheme — or Carbon for that matter. |
| Its implementation now relies exclusively on AppKit and custom code for |
| rendering and pixel metrics. |
| |
| **************************************************************************** |
| * Tools * |
| **************************************************************************** |
| |
| configure & build system |
| ------------------------ |
| |
| - [QTBUG-61260] Fixed build with -sanitize address. |
| - [QTBUG-61373][Windows] Restored default -prefix to C:\Qt\Qt-<version>\. |
| - [QTBUG-66355] pkg-config is now tried first to find system pcre2-16. |
| - [QTBUG-66675] Fixed -debug-and-release builds with qtquickcompiler. |
| - [Windows] OpenSSL 1.1 detection is now automatic. |
| - [X11] The -xkb-config-root command line switch has been removed as it |
| is no longer needed when configuring with -qt-xkbcommon-x11. |
| - Added the -gdb-index option to speed up debugging with GDB. |
| - More Qt features were made optional as part of the Qt Lite project. |
| - Removed compatibility of the modules with CMake < 3.1. |
| |
| qmake |
| ----- |
| |
| - [QTBUG-35131][Xcode] Fixed build breakage when an extra compiler's |
| output directory (OBJECTS_DIR, MOC_DIR, etc.) contains "/../". |
| - [QTBUG-45211][iOS] Fixed building of QML based test cases. |
| - [QTBUG-66265][VS2017] Fixed building projects with Windows 8.1 SDK. |
| - [QTBUG-66770][Android][x86] The clang makespec now adds -mstackrealign. |
| - [QTBUG-67011] Fixed immediate RESOURCES when using an absolute RCC_DIR. |
| - [QTBUG-67286][Darwin] Fixed error messages when SDK cannot be resolved. |
| - [Darwin] Fixed the selected SDK's compilers not being used for plain C |
| sources. |
| - [Darwin] Fixed QMAKE_BUNDLE_DATA with extra compiler generated files. |