summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntti Kokko <antti.kokko@qt.io>2020-04-17 10:05:38 +0300
committerShawn Rutledge <shawn.rutledge@qt.io>2020-04-27 20:11:04 +0200
commitf58c8fb4537c5d751da9d2c86ca0f61ad0adbbb2 (patch)
tree08700a9be28eddf5492d0e6ce77e8d6910b83cb0
parenta1f9729b740e410f818864588d4829275c4d5f52 (diff)
Add changes file for Qt 5.15.0
Change-Id: I28732113bcfd65e983dff6746f6787a266211c8c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
-rw-r--r--dist/changes-5.15.0444
1 files changed, 444 insertions, 0 deletions
diff --git a/dist/changes-5.15.0 b/dist/changes-5.15.0
new file mode 100644
index 0000000000..f8e2330311
--- /dev/null
+++ b/dist/changes-5.15.0
@@ -0,0 +1,444 @@
+Qt 5.15 introduces many new features and improvements as well as bugfixes
+over the 5.14.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-5/index.html
+
+The Qt version 5.15 series is binary compatible with the 5.14.x series.
+Applications compiled for 5.14 will continue to run with 5.15.
+
+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 *
+****************************************************************************
+
+ - Calling QList::insert() or removeAt() with an out of bounds index is
+ deprecated and will no longer be supported in Qt 6.
+
+****************************************************************************
+* Potentially Binary-Incompatible Changes *
+****************************************************************************
+
+ - QHash:
+ QHash's iterator category was changed from bidirectional iterator to
+ forward iterator. This may cause trouble if a library uses the
+ iterator category to alter functionality through tag dispatching. This
+ only applies when compiling the library or application with
+ QT_DISABLE_DEPRECATED_BEFORE=0x050F00 and the other with a lower value.
+
+****************************************************************************
+* Deprecation Notice *
+****************************************************************************
+
+ - The binary JSON representation is deprecated. The CBOR format should be
+ used instead.
+
+ - [QTBUG-80308] QUrl::topLevelDomain() was deprecated in 5.15 and will be
+ removed in 6.0
+
+ - QtNetwork:
+ * QNetworkConfigurationManager, QNetworkConfiguration and QNetworkSession
+ are deprecated, to be removed in Qt 6.
+
+ - [REVERTED] [QTBUG-80369] QAbstractSocket::error() (the getter) is
+ deprecated; superseded by socketError().
+ - [REVERTED] [QTBUG-80369] QLocalSocket::error() (the getter) is
+ deprecated; superseded by socketError().
+ - [QTBUG-80369] QSslSocket::sslErrors() (the getter) was deprecated and
+ superseded by sslHandshakeErrors()
+ - [REVERTED] [QTBUG-80369] QNetworkReply::error() (the getter) was
+ deprecated; superseded by networkError().
+ - [QTBUG-81630][QTBUG-80312] QLinkedList is deprecated and will be moved
+ to Qt5Compat in Qt 6. It is recommended to use std::list instead.
+ - QLocalSocket::error() (the signal) is deprecated; superseded by
+ errorOccurred()
+ - QAbstractSocket::error() (the signal) is deprecated; superseded by
+ errorOccurred()
+ - QNetworkReply::error() (the signal) is deprecated; superseded by
+ errorOccurred()
+
+See also the various sections below, which include many more deprecations.
+
+****************************************************************************
+* QtCore *
+****************************************************************************
+
+ - QCalendar::monthsInYear(QCalendar::Unspecified) now returns
+ maximumMonthsInYear(). QCalendar::daysInYear() now makes clear that its
+ handling of unspecified year is undefined.
+
+ - Containers:
+ * Added operator-> to the key-value iterator for QHash/QMap.
+
+ - QAbstractItemModel:
+ * [QTBUG-72587] The match() method now supports the new
+ Qt::RegularExpression match flag value. This will allow users to use
+ either a string or a fully configured QRegularExpression when doing
+ searches. In the second case, the case sensitivity flag will be
+ ignored if passed.
+
+ - QByteArray:
+ * resize() will no longer shrink the capacity. That means resize(0) now
+ reliably preserves capacity().
+ * Added the new fromBase64Encoding function.
+ * Added new flags to make fromBase64 / fromBase64Encoding strictly
+ validate their input, instead of skipping over invalid characters.
+
+ - QCborArray:
+ * Fixed an infinite loop when operator[] was called with an index larger
+ than the array's size plus 1.
+
+ - QCborMap:
+ * [QTBUG-83366] Fixed some issues relating to assigning elements from a
+ map to itself.
+
+ - QCborValue:
+ * fromCbor() now limits decoding to at most 1024 nested maps, arrays,
+ and tags to prevent stack overflows. This should be sufficient for
+ most uses of CBOR. An API to limit further or to relax the limit will
+ be provided in 5.15. Meanwhile, if decoding more is required,
+ QCborStreamReader can be used (note that each level of map and array
+ allocates memory).
+
+ - QDate:
+ * QDate::toString(Qt::DateFormat, QCalendar) no longer takes calendar
+ into account for Qt::TextDate. There was no matching support in
+ QDateTime and the locale-independent formats are intended to be
+ standard, rather than customized to the user.
+
+ - QDateTime:
+ * Added some missing QCalendar variants of QDateTime::toString().
+ Included docs for QCalendar variants in both QDate and QDateTime.
+
+ - QFile:
+ * Introduce QFile::moveToTrash to allow applications to move files to
+ the trash.
+
+ - QFileInfo:
+ * [QTBUG-75869] Add QFileInfo::isJunction so that applications can
+ recognize NTFS file system entries as junctions
+
+ - QHash:
+ * Reverse iteration over QHash is now deprecated.
+ * insertMulti(), unite() and values(const Key &key) are now deprecated.
+ Please use QMultiHash instead.
+
+ - QJsonObject:
+ * Fixed a regression from 5.13 that incorrect results when assigning
+ elements from an object to itself.
+
+ - QLatin1String:
+ * Added compare().
+
+ - QLibrary and QPluginLoader:
+ * [QTBUG-39642] Fixed a deadlock that would happen if the plugin or
+ library being loaded has load-time initialization code (C++ global
+ variables) that recursed back into the same QLibrary or QPluginLoader
+ object.
+
+ - QLocale:
+ * Deprecated toTime() variants taking a calendar. The calendar is
+ ignored in time parsing.
+ * Data used for currency formats in several locales and list patterns in
+ some locales have changed due to now parsing the CLDR data more
+ faithfully.
+ * [QTBUG-79902] Currency formats are now based on CLDR's accounting
+ formats, where they were previously mostly based (more or less by
+ accident) on standard formats. In particular, this now means negative
+ currency formats are specified, where available, where they (mostly)
+ were not previously.
+
+ - QMap:
+ * [QTBUG-35544] insertMulti(), unite(), values(Key), uniqueKeys(),
+ count(Key) is now deprecated. Please use QMultiMap instead.
+
+ - QObject:
+ * [QTBUG-76375] A logging category
+ qt.core.qmetaobject.connectslotsbyname was added, which will report
+ on the connections made by QMetaObject::connectSlotsByName().
+
+ - QProcess:
+ * Overloads of start/execute/startDatached that parse a single command
+ string into program and arguments have been marked as deprecated. A
+ static helper splitCommand has been added to construct a QStringList
+ from a command string.
+
+ - QRandomGenerator:
+ * The system() random generator will now use the RDSEED instruction on
+ x86 processors whenever available as the first source of random data.
+ It will fall back to RDRAND and then to the system functions, in that
+ order.
+
+ - QRegularExpression:
+ * The escape(), wildcardToRegularExpression() and anchoredPattern()
+ functions now have overloads taking a QStringView parameter.
+
+ - QResource:
+ * Added uncompressedSize() and uncompressedData(), which will perform
+ any required decompression on the data, prior to returning (unlike
+ data() and size()).
+
+ - QSet:
+ * Reverse iteration over QSet is now deprecated.
+
+ - QStandardPaths:
+ * When used in a low-integrity process on Windows,
+ QStandardPaths::writableLocation returns respective low-integrity
+ paths.
+
+ - QString:
+ * Added QString::isValidUtf16.
+
+ - QStringView:
+ * Added QStringView::isValidUtf16.
+ * Added compare() overloads taking QLatin1String, QChar.
+ * Conversion from std::basic_string can now be constexpr (when
+ std::basic_string is).
+
+ - QTimeZone:
+ * The constructor can now handle general UTC-offset zone names. The
+ reported id() of such a zone shall be in canonical form, so might not
+ match the ID passed to the constructor.
+
+ - QXmlStream:
+ * QXmlStreamReader does now by default limit the expansion of entities
+ to 4096 characters. Documents where a single entity expands to more
+ characters than the limit are not considered well formed. The limit is
+ there to avoid DoS attacks through recursively expanding entities when
+ loading untrusted content. The limit can be changed through the
+ QXmlStreamReader::setEntityExpansionLimit() method.
+
+ - moc:
+ * Moc now correctly sets a non-null QMetaObject::superClass for
+ Q_GADGETs that inherit from a template which inherits another
+ Q_GADGET.
+ * [QTBUG-74521][QTBUG-76598] moc can now output a ".d" dep file that can
+ be consumed by other build systems.
+
+****************************************************************************
+* QtGui *
+****************************************************************************
+
+ - Extended QVulkanWindow to allow user to specify additional queues to be
+ created.
+ - Added API for starting interactive window resize and move operations
+ handled by the system.
+
+ - QClipboard:
+ * Support lazily-provided copying of data to the clipboard on macOS
+
+ - QCursor:
+ * [QTBUG-48701] QCursor::bitmap() and QCursor::mask() can now return
+ by-value instead of by-pointer.
+
+ - QFont:
+ * Deprecated QFont::ForceIntegerMetrics and QFont::OpenGLCompatible,
+ with the intention of removing them in Qt 6.0.0.
+
+ - QMarkdownWriter:
+ * [QTBUG-80603] Code blocks are no longer word-wrapped; the beginning
+ fence of a code block no longer has a space before the language string;
+ and the ending fence is no longer skipped in some cases where it was.
+
+ - QPdfWriter:
+ * New API to provide external document XMP metadata and attach files to
+ PDF.
+
+ - QTabletEvent:
+ * QTabletEvent::device() is deprecated, because the plan is to return
+ an object pointer in Qt 6 rather than an enum. The enum is now provided
+ by deviceType().
+ * hiResGlobalX() and hiResGlobalY() are deprecated, because globalPosF()
+ has the same resolution. But globalPosF() (and several others) will
+ probably be renamed in Qt 6. The replacements are not in place yet.
+ * [QTBUG-77826] Local coordinates are now correct when the event is
+ delivered to a nested window on X11.
+
+ - Text:
+ * Fixed a problem where pixel sizes would be truncated before calculating
+ glyph positions.
+ * Fixed an issue with QFont::PreferNoShaping where boxes would appear in
+ place of unprintable characters.
+ * Fixed a problem where certain bold fonts would be synthetically
+ emboldened by Qt when using the Freetype font engine.
+
+ - Application palettes are now resolved against the platform's theme
+ palette, the same way widget palettes are resolved against their parents,
+ and the application palette. This means the application palette reflected
+ through QGuiApplication::palette() may not be exactly the same palette as
+ set via QGuiApplication::setPalette().
+
+****************************************************************************
+* QtWidgets *
+****************************************************************************
+
+ - Added QStyleOptionTabV4 as a subclass of QStyleOptionTab so that the
+ tab's index information can be obtained.
+
+ - ItemViews:
+ * [QTBUG-76423] The convenience views QList/Table/TreeWidgetItem now
+ treat a default constructed QBrush or QSize as an empty QVariant which
+ allows resetting of the values set to it's default values.
+
+ - QApplication:
+ * The globalStrut property has been deprecated and will be removed from
+ Qt 6.
+
+ - QButtonGroup:
+ * Added signals idClicked/Pressed/Released/Toggled that replace the
+ deprecated signal overloads.
+
+ - QComboBox:
+ * QComboBox got a new property 'placeholderText'
+ * Support checkable items in styles that use a popup for the dropdown.
+ * the SizeAdjustPolicy value AdjustToMinimumContentLength is deprecated,
+ use AdjustToContents or AdjustToContentsOnFirstShow instead.
+
+ - QGraphicsView:
+ * Fixed a bug where hover events would not be delivered if the item was
+ added while blocked by a modal panel.
+
+ - QLabel:
+ * [QTBUG-48701] QLabel::pixmap() and QLabel::picture() can now return
+ by-value instead of by-pointer.
+
+ - QLineEdit:
+ * Inputmask X character now requires non-blank input.
+
+ - QMenu:
+ * a popup menu hides when a QWidgetAction added to it fires the
+ triggered signal.
+
+ - QShortcut:
+ * QShortcut ctor has now pointer to member function overloads
+
+ - QStyle:
+ * You can now set the CSS property 'icon' on a QPushButton to override
+ which icon to draw.
+
+ - QSystemTrayIcon:
+ * On macOS, clicking on the message will remove the notification.
+
+ - QTabWidget/QTabBar:
+ * Tabs can now be hidden with setTabVisible
+
+ - QWidget:
+ * Fonts and palette settings are inherited by children from their
+ parents even if the children have application-wide platform theme
+ overrides.
+
+ - QWizard:
+ * visitedPages has been deprecated, use visitedIds instead.
+
+****************************************************************************
+* QtNetwork *
+****************************************************************************
+
+ - A new signal introduced to report when a valid session ticket is received
+ (TLS 1.3)
+
+ - SSL:
+ * Removed OpenSSL 1.0.x support, now 1.1.x is required
+ * The minimum required version of OpenSSL is now 1.1.1.
+
+ - QSslCertificate:
+ * [QTBUG-72587] Add overload of fromPath that does not make use of
+ QRegExp and deprecate the QRegExp variant.
+
+****************************************************************************
+* QtSql *
+****************************************************************************
+
+ - QMYSQL:
+ * Removed support for MySql < 5.0 since 5.0 was released 14 years ago.
+ * The QMYSQL plugin can now be build with the MariaDB C connector libs
+ on Windows.
+
+ - QSqlDriver:
+ * The one-arg version of QSqlDriver::notifcation() is now deprecated.
+
+****************************************************************************
+* QTestLib *
+****************************************************************************
+
+ - The formerly named 'xunitxml' test reporter has been renamed to what it
+ actually is: a JUnit test reporter, and is now triggered by passing -o
+ junitxml to the test binary.
+
+****************************************************************************
+* QtXml *
+****************************************************************************
+
+ - [QTBUG-76177] SAX classes are now deprecated. Use QXmlStreamReader,
+ QXmlStreamWriter in QtCore instead.
+
+****************************************************************************
+* Configure *
+****************************************************************************
+
+ - Add switch "-coverage source-based" to enable clang's "source-based" code
+ coverage feature. This can be used for code coverage analysis.
+
+ - X11:
+ * [QTBUG-67277][QTBUG-30939] The minimal required version of libxcb now
+ is 1.11.
+ * [QTBUG-67277][QTBUG-30939] Removed -qt-xcb, -system-xcb, -xkb,
+ -xcb-xinput switches.
+
+****************************************************************************
+* cmake *
+****************************************************************************
+
+ - Fixed an issue where some Qt location and declarative plugins whose name
+ did not end with "Plugin" where not imported by the corresponding Qt
+ component package.
+
+****************************************************************************
+* Third-Party Code *
+****************************************************************************
+
+ - libjpeg-turbo was updated to version 2.0.4
+
+ - X11:
+ * [QTBUG-67277][QTBUG-30939] Removed all bundled XCB libs, with the
+ exception of xcb-xinput, which is not available on systems with libxcb
+ 1.11.
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+ - Linux:
+ * Enable accessibility on Linux when Orca is started by hand
+ * [QTBUG-78754] Vulkan is now supported by eglfs (eglfs_viv backend) on
+ i.MX8 devices with the Vivante graphics stack. This is done via
+ VK_KHR_display so no windowing system is required.
+
+ - X11:
+ * [QTBUG-67277][QTBUG-30939] XKB and XInput2 now are mandatory
+ dependencies for XCB plugin. XCB-XKB is a part of libxcb 1.11
+ releases. XCB-XInput is not part of libxcb 1.11 releases, but Qt
+ builders can use the -bundled-xcb-xinput switch.
+
+ - Android:
+ * [REVERTED] Qt::MaximizeUsingFullscreenGeometryHint window flag is
+ now supported, and will make the window fullscreen, but keep the
+ system UI on-screen, with a translucent background color.
+ * [QTBUG-82120] Use native file dialog by default for open and save
+ operations.
+
+ - Windows:
+ * Fixed a bug where some fonts would not be accessible by
+ referencing their typographic name.
+ * Fixed a 2 pixel offset on glyphs when using color fonts or any
+ hinting preference other than the default (full) hinting.
+
+ - WebAssembly:
+ * Updated emscripten to version 1.39.8