diff options
author | Antti Kokko <antti.kokko@qt.io> | 2018-10-31 11:13:12 +0200 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2018-11-14 07:17:45 +0000 |
commit | 98a445fa23e7943f25d2de2f1fb36c104d5d7fda (patch) | |
tree | 9c75224b38b628d6cc194fe385f09dd330fb43a0 /dist | |
parent | 299734c3ee96055f72557cf8c25221bab5ce1a11 (diff) | |
download | qtbase-98a445fa23e7943f25d2de2f1fb36c104d5d7fda.tar.gz |
Add changes file for Qt 5.12.0
Edited-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: I65a59400c802db282fdbd87b1b9b89e9e5e962f6
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Tuukka Turunen <tuukka.turunen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'dist')
-rw-r--r-- | dist/changes-5.12.0 | 470 |
1 files changed, 470 insertions, 0 deletions
diff --git a/dist/changes-5.12.0 b/dist/changes-5.12.0 new file mode 100644 index 0000000000..fbed338b46 --- /dev/null +++ b/dist/changes-5.12.0 @@ -0,0 +1,470 @@ +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-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 * +**************************************************************************** + + - Layer-backed mode is now the default for QWindow. + + - 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. |