summaryrefslogtreecommitdiffstats
path: root/dist/changes-5.12.0
diff options
context:
space:
mode:
Diffstat (limited to 'dist/changes-5.12.0')
-rw-r--r--dist/changes-5.12.0469
1 files changed, 469 insertions, 0 deletions
diff --git a/dist/changes-5.12.0 b/dist/changes-5.12.0
new file mode 100644
index 0000000000..15b12b60ab
--- /dev/null
+++ b/dist/changes-5.12.0
@@ -0,0 +1,469 @@
+Qt 5.12 introduces many new features and improvements as well as bugfixes
+over the 5.11.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.12 series is binary compatible with the 5.11.x series.
+Applications compiled for 5.11 will continue to run with 5.12.
+
+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 *
+****************************************************************************
+
+ - QtCore:
+ * [QTBUG-34460] qFatal() no longer uses std::abort() on Windows, as
+ there are circumstances where global destructors are still run after
+ that call, leading to possible deadlocks.
+ - QRegularExpression:
+ * [QTBUG-66781] Regular expressions are now automatically optimized
+ (including JIT compiling) on their first usage. The pattern options
+ OptimizeOnFirstUsageOption and DontAutomaticallyOptimizeOption no
+ longer have any effect, and will get removed in a future version of
+ Qt. QRegularExpression::optimize() can be still used to compile and
+ optimize the regular expression in advance (before any match), if
+ needed.
+ - QDataStream:
+ * [QTBUG-59978][QTBUG-67995] version bumped up to 18 to account for
+ changes in the serialization of QGradient.
+ - Dialogs:
+ * QFileSystemModel now uses QRegularExpression internally for wildcard
+ matching. Note that QRegularExpression might not give the exact same
+ result as QRegExp as its implementation follows strictly the glob
+ patterns definition for wildcard expressions.
+
+****************************************************************************
+* Third-Party Code *
+****************************************************************************
+
+ - Sources of xcb-xinput 1.13 were bundled and are available via -qt-xcb.
+ - The minimal required version of libxcb is now 1.9. Bundled xcb sources
+ were updated to libxcb 1.9.1 built with xcb-proto 1.8.
+ - [QTBUG-67654] Updated CLDR to version 33.1
+ - [QTBUG-71144] Updated CLDR to version 34
+ - [QTBUG-66561][QTBUG-70008] double-conversion got updated to upstream
+ version 3.1.1.
+ - libjpeg-turbo was updated to version 2.0.0
+ - libpng was updated to version 1.6.35
+ - Sqlite was updated to version 3.25.2
+ - [QTBUG-71109] updated bundled libxkbcommon 0.4.1 -> 0.8.2 (up to
+ 31f1f355700870c6615399fbfa7934934b3a9a57)
+ - PCRE2 was updated to version 10.32.
+ - Added documentation for the SLJIT part of pcre2, which is available
+ under the BSD-2-Clause license.
+
+****************************************************************************
+* Tools *
+****************************************************************************
+
+ - rcc:
+ * Added a --list-mapping option which shows a mapping of resource paths
+ to file system paths.
+
+ - qmake
+ * New CONFIG options lrelease and embed_translations were added.
+ CONFIG+=lrelease does run lrelease on translation files listed in
+ TRANSLATIONS and EXTRA_TRANSLATIONS. CONFIG+=embed_translations does
+ include the generated .qm files as resources under :/i18n/.
+
+ - uic
+ * [QTBUG-65251][QTBUG-51602] The -no-stringliteral option is now
+ deprecated and UIC will not generate QStringLiteral anymore.
+
+****************************************************************************
+* QtCore *
+****************************************************************************
+
+ - Added support for CBOR:
+ * Added QCborStreamReader and QCborStreamWriter, classes for low-level
+ reading and writing of CBOR streams.
+ * Added QCborValue, QCborArray and QCborMap, classes that permit DOM-like
+ access to CBOR data. The API is similar to QJsonValue, QJsonArray and
+ QJsonObject, respectively.
+
+ - QByteArray:
+ * Added QByteArray::isUpper() and QByteArray::isLower() to check if a
+ byte array contains only uppercase or only lowercase Latin1 letters.
+ * Added compare(), which takes Qt::CaseSensitivity as one of the
+ parameters. This function is more efficient than using toLower() or
+ toUpper() and then comparing.
+ * [QTBUG-66187] QByteArray::toInt(), QByteArray::toDouble() and the
+ other number conversion functions now ignore leading and trailing
+ whitespaces, as their QString counterparts already did. For
+ consistency reasons, the same behavior was added to
+ qEnvironmentVariableIntValue() also.
+
+ - QCommandLineParser:
+ * [QTBUG-70174] Fixed a bug that caused the help output to show two
+ options or more in the same line if the options didn't have a
+ description.
+
+ - QCryptographicHash:
+ * Add a static method, hashLength, which returns the length of the
+ output of a hash function in bytes.
+
+ - QDir:
+ * QDir now uses QRegularExpression internally for wildcard matching.
+ Note that QRegularExpression might not give the exact same result as
+ QRegExp as its implementation follows strictly the glob patterns
+ definition for wildcard expressions. Nevertheless, the tests for QDir
+ return the same results as before.
+ * QDir::tempPath() now reports the canonical path of the temporary
+ directory, with any symlinks resolved.
+ * On Windows, QDir::drives() no longer returns drives whose media were
+ ejected.
+
+ - QExplicitlySharedDataPointer:
+ * [QTBUG-66635][QTBUG-66946] Added operator== for nullptr.
+
+ - QFile:
+ * [QTBUG-13470] When opening a file, if Truncate is asked for, or
+ implied by other flags, it shall be attempted, regardless of what
+ other options are selected. We previously did this on Windows; now we
+ do so also on Unix (even when appending).
+
+ - QFileSystemWatcher:
+ * [QTBUG-69320] Fixed a bug that caused addPaths() to crash on Windows
+ if adding a path to be watched on removable storage, if that
+ addPaths() was called on a thread not created by QThread and no
+ QEventLoop has been created yet.
+
+ - QFlags's operator| for enum types in the Qt namespace are now declared
+ in the Qt namespace itself.
+
+ - QLocale:
+ * [QTBUG-57802] Added support for World and Europe as (numeric)
+ "country" codes ("territory" in CLDR terms), thereby enabling support
+ for Yiddish and Esperanto, among other locales using such codes.
+
+ - Logging:
+ * [QTBUG-69548] Qt will now accept qtlogging.ini files written by
+ QSettings.
+
+ - QMetaType can now register constructor for a set of dynamic types.
+
+ - QRegularExpression:
+ * Implemented support for wildcard patterns through a static method.
+ * QRegularExpression now provides anchoredPattern() which is a helper
+ function to build regular expressions used for exact matching.
+ * Implemented support for wildcard patterns. Warning: QRegularExpression
+ might not give the exact same result as QRegExp as its implementation
+ follows strictly the glob patterns definition for the wildcard
+ expressions.
+
+ - [QTBUG-62894] Introduced QScopeGuard.
+
+ - QSharedDataPointer:
+ * [QTBUG-66635][QTBUG-66946] Added operator== for nullptr.
+
+ - QSortFilterProxyModel:
+ * [QTBUG-46810] QSortFilterProxyModel now supports QRegularExpression.
+ * Setters of both the filterRegExp and filterRegularExpression
+ properties are now slots and can be used with the old as well as the
+ new syntax.
+
+ - QString:
+ * Added the functions QString::isUpper() and QString::isLower() to check
+ if a string contains only uppercase or only lowercase letters.
+
+ - QTextCodec:
+ * [QTBUG-56203] QTextCodec automatically deregisters on destruction now.
+
+ - QTimer:
+ * [QTBUG-69800] Fixed singleShot() methods that lacked proper "const"
+ qualification to QObject context receivers.
+ * Added QTimer::connectTo(), a shorthand way of connecting to the
+ timeout() signal.
+
+ - QTranslator:
+ * [QTBUG-31031] It is now possible to load qm files without any
+ translations. This is particularly useful for the language the
+ untranslated strings are written in; logic to load translations can
+ now handle the source language like all other languages.
+
+ - QUndoStack:
+ * [QTBUG-40040] Exposed canUndo, canRedo, undoText, redoText and clean as
+ Q_PROPERTYs.
+
+ - QUrl:
+ * Fixed a bug that caused QUrl::matches to incorrectly compare two URLs
+ with different hostnames or different usernames as equal, if certain
+ QUrl::RemoveXxx options were passed.
+
+ - other:
+ * Added an overload of q{To,From}{Big,Little}Endian that operates on a
+ memory region.
+ * Added the QT_TR_N_NOOP(), QT_TRANSLATE_N_NOOP(), and
+ QT_TRANSLATE_N_NOOP3() macros for numeral dependent delayed
+ translation.
+
+****************************************************************************
+* QtGui *
+****************************************************************************
+
+ - QBitmap:
+ * Added overloaded QBitmap::fromImage that takes QImage rvalue.
+
+ - QDocumentWriter:
+ * [QTBUG-63581] QDocumentWriter now supports table borders, table
+ alignment, table width, column widths, line height and image
+ resolution when exporting QTextDocuments to ODF files.
+
+ - QGradient:
+ * [QTBUG-59978][QTBUG-67995] Added ObjectMode coordinate mode.
+
+ - QGuiApplication:
+ * [QTBUG-26413] Fixed queryKeyboardModifiers() on macOS to actually return
+ the current modifier key state.
+
+ - QImage:
+ * [QTBUG-45858] QImage now supports 64bit image formats with 16 bits per
+ color channel, compatible with 16bpc PNG or RGBA16 OpenGL formats.
+
+ - QIntValidator:
+ * [QTBUG-59650] Input value with over the highest acceptable value, but
+ with no more digits than the maximum value, is now considered
+ intermediate.
+
+ - QOpenGLShader:
+ * [QTBUG-66074] QOpenGLShader has been fixed to expose geometry and
+ tessellation evaluation/control shaders with OpenGL ES 3.2.
+
+ - QPagedPaintDevice:
+ * The default constructor has been deprecated since that class is
+ not meant to be used standalone. The two public but internal
+ devicePageLayout() methods are now deprecated.
+
+ - QPainter:
+ * [QTBUG-67248] Fixed drawTiledPixmap() and texture-brush painting with
+ high-DPR images.
+ * QPainter::drawTiledPixmap() now tiles in the device independent
+ coordinate system.
+
+ - QPicture:
+ * [QTBUG-71208] Fixed a crash reading malformed picture file.
+
+ - QStandardItemModel:
+ * itemData does not return role 255 any more.
+
+ - QTextImageFormat:
+ * Added two new functions to the class: setQuality(int=100) and
+ quality(). They are currently used by QTextODFWriter to determine the
+ image type and quality when exporting images to ODT files.
+
+ - Text:
+ * [QTBUG-57479] Non-breaking spaces are now displayed as a degree symbol
+ when QTextOption::ShowTabsAndSpaces is used.
+ * [QTBUG-69085] Fixed position of text cursor set by clicking outside
+ the bounds of a text line that ends with a surrogate pair or ligature.
+ * [QTBUG-70293] Fixed a crash that can happen when calling a setter on a
+ QTextCursor after its QTextDocument has been deleted.
+
+****************************************************************************
+* QtNetwork *
+****************************************************************************
+
+ - Added DTLS over UDP support.
+
+ - QPasswordDigestor:
+ * [QTBUG-30550] Added QPasswordDigestor
+
+ - QSslKey:
+ * [QTBUG-17718] The OpenSSL backend can now load encrypted PKCS#8
+ DER-encoded keys.
+ * [QTBUG-59068] Added support for PKCS#8-encoded keys in the generic SSL
+ back-end (used for SecureTransport on macOS and for WinRT). Note that
+ it does not support keys encrypted with a PKCS#12 algorithm.
+
+ - QSslSocket:
+ * Enabled ALPN (and thus HTTP/2 negotiation) in SecureTransport backend
+ (macOS).
+ * [QTBUG-69420] Implemented renegotiation for SecureTransport backend.
+
+ - SSL:
+ * The OpenSSL 1.1 backend also works with OpenSSL 1.1.1 (and thus can
+ negotiate TLS 1.3).
+ * [QTBUG-68156] OpenSSL >= 1.0 is now required to build Qt with OpenSSL
+ support.
+
+****************************************************************************
+* QtSql *
+****************************************************************************
+
+ - MySQL:
+ * Now supports MySQL versions >= 8.0.1.
+ * [QTBUG-57028] The TIME data type is now treated like a string-based
+ type in order to respect the full range of the TIME data type.
+
+****************************************************************************
+* QtTest *
+****************************************************************************
+
+ - QCOMPARE:
+ * Now outputs contents of std::tuple on failure.
+ * [QTBUG-65845] QtTest now prints values of QFlags that failed to compare.
+
+****************************************************************************
+* QtWidgets *
+****************************************************************************
+
+ - Itemviews:
+ * [QTBUG-12129][QTBUG-14949][QTBUG-57891] Fixed eliding of multi-line
+ items.
+
+ - QAbstractSpinBox:
+ * [QTBUG-67380] The Qt::ControlModifier now increases the number of steps a
+ QAbstractSpinBox takes for the following interactions: scrolling, up/down
+ keyboard keys and the spin box buttons. Previously, Qt::ControlModifier
+ only affected scrolling.
+
+ - QApplication:
+ * [QTBUG-67736] QApplication no longer sends a mouse move event to the
+ entered widget if it sends synthetic enter and leave events.
+
+ - QHeaderView:
+ * [QTBUG-23203] Padding/margin is now taken into account when the text gets
+ elided.
+ * [QTBUG-59501] The qss padding attribute is now honored in all cases.
+ * [QTBUG-62091] The size of the decoration is now taken into account in
+ paintSection().
+ * [QTBUG-65017] The drag'n'drop indicator is now using the correct font.
+ * [QTBUG-69431] setDefaultSectionSize() now checks if the given value is
+ inside min/max section size.
+ * [QTBUG-70084] The section indicator is now high-DPI-aware.
+
+ - QItemDelegate:
+ * [QTBUG-16134] Fixed text height calculation when the item has a
+ decoration or checkbox.
+
+ - QLineEdit:
+ * [QTBUG-44046] The textEdited() signal is now emitted even if the
+ QValidator has changed the user input.
+ * [QTBUG-57448] Added inputRejected() signal for when a key press is not
+ accepted by the QLineEdit. For instance, when an invalid key is
+ pressed for a validator set.
+
+ - QListView:
+ * [QTBUG-27110] The pseudo states :first/:middle/:last are now respected.
+ * [QTBUG-56606] Added itemAlignment property.
+ * [QTBUG-67440] Fixed a bug that caused items on internal move to be
+ deleted.
+
+ - QMenu:
+ * [QTBUG-69199] Removed icon highlight when a stylesheet was applied by
+ the application.
+
+ - QMessageBox:
+ * [QTBUG-35545] On Android and iOS it's now possible to show a
+ QMessageBox with custom buttons as a native dialog.
+
+ - QSpinBox/QDoubleSpinBox:
+ * Added an option for adaptive decimal step size.
+
+ - QSplashScreen:
+ * [QTBUG-43081] The alignment when the message is passed as HTML is now
+ correctly honored.
+
+ - QStyle:
+ * QStyle::SH_SpinBox_StepModifier allows the developer to pick which
+ keyboard modifier increases the number of steps a QAbstractSpinBox
+ takes for the following interactions: scrolling, up/down keyboard keys
+ and the spin box buttons. The Qt::ShiftModifier can now be used, or
+ the feature can be disabled using Qt::NoModifier. Previously, only
+ Qt::ControlModifier could be used as the modifier.
+
+ - QTabBar:
+ * [QTBUG-18146] Fixed mixed up CSS pseudo class for left and right.
+
+ - QTableView:
+ * [QTBUG-48244][QTBUG-49548] Fixed calculating geometries for editors.
+ * [QTBUG-70215] Fixed PageUp not getting to top when first row is hidden.
+
+ - QTableWidget:
+ * Fixed handling of Qt::EditRole and Qt::DisplayRole in setItemData().
+
+ - QTreeView:
+ * [QTBUG-39486] Sped up expanding items when pressing asterisk.
+
+ - QWidget:
+ * [QTBUG-68393][QTBUG-69619][QTBUG-10907] Fixed several bugs that
+ incorrectly reordered tabs for compound widgets under some special
+ circumstances.
+ * [QTBUG-65199] enterEvent() and leaveEvent() now occur when a hovering
+ drawing tablet stylus enters or leaves a widget.
+ * Added the Qt::WA_StyleSheetTarget attribute to indicate that a widget
+ was affected by a style sheet.
+
+****************************************************************************
+* Android *
+****************************************************************************
+
+ - Added Android edit context menu.
+ - Removed old debugging bridge. To be able to debug Qt on Android apps the
+ user must use QtCreator 4.6.1+.
+ - [QTBUG-63735] The system no longer restarts the application when the user
+ replaces SIM card or changes the logical density of the screen.
+ - [QTBUG-70280] ARM64 builds now default to android-21 instead of failing.
+ - [QTBUG-35545] QMessageBox now supports buttons with custom labels.
+
+****************************************************************************
+* Linux *
+****************************************************************************
+
+ - QFileDialog will use the native dialogs provided by the platform theme
+ instead of trying to use Flatpak portal to select directories.
+
+****************************************************************************
+* macOS *
+****************************************************************************
+
+ - QtGui:
+ * [QTBUG-63800] Fixed display of condensed fonts when NoFontMerging is
+ in use.
+
+ - Text:
+ * [QTBUG-69955] Fixed font weights on macOS 10.14.
+
+****************************************************************************
+* Windows *
+****************************************************************************
+
+ - [QTBUG-55762] The dimensions of invisible margins inside the frames of
+ Windows 10 windows will now be disregarded in the positioning of Qt
+ windows to avoid a misplaced look (offset by a few pixels from the
+ expected position).
+ - [QTBUG-44964][QTBUG-60437] The application attributes
+ AA_CompressTabletEvents and AA_CompressHighFrequencyEvents are now
+ supported on Windows 8 and above for touch/pen input, with the same
+ defaults as on X11 (compress touch events, don't compress tablet events)
+
+ - QTimeZone:
+ * [QTBUG-42021] Changed MS-Win to use ICU for time-zone data, when
+ available, in preference to MS's TZ APIs. The choice is made when
+ building Qt. This will give reliable results when non-DST transitions
+ arise, or when a zone's DST is not simple (e.g. interrupted by
+ Ramadan).
+
+****************************************************************************
+* winrt *
+****************************************************************************
+
+ - Added support to Windows UI Automation to the WinRT QPA, allowing
+ Qt-based UWP applications to operate with accessibility and
+ programmatic UI control tools.
+
+****************************************************************************
+* X11 *
+****************************************************************************
+
+ - [QTBUG-39624] The xcb plugin was ported to use libxcb-xinput instead of
+ libXi for XInput2 support. The -xinput2 configure option was replaced by
+ -xcb-xinput.