Revision control

++ Qt 5.13 introduces many new features and improvements as well as bugfixes
++ over the 5.12.x series. For more details, refer to the online documentation
++ included in this distribution. The documentation is also available online:
++
++
++ The Qt version 5.13 series is binary compatible with the 5.12.x series.
++ Applications compiled for 5.12 will continue to run with 5.13.
++
++ Some of the changes listed in this file include issue tracking numbers
++ corresponding to tasks in the Qt Bug Tracker:
++
++
++ Each of these identifiers can be entered in the bug tracker to obtain more
++ information about a particular change.
++
++ ****************************************************************************
++ * Important Source Incompatible Changes *
++ ****************************************************************************
++
++ - Moc generated files include the standard <memory> header file now.
++ A side effect of this is that code including the Moc output from within
++ a namespace will fail to compile.
++
++ ****************************************************************************
++ * Important Behavior Changes *
++ ****************************************************************************
++
++ - The Qt resource system now supports compressing content using the
++ Zstandard (https://zstd.net) algorithm. Compared to zlib, it compresses
++ better for the same CPU time, so this algorithm is the default.
++ QResource::isCompressed() returns true for either compression algorithm.
++ Use QResource::compressionAlgorithm() to find out which algorithm to
++ decompress. QFile will automatically decompress using the correct
++ algorithm.
++
++ - QDataStream version bumped up to 19 to account for changes in the
++ serialization of QFont.
++
++ - [QTBUG-73048] Qt now enables by default warnings when using APIs
++ marked as deprecated. It is possible to disable such warnings by
++ defining the QT_NO_DEPRECATED_WARNINGS macro. The old
++ QT_DEPRECATED_WARNINGS macro which was used to enable this warning
++ now has no effect (warnings are automatically enabled).
++
++ ****************************************************************************
++ * Third-Party Code *
++ ****************************************************************************
++
++ - Updated bundled SQLite to version 3.28.0.
++ - [QTBUG-72623] Updated DNS public suffix list
++ - [QTBUG-73883] libjpeg-turbo was updated to version 2.0.2
++ - Bundled libpng was updated to version 1.6.37
++
++ ****************************************************************************
++ * Platform-Specific Changes *
++ ****************************************************************************
++
++ - X11 / XCB:
++ * [QTBUG-45375] QTabletEvent coordinates now come from AbsX/AbsY
++ valuators in the X11 event, in more precise 32.32 fixed-point format,
++ scaled to fit the virtual desktop. It's possible to revert to using
++ the legacy 16.16-format event_x/event_y coordinates as in previous
++ releases by setting the QT_XCB_TABLET_LEGACY_COORDINATES environment
++ variable.
++ * [plugins] platforminputcontexts now use libxkbcommon-compose APIs for
++ compose key input, instead of Qt's own implementation.
++
++ - Android
++ * Increased the minimum supported Android version to Android 5.0
++ (API level 21).
++
++ - Windows
++ * [QTBUG-47247][QTBUG-71855] Add a default setting for
++ hasBorderInFullScreen in QtPlatformHeaders, QWindowsWindowFunctions
++ * [QTBUG-57180] Removed confusing DirectWrite warning when loading
++ bitmap fonts.
++
++ - macOS
++ * Accessibility: VoiceOver now reads all lines in multiline text
++ components when navigating by lines.
++
++ ****************************************************************************
++ * Tools *
++ ****************************************************************************
++
++ - configure & build system:
++ * Added --linker=[bfg,lld,gold] configure flag.
++ * The default OpenGL configuration changed from ANGLE to dynamic OpenGL.
++ * Added -schannel option to enable Schannel support on Desktop Windows.
++ * Added -coverage option for recording coverage data during execution
++
++ - CMake
++ * Added support for automatic linking of transitive dependencies in
++ static builds
++
++ - qmake
++ * [QTBUG-53654] Introduced the variables WINDOWS_TARGET_PLATFORM_VERSION
++ and WINDOWS_TARGET_PLATFORM_MIN_VERSION for overriding the default
++ values of WindowsTargetPlatformVersion and
++ WindowsTargetPlatformMinVersion in Visual Studio project files.
++
++ - RCC now supports compressing content using the Zstandard
++ (https://zstd.net) algorithm. Compared to zlib, it compresses better for
++ the same CPU time, so this algorithm is the default. To go back to the
++ previous algorithm, pass command-line option --compress-algo=zlib.
++ Compression levels range from 1 (fastest, least compression) to 19
++ (slowest, best compression). Level 0 tells the library to choose an
++ implementation-defined default. The default compression level is
++ "heuristic" (level -1): under this mode, RCC will attempt a very fast
++ compression (level 1) and check if the file was sufficiently compressed.
++ If it was, then RCC will compress again using an implementation-defined
++ level.
++
++ ****************************************************************************
++ * QtCore *
++ ****************************************************************************
++
++ - New class QConcatenateTablesProxyModel, to concatenate the rows from
++ multiple source models.
++ - New class QTransposeProxyModel to swap rows and columns of the source
++ model.
++ - Added macros Q_DISABLE_MOVE and Q_DISABLE_COPY_MOVE complementing
++ Q_DISABLE_COPY.
++ - Qt Containers and meta type system now use C++11 type traits
++ (std::is_trivial, std::is_trivially_copyable and
++ std::is_trivially_destructible) to detect the class of a type not
++ explicitly set by Q_DECLARE_TYPEINFO. (Q_DECLARE_TYPEINFO is still
++ needed for QList.)
++
++ - QCommandLineParser:
++ * [QTBUG-58490] The application name (if set in QCoreApplication) is now
++ shown in error messages.
++
++ - QDateTime:
++ * [QTBUG-71030] Fixed race conditions in getting the local time zone. Qt now
++ has a mutex lock around all calls to tzset() and mktime(). Application
++ code should avoid calling those functions directly.
++
++ - QFile:
++ * Made QFile::copy() issue a filesystem-synchronization system call,
++ which would make it less likely to result in incomplete or corrupt
++ files if the system reboots or uncleanly shuts down soon after the
++ function returns. New code is advised to use QSaveFile instead, which
++ also allows display of a progress report while copying.
++
++ - QFileInfo:
++ * [QTBUG-63970][QTBUG-30401][QTBUG-20791] Fixed resolving of symbolic
++ links to UNC shares on NTFS file systems.
++
++ - QJsonArray:
++ * [QTBUG-32793] Added cbegin() and cend() methods for compatibility with
++ the Standard Library container concepts.
++
++ - QJsonDocument:
++ * [QTBUG-71445] Added the ability to stream QJsonDocument into and from
++ QDataStream if it is contained in a QVariant.
++
++ - QLocale:
++ * Added support for Western Balochi, Ido, Lojban, Sicilian and
++ Southern Kurdish.
++ * [QTBUG-71445] Added a const overload for formattedDataSize().
++ * [QTBUG-782] Added toLong() and toULong().
++
++ - QMetaObject:
++ * Non-copyable lambdas can now be used with invokeMethod(). For
++ consistency reasons, the functor object is now always moved.
++
++ - QMimeDatabase:
++ * Added configure option -no-mimetype-database that tells Qt not to
++ bundle its own copy of the XDG MIME database. If this option is
++ passed, QMimeDatabase will only work if there's a system copy in
++ $XDG_DATA_DIRS/mime. This option is useful for Linux distributions
++ that ensure the data is always present.
++
++ - QSettings:
++ * Added QSettings(Scope...) constructor to avoid using #ifdef in Qt
++ applications.
++
++ - QStringListModel:
++ * [QTBUG-69807] Implemented moveRows
++
++ - QUrlQuery:
++ * QUrlQuery now provides an initializer list constructor. It can be
++ created using a list of key/value pairs.
++
++ - QVector:
++ * QVector no longer requires a default constructor for its template
++ argument.
++
++ ****************************************************************************
++ * QtDBus *
++ ****************************************************************************
++
++ - Matching namespace prefixes using QDBusServiceWatcher (instead of full
++ service names) is now possible. For example, "com.example.backend1*"
++ will match "com.example.backend1", "com.example.backend1.foo" and
++ "com.example.backend1.foo.bar", but not "com.example.backend12".
++
++ ****************************************************************************
++ * QtGui *
++ ****************************************************************************
++
++ - CSS:
++ * Added support for HSL/HSLA colors.
++ * Fix the range of the hue parameter when parsing a color given in HSL
++ or HSV.
++
++ - QFont:
++ * Add setFamilies()/families() to support use of font families with
++ commas and quotes in their name.
++
++ - QImage:
++ * [QTBUG-41176] Added support for 16-bit grayscale format.
++ * A new method convertTo has been added to change the format of a QImage
++ in place.
++
++ - QPainterPath:
++ * Added clear(), reserve(), capacity(). clear() removes allocated
++ QPainterPath elements but preserves allocated memory, which can be
++ useful for application with complex paths that are often recreated.
++ reserve() and capacity() follow QVector semantics.
++
++ - QWindow:
++ * [QTBUG-67903][QTBUG-52944] QWindow::transientParent is now a property.
++
++ - Text:
++ * [QTBUG-60813] Deprecated QFont::lastResortFamily() and
++ QFont::lastResortFont() which are not in use in Qt 5 and did not
++ provide any useful information.
++ * [QTBUG-22813] Added support for setting the font's style name in
++ QTextCharFormat.
++
++ ****************************************************************************
++ * QtNetwork *
++ ****************************************************************************
++
++ - TLS (SSL):
++ * Support for SSLv2 and SSLv3 sockets has been dropped, as per RFC 6176
++ (2011) and RFC 7568 (2015).
++ * The Schannel backend now supports ALPN and thus HTTP/2.
++ * [QTBUG-62637] Added support for Schannel on Desktop Windows. To build
++ Qt with Schannel support use '-schannel' during configure.
++ * Added class QOcspResponse as a part of OCSP stapling support.
++ * [QTBUG-12812][QTBUG-17158] Added OCSP-stapling support for OpenSSL
++ backend
++ * [QTBUG-71828][QTBUG-73289] Fixed SSL verification when connecting to IP
++ address (no host name) if that IP address is listed in the certificate.
++
++ ****************************************************************************
++ * QtTestLib *
++ ****************************************************************************
++
++ - Added QTest::toString(const QModelIndex &idx)
++
++ - Removed support for GPU_BLACKLIST files. Reimplementations or
++ equivalents of QTEST_MAIN() should remove their uses of
++ QTEST_ADD_GPU_BLACKLIST_SUPPORT and its _DEFS; they are still vacuously
++ defined, but serve no remaining purpose and shall be undefined in due
++ course.
++
++ ****************************************************************************
++ * QtWidgets *
++ ****************************************************************************
++
++ - QAbstractScrollArea:
++ * [QTBUG-69120] QTableView/QTreeView, when reporting their
++ viewportSizeHint(), now correctly take into account their scroll
++ bars' visibility and visibilityPolicy.
++
++ - QHeaderView:
++ * dataChanged now respects the given roles to avoid useless
++ recomputations.
++
++ - QLabel:
++ * Minor performance improvement when painting a label with an image.
++
++ - QListWidget:
++ * [QTBUG-69807] Implemented moveRows in model
++ * [QTBUG-68977] Sped up handling of hidden items when working with large
++ data sets.
++
++ - QPlainTextEdit:
++ * Added QRegularExpression find() method overload.
++
++ - QTextEdit:
++ * Added QRegularExpression find() method overload.
++
++ - QTreeView:
++ * Added expandRecursively() to expand all items below a given index.
++
++ - QWidgetTextControlPrivate:
++ * [QTBUG-69735] Moved cursor selection to start.
++
++ ****************************************************************************
++ * QtSql *
++ ****************************************************************************
++
++ - SQLite:
++ * [QTBUG-63498] The json1-extension for the SQLite3 plugin is now enabled
++ by default.
++
++ - PostgreSQL:
++ * QSqlDatabase is now stricter about table names when used with record()
++ and primaryIndex(). If the tablename was not quoted when it was
++ created, then the table name passed to record() and primaryIndex()
++ needs to be in lower case so that PostgreSQL is able to find it.