summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dist/changes-5.14.0542
1 files changed, 542 insertions, 0 deletions
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 <td> and <th>
+ 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.