Qt 5.7.1 is a bug-fix release. It maintains both forward and backward
compatibility (source and binary) with Qt 5.7.0.

For more details, refer to the online documentation included in this
distribution. The documentation is also available online:

http://doc.qt.io/qt-5/index.html

The Qt version 5.7 series is binary compatible with the 5.6.x series.
Applications compiled for 5.6 will continue to run with 5.7.

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.

This release contains all fixes included in the Qt 5.6.2 release.

****************************************************************************
*                   Important Behavior Changes                             *
****************************************************************************

 - [QTBUG-45031] The NSURLConnection backend of QNetworkAccessManager has
   been removed, since SecureTransport is the default SSL backend on iOS
   and is enabled by default. This means that building with -no-openssl
   -no-securetransport will no longer provide SSL capabilities on iOS.

 - QtCore / QDataStream:
   * [QTBUG-54022] Incomplete reads of Qt containers are now handled same
     way as for primitive types, meaning that previous errors are latched.

****************************************************************************
*                          Library                                         *
****************************************************************************

QtCore
------

 - QLockFile:
   * Fixed permissions on lock files on Unix to allow for adjustments via
     umask.

 - QMimeType:
   * [QTBUG-50776] QMimeType::comment() now uses the default locale rather
     than system locale, so that applications can control which language is
     being used.

 - QUrl:
   * QUrl::resolved() no longer treats a URL with a scheme as a relative URL
     if it matches this URL's scheme. For now it still treats "file:name.txt"
     as relative for compatibility, but be warned that in Qt 5.8 it will no
     longer consider those to be relative. Both isRelative() and RFC 3986 say
     that such URLs are not relative, so starting from Qt 5.8, resolved() will
     return them as is.

 - QXmlStreamReader:
   * Fixed a bug in the XML parser that prevented to load XML that
     contained invalid characters for XML 1.0.

 - QXmlStreamWriter:
   * Fixed a bug that prevented the generation of valid XML files when
     using encoding with 8 bit per character but not ASCII compatible.
     QXMLStreamWriter generated XML markup using always ASCII in this case.

QtGui
-----

 - QGuiApplication:
   * [QTBUG-51703] Fixed a bug that would cause QGuiApplication::sync() to
     be left undefined for Qt builds without session management support.

 - QIconLoaderEngine:
   * Fixed theme lookup for scalable entries

 - QTextDocument:
   * [QTBUG-48182] Fixed a bug that would return a wrong position when
     searching backward from the end of the document.

 - Text:
   * [QTBUG-49452] Fixed a performance regression in Freetype engine that
     was introduced in Qt 5.5.
   * [QTBUG-53911] Fixed a crash that could happen if you were doing many
     different text layouts with different fonts and superscript or
     subscript alignment.
   * [QTBUG-42033] Fixed bug where a QTextLayout with
     ShowLineAndParagraphSeparators would modify the layout's input string.
   * [QTBUG-54180] Fixed performance regression when rapidly switching
     between a large set of fonts.

QtNetwork
---------

- QSslSocket:
   * [QTBUG-55170] Fixed a bug in SecureTransport backend that would cause
     a memory usage growth in case 'readBufferMaxSize' is set.
   * [QTBUG-52975] Fixed a bug in SecureTransport backend where transmit
     was using invalid SSL context and reporting (incorrectly) some irrelevant
     errors as a result.

QtSql
-----

 - [QTBUG-53969][QTBUG-53237] Fixed QSqlQuery::prepare value truncation
   error when using UNSIGNED values in a MySQL database.

QtWidgets
---------

 - QAbstractItemDelegate:
   * [QTBUG-16469] Show localized detailed tooltips and "What's this?"
     texts.

 - QTreeView:
   * [QTBUG-52793] Fixed a key navigation bug when the columns were
     reordered.

****************************************************************************
*                      Platform-specific Changes                           *
****************************************************************************

Android
-------

 - [QTBUG-50724] Added support for clang compiler
 - [QTBUG-53511] Fixed CJK font resolution on Android 7.

FreeBSD
-------

 - The freebsd-g++ mkspec was moved back and no longer requires the
   "unsupported/" prefix, matching the FreeBSD ports tree, as FreeBSD 9.3
   still defaults to using GCC. Users of GCC that did not previously use
   the ports patch will need to adapt their build scripts and drop the
   "unsupported/" prefix.

