From 4858de52e8bd7390934b7cdb7c1f4ffbdf8e2067 Mon Sep 17 00:00:00 2001 From: Antti Kokko Date: Mon, 18 Nov 2019 13:01:23 +0200 Subject: Add changes file for Qt 5.14.0 Change-Id: I3af09ba121850547c55ddd9fcfb4e753a3fb61f0 Reviewed-by: Edward Welbourne Reviewed-by: Shawn Rutledge --- dist/changes-5.14.0 | 542 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 542 insertions(+) create mode 100644 dist/changes-5.14.0 (limited to 'dist/changes-5.14.0') diff --git a/dist/changes-5.14.0 b/dist/changes-5.14.0 new file mode 100644 index 0000000000..77cbb70928 --- /dev/null +++ b/dist/changes-5.14.0 @@ -0,0 +1,542 @@ +Qt 5.14 introduces many new features and improvements as well as bugfixes +over the 5.13.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.14 series is binary compatible with the 5.13.x series. +Applications compiled for 5.13 will continue to run with 5.14. + +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 Behavioral Change * +**************************************************************************** + + - [QTBUG-47644] WrapWord now correctly prefers line breaks between words + in Korean text. WrapAnywhere can still be used to get breaks between + syllables instead. + +**************************************************************************** +* Potentially Source-Incompatible Changes * +**************************************************************************** + + - qstringlist.h no longer includes qregexp.h. + - Prefixing Q_NAMESPACE with an export macro may no longer work. Use the + new Q_NAMESPACE_EXPORT macro for that use case. + +**************************************************************************** +* QtCore * +**************************************************************************** + + - Added support of deduction guides for QPair + - Added new Qt::SplitBehavior, for use as eventual replacement for + QString::SplitBehavior. + - Added the new Q_NAMESPACE_EXPORT macro. It can be used just like + Q_NAMESPACE to add meta-object information to a namespace; however it + also supports exporting of such information from shared libraries. + - [QTBUG-15234] Qt installations on the host system can now be relocated, + i.e. moved to other directories. + + - JSON: + * Added overloads of functions taking key strings as QStringView; in + QJsonObject, QJsonValue and QJsonDocument. + + - QAtomicInteger: + * Added loadRelaxed() and storeRelaxed(), to be used as replacements of + load() / store(). + + - QAtomicPointer: + * Added loadRelaxed() and storeRelaxed(), to be used as replacements of + load() / store(). + + - QBasicTimer: + * QBasicTimer is now a move-only class. Copying is now deprecated and + will be removed in Qt 6. + * Added swap() member and free function. + + - QByteArray::operator[]: + * Detach immediately, instead of deferring until modification via + the returned QByteRef. + * Deprecate reliance on its implicit resizing behavior. Support for + writing past the end of QByteArray shall be removed in a future + version of Qt. + + - QCalendar: + * Added QCalendar to support diverse calendars, supported by + implementing QCalendarBackend. + * Added support for Julian and Milankovic calendars. These are enabled + by default, except in bootstrap builds. + * Added support for the Jalali (Persian or Solar Hijri) calendar, + controlled by feature jalalicalendar. + * Added support for the Islamic Civil calendar, controlled by feature + islamiccivilcalendar, with locale data that can be shared with other + implementations, controlled by feature hijricalendar. + + - QChar: + * Added FormFeed (FF) special character. + + - QCollator: + * Added support for QStringView. + * The default QCollator now uses the system's collation locale, rather + than the system locale itself. + + - QDataStream: + * Enumerations can now be serialized through QDataStream without the + need of manually defining streaming operators. + + - QDate: + * [QTBUG-64485] Added startOfDay() and endOfDay() methods to provide a + QDateTime at the start and end of a given date, taking account of any + time skipped by transitions, e.g. a DST spring-forward, which can lead + to a day starting at 01:00 or ending just before 23:00. + * Allow choice of calendar in various operations, with Gregorian + remaining the default. + + - QDateTime: + * Invalid datetimes are now treated as equal and less than all valid + ones. They could previously be found equal to valid datetimes. + + - QDir: + * Remove Windows specific long path markers when handling file paths + with native separators. + + - QEasingCurve: + * QEasingCurve now properly streams all the data needed to QDataStream. + + - QFileInfo: + * [QTBUG-75869] Introduced QFileInfo::isJunction() to detect NTFS Junctions + on Windows. + + - QHash: + * Added range constructor. + + - QJsonObject: + * Added insert(), remove(), and take() overloads taking QLatin1String. + + - QLatin1Char: + * Comparison against char now works even in QT_NO_CAST_FROM_ASCII + builds. + + - QLatin1Literal: + * The undocumented QLatin1Literal type alias for QLatin1String is now + deprecated. Use QLatin1String instead. + + - QLatin1String: + * Added indexOf(). + * Added contains(). + * Added lastIndexOf(). + + - QLineF: + * added QLineF::intersects() as a replacement for QLineF::intersect() + + - QLinkedList: + * Added range constructor. + + - QList: + * Added range constructor. + + - QLocale: + * The system locale now knows what to use for collation, + QLocale::system().collation(). + * The NaN obtained when reading "nan" as a floating-point value is now + quiet rather than signaling. + * The system locale's UI languages list now includes, as for that of an + ordinary locale, the results of adding likely sub-tags from each + locale name, and of removing some, where this doesn't change which + locale is specified. This gives searches for translation files a + better chance of finding a suitable file. + + - QMetaObject: + * [QTBUG-38876] Some internal members of the QMetaObject class have + changed types. Those members are not public API and thus should not + cause source incompatibilities. + + - QMultiHash: + * Added range constructor. + + - QMutex: + * Added QRecursiveMutex as a replacement of QMutex(QMutex::Recursive). + + - QPoint/QPointF: + * Added transposed(). + + - QPointer: + * Added a free swap function. + + - QSet: + * Added range constructor. + + - QSharedPointer: + * Overloads of qSharedPointerObjectCast have been added to work on + std::shared_ptr. + * The swap overload for QSharedPointer in the std namespace has been + removed; a new overload has been added in the Qt namespace. + + - QSize/QSizeF: + * Added grownBy(QMargin(F))/shrunkBy(QMargin(F)). + + - QString: + * The behavior of operator[] to allow implicit resizing of the string + has been deprecated, and will be removed in a future version of Qt. + * QString::operator[] detaches immediately. Previously, the detach was + delayed until a modification was made to the string through the + returned QCharRef. + * QString::arg(QString, ..., QString) can now be called with more than + nine arguments, as well as with QStringViews. + + - QString/QStringRef: + * The split functions now optionally take Qt::SplitBehavior. + + - QStringList: + * Added range constructor. + * Added QStringView overloads of join(), filter(), and + replaceInStrings(). + + - QStringView: + * Added indexOf(). + * Added contains(). + * Added lastIndexOf(). + * Deprecated the (undocumented) QStringViewLiteral macro. Just use u"" + or QStringView(u"") instead. + + - QStringView/QLatin1String: + * Added arg(), taking arbitrarily many strings. + + - QTextStream: + * The NaN obtained when reading "nan" as a floating-point value is now + quiet rather than signaling. + + - QTimeZone: + * [QTBUG-75565] The TZDB back-end now recognizes the contents of /etc/TZ + as a fall-back for $TZ (as used by uClibc). + + - QVarLengthArray: + * Added range constructor. + * Added a qHash overload. + + - QVariant: + * Fixed a bug that caused isNull() to be true after downcasting a + QObject* payload using convert(). + + - QVector: + * Added range constructor. + + - QWeakPointer: + * The data() function has been deprecated. + * A swap overload has been added. + + - QtGlobal: + * Add new macros QT_DEPRECATED_VERSION and QT_DEPRECATED_VERSION_X to + conditionally display deprecation warnings + * Added qExchange(), a drop-in for C++14's std::exchange() + + - Windows: + * QSysInfo::prettyProductName() now returns a version including the + Windows 10 release id or Windows 7 build number respectively, + resembling the version string displayed by the winver tool. + +**************************************************************************** +* QtDBus * +**************************************************************************** + + - QDBusAbstractInterface: + * The call() and asyncCall() methods now accept more than eight QVariant + arguments. + + - QDBusObjectPath: + * Added explicit cast operator to QVariant. + +**************************************************************************** +* QtGui * +**************************************************************************** + + - QColor: + * Added QColorConstants, a namespace containing constexpr QColor + instances. + + - A QColorSpace class has been added, and color spaces are now parsed from + PNG and JPEG images. No automatic color space conversion is done + however, and applications must request it. + - Added support for filtering Vulkan debug messages in QVulkanInstance. + This is especially useful for processing or suppressing messages from + the validation layers. + - Obsolete constructors and accessors in QWheelEvent now have proper + deprecation macros, and are no longer in use in any Qt modules. + What is left is intended to be compatible with planned changes in Qt 6. + + - QFont: + * [QTBUG-77908] Fixed kerning error with certain fonts. + * [QTBUG-76239] Fixed an issue where application fonts would be parsed + multiple times, causing some unnecessary overhead when during + application startup. + * [QTBUG-46322] Resolving a font that just has a family set with + families set will prepend the family to the families so that it is + still the first preference for the font. + + - QImage: + * [QTBUG-42540], [QTBUG-68787] Loading of image files having a file + name suffix for a different image file type has been + fixed. QImageReader will now ask the suffix format handler to + confirm the file contents (canRead()), and fall back to normal + file content recognition on failure. This implies a slight + behavior change in QImageReader::loopCount(), ::imageCount() and + ::nextImageDelay(): For an unreadable file with a recognized + suffix, they would earlier return 0, while they now will + return -1, i.e. error, as per the documentation. + + - QPainter: + * HighQualityAntialiasing and NonCosmeticDefaultPen are marked as + deprecated and don't have an effect anymore + + - QTextDocument: + * [QTBUG-36152] CSS styling of table cell borders (styling and + elements) is now supported during HTML import and export, including + border-color, border-width and border-style. Setting the table's + border-width to a value >= 1 and enabling border-collapse will now draw + a simple, clean table grid (1px) with an outer border of the specified + width and color. A manual test was added, which allows editing HTML + with live preview. + * [QTBUG-43589] Fixed incorrect rounding of widths of variable-width + columns in tables, to avoid border drawing artifacts. + * [QTBUG-78318] QTextFrameFormat margins, padding and borders are now + scaled to device coordinates, and thus correctly sized on high-dpi + displays and printers. + * Markdown (CommonMark or GitHub dialect) is now a supported format for + reading into and writing from QTextDocument, via the setMarkdown() and + toMarkdown() functions. We do not guarantee that every markdown + document can be re-written exactly as it was read; but that does work + in many cases, and it's OK to report bugs about cases that don't work. + + - Touch: + * [QTBUG-77142] When a stationary touchpoint contains some "interesting" + property change (pressure or velocity, so far), it is delivered normally. + +**************************************************************************** +* QtNetwork * +**************************************************************************** + + - QAuthenticator: + * [QTBUG-4117] Add support for SPNEGO/Negotiate + + - QHostInfo: + * Added move contructor. + + - QNetworkAccessManager: + * [QTBUG-69477] Don't fail when FTP does not implement the HELP command. + * Added setAutoDeleteReplies to QNetworkAccessManager to enable the + AutoDeleteReplyOnFinishAttribute attribute for all QNetworkRequests + that are passed to QNetworkAccessManager. + + - QNetworkRequest: + * Added the AutoDeleteReplyOnFinishAttribute attribute to + QNetworkRequest, which makes QNetworkAccessManager delete the + QNetworkReply after it has emitted the "finished" signal. + * Add an ability to configure HTTP/2 protocol + + - QSslKey: + * Key data is cleared as soon as possible when move-assigning. + + - QSslSocket: + * [QTBUG-72016] Added runtime validation of the SSL private key when it + is loaded through a file path. + +**************************************************************************** +* QtSql * +**************************************************************************** + + - QPSQL: + * [QTBUG-79033][QTBUG-79064] added support for PostgreSQL 12 + + - QSqlite: + * Updated to v3.30.1 + + - QSqlite2: + * Marked QSQLITE2 plugin as obsolete - it will be removed with Qt6 + together with the QTDS plugin + +**************************************************************************** +* QtTestLib * +**************************************************************************** + + - Comparison of QImage, QPixmap now checks for the device pixel ratio. + - It is now possible to perform static initialization before QApplication + instantiation by implementing a initMain() function in the test class. + +**************************************************************************** +* QtWidgets * +**************************************************************************** + + - QActionGroup: + * Added new exclusionPolicy property. Set it to ExclusiveOptional to + allow unchecking the active checkable action in an exclusive group. + + - QCalendarWidget: + * Allow choice of calendar, with Gregorian remaining the default. + + - QComboBox: + * Two new signals textHighlighted() and textActivated() were added to + replace highlighted()/activated() QString overloads. + + - QDateTimeEdit: + * Allow choice of calendar, with Gregorian remaining the default. + + - QFileDialog: + * The widgets-based dialog now remembers the selected files when + navigating the history. + + - QFormLayout: + * Honor the vertical expanding state of a widget inside a QFormLayout. + + - QGraphicsWidget: + * Added QMarginsF overloads of setContentsMargins() and + setWindowFrameMargins(). + + - QGroupBox: + * [QTBUG-259389 Always disable children of a checkable, unchecked group + box before showing. + + - QLabel: + * Markdown is now a supported textFormat for QLabel. + + - QLayout: + * Prevent clipping of group box titles on macOS (and similar styles that + draw into layout margins) + + - QLineEdit: + * Behavior change: now the editingFinished signal is emitted only once + after the line edit content was edited. + * The getTextMargins() member function has been deprecated in favor of + textMargins(). + + - QStyle: + * Style sheets now only use the part of the stylesheet font that it + knows about. The remaining will be resolved/inherited from the + context. + + - QTextBrowser: + * Markdown is now a supported format. QTextBrowser::setSource() detects + the common file extensions (.md, .mkd and .markdown). In case it + cannot be detected that way, setSource() now takes an optional + ResourceType enum argument so that the type can be overridden. + QTextBrowser inherits all the QTextEdit features: if readOnly is set + to false, the user can perform the editing operations that QTextEdit + allows. If readOnly is set to true (the default), the user can click + Markdown hyperlinks to emit the anchorClicked() signal, as with HTML. + + - QTextEdit: + * [QTBUG-75931] Added support for copy-pasting foreground brushes with + textures within same document. + * Markdown (CommonMark or GitHub dialect) is now a supported format, + via the markdown property. GitHub dialect is the default, and supports + all features such as hyperlinks, images, tables, lists, checklists, etc. + * If the text was loaded from a Markdown document that contains checkboxes, + the user can click on them to toggle the states. The cursor changes to + PointingHandCursor when the mouse is hovering over a checkbox. + + - QTreeView: + * Don't emit clicked signal after a doubleClicked signal. + + - QWidget: + * The getContentsMargins() member function has been deprecated in favor + of contentsMargins(). + +**************************************************************************** +* Platform Specific Changes * +**************************************************************************** + + - Android + * Fixed an issue where an application installation would be irrecoverably + broken if power loss or a crash occurred during its first initialization + run. + * Make it easy to run Qt tests on Android. "$ make check" is all that's + needed to run a test on an Android device. + * Remove ant support from androiddeployqt + * Introduce "make apk" target, an easy way to create an apk. + * Android depends on NDK r20+ + * Android multi arch build in one go, needed to support the new .aab + packaging format. + * -android-abis configure script parameter useful to compile Qt only for a + selected Android ABIs. + * Instead of bundling QML resources in assets and extracting them on first + start, Qt now creates an .rcc file and register it before invoking the + main function. + * Fixed regression that made it impossible for an application to use the + tap-and-hold gesture. + + - Linux: + * Added a device spec for Raspberry Pi 4 (32-bit, V3D) + * Added a device spec for 64-bit i.MX8 systems (Vivante graphics stack) + + - MinGW: + * [QTBUG-4155] Added a suffix to debug mode pkgconfig files. + + - macOS: + * The drawableSize of Metal layers is no longer updated automatically on + window resize or screen change. Update the size manually in response to + resizeEvent(), or at the start of each frame, as needed. + + - Mir: + * The Mir platform plugin has been removed: use the Wayland plugin when + connecting to a Mir display server. + + - Windows: + * It is now possible to enable RTL mode by passing the option -platform + windows:reverse. + * [QTBUG-74748] Fixed a bug where it would be impossible to + request different faces of a font family after a specific type face + has been in use. + +**************************************************************************** +* Third-Party Code * +**************************************************************************** + - Upgraded bundled Freetype version to 2.10.1. + - Build sqlite without SQLITE_OMIT_LOAD_EXTENSION + - Qt Gui: Added md4c markdown parser to src/3rdparty/md4c (MIT licensed). + - [QTBUG-79418] Updated double-conversion code to upstream version 3.1.5. + - [QTBUG-79420] libjpeg-turbo was updated to version 2.0.3 + - [QTBUG-79418] Updated DNS public suffix list + +**************************************************************************** +* Tools * +**************************************************************************** + + - rcc: + * Added -d option to generate a dependency file. + * Added support for Python as output format. + +**************************************************************************** +* configure * +**************************************************************************** + + - Added the configure option -qtlibinfix-plugins to rename plugins + according to QT_LIBINFIX. This option is off by default. + +**************************************************************************** +* CMake * +**************************************************************************** + + - [QTBUG-38913][QTBUG-76562] Added ability to auto-import non-qml plugins + on CMake builds + +**************************************************************************** +* qmake * +**************************************************************************** + + - Installation targets do not ignore the exit code of QINSTALL and + QINSTALL_PROGRAM anymore. + - Introduced the variables LEX_DIR and YACC_DIR which determine the + location of lex/yacc output. Fixed parallel execution of lex/yacc for + debug_and_release builds. + - The syntax 'LIBS += -frameworkFoo', or 'LIBS += "-framework Foo"' is no + longer supported. Use the canonical 'LIBS += -framework Foo' instead. + - Fixed precompiled headers for the Clang compiler. + + - Android: + * Remove gcc-style PCH directives from the android-clang mkspec. -- cgit v1.2.3