mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2024-11-30 07:46:51 +08:00
400 lines
15 KiB
Plaintext
400 lines
15 KiB
Plaintext
|
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.
|