Linux
-----

- [QTBUG-54733] It is now possible to opt out from installing signal
  handlers when running with eglfs and linuxfb by setting the
  QT_QPA_NO_SIGNAL_HANDLER environment variable to a non-zero value.
- [QTBUG-55140] xcb with EGL and OpenGL ES, as well as eglfs with the
  eglfs_x11 backend, are now supported on DRIVE CX boards when using the
  linux-drive-cx-g++ device spec.


Windows
-------

 - [QTBUG-41186] QWindow::fromWinId() may return 0 when passing invalid
   window handles.
 - [QTBUG-55595] Fixed crash when loading color fonts from data.
 - [QTBUG-55097] Fixed rendering Adobe/Mozilla format color fonts with
   other colors than black after Windows 10 Anniversary update.
 - [QTBUG-54494] Fixed stretch when combined with either no or vertical
   hinting preference or a device pixel ratio different from 1.
 - [QTBUG-51024] Fixed height of text bounding box when using no or
   vertical hinting preference, or when the device pixel ratio is
   different from 1.

****************************************************************************
*                                Tools                                     *
****************************************************************************

configure & build system
------------------------

 - [QTBUG-35886][QTBUG-51417] Fixed Fontconfig vs. system FreeType
   configuration.
 - [QTBUG-43784][X11] Fixed detection of GLX with -qt-xcb.
 - [QTBUG-51534][Windows] The configure.exe bootstrapping now prefers
   cl over clang-cl, to avoid header incompatibility problems.
 - [QTBUG-52940] Fixed missing plugins.qmltypes files in static builds.
 - [QTBUG-52951] Fixed dynamic library support detection for platforms
   without libdl.
 - [QTBUG-53038] Fixed running of configure tests outside qtbase when
   cross compiling on Windows (for example for Android).
 - [QTBUG-53312] The flags supplied by the configure -D/-I/-L/-l options
   are now applied after Qt's own flags. This helps in some cases when
   the provided paths contain files which conflict with the Qt build.
 - [QTBUG-53926] Fixed linkage of QML plugins in static prefix builds.
 - [QTBUG-55011][Unix] Fixed -no-pkg-config being ignored by some
   configure tests, which led to build failures later on.
 - Fixed configure tests outside qtbase when $MAKEFLAGS contains the
   -i flag.
 - [Android] Some unused plugins are not built anymore.
 - [MinGW] Added support for -separate-debug-info.
 - [Unix] Added configure -no-opengles3 option.
 - [Unix] Fixed MySQL detection/use on RHEL 6.6.

qmake
-----

 - [QTBUG-41830] Fixed nested custom functions inheriting their callers'
   arguments.
 - [QTBUG-53895][MSVC] Started using separate PDB files for compiling
   and linking.
 - [QTBUG-54036][Darwin] Fixed installation of debug symbols.
 - [QTBUG-54299] Various QMAKE_EXTRA_COMPILERS' .depends entries are now
   appended to rather than overwritten.
 - [QTBUG-54346][MSys/Apple] Fixed detection of QMAKE_DEFAULT_{INC,LIB}DIRS.
 - [QTBUG-54550] Fixed access to freed memory in $$absolute_path().
 - [QTBUG-54674] The obsolete -target xp is now properly rejected.
 - [QTBUG-55183][nmake] _WINDLL is now automatically defined when building
   a DLL, consistently with Visual Studio.
 - [QTBUG-55505] Fixed build of projects with spaces in the source or build
   path against static builds of Qt.
 - [QTBUG-55649][QTBUG-55915][Xcode] Fixed support for Xcode 8.
 - [QTBUG-56162][MinGW] Fixed -release -force-debug-info missing both
   optimization and debug info.
 - Fixed several cases where the error() function would not abort qmake.
 - Interrupting a command run via system() will now abort qmake as well.
 - The packagesExist() function will now warn when used when Qt was
   configured with -no-pkg-config.
 - [Android] The default compiler flags were adjusted to match newer
   NDK versions.
 - [Darwin] Fixed detection of QMAKE_DEFAULT_INCDIRS.
 - [Darwin][make] Added support for building Xcode asset catalogs.