Revision control

++ Qt 5.7 introduces many new features and improvements along with bug fixes
++ over the 5.6.x series. Also, there is a change in the licensing terms.
++ For more details, refer to the online documentation included in this
++ distribution. The documentation is also available online:
++
++
++ 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:
++
++
++ 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.1 release.
++
++ ****************************************************************************
++ * Important License Changes *
++ ****************************************************************************
++
++ - Qt is no longer available under LGPLv2.1. The libraries in this package
++ are now available under the following licenses:
++ * Commercial License
++ * GNU General Public License v2.0 (LICENSE.GPL2) and later
++ * GNU Lesser General Public License v3.0 (LICENSE.LGPL3)
++
++ Note that a few Qt Libraries (currently Qt Charts and Qt Data
++ Visualization) are available only under the Commercial License and GPL
++ version 3.
++
++ - Qt Tools are now available under the following licenses:
++ * Commercial License
++ * GNU General Public License 3.0 (LICENSE.GPL3) with exceptions
++ described in the Qt Company GPL Exception 1.0 (LICENSE.GPL3-EXCEPT)
++
++ ****************************************************************************
++ * Important Behavior Changes *
++ ****************************************************************************
++
++ - Starting with Qt 5.7, Qt requires a C++11 compiler with support for
++ C++11 atomics. This affects user code too: Qt headers no longer compile
++ with a C++98 compiler. The minimum compiler versions for this release
++ are:
++ * GCC 4.7
++ * Clang 3.4 (found in XCode 5.1)
++ * Microsoft Visual Studio 2013
++ - Support for the following platforms was removed in this version:
++ * Apple OS X 10.7 (Lion)
++ * Microsoft Windows XP
++ * Microsoft Windows Vista
++ * Microsoft Windows Embedded Compact 7
++ * Microsoft Windows Embedded Compact 2013
++ - Support for DirectFB is no longer enabled by default, due to lack of
++ development in upstream. To re-enable the platform plugin, pass the
++ -directfb option to configure. If there is no renewed interest in this
++ platform, the support will be removed in Qt 5.8.
++ - Qt no longer ships any fonts.
++
++ - QtGui:
++ * [QTBUG-51962] When line height is specified in pixels, this is now
++ interpreted as the minimum line height rather than an absolute line
++ height to avoid overlaps. To get the old behavior, use the
++ -qt-line-height-type property in CSS and set it to "fixed".
++ * [QTBUG-46054] QFont::exactMatch() now returns false when the provided
++ typeface is an alias.
++
++ - QtWidgets:
++ * [QTBUG-21217] QLineEdit will now accept certain shortcut override
++ events even if it is read-only.
++
++ - configure & build system:
++ * Except on OS X, -system-harfbuzz is now the default.
++ * A few obsolete options with no effect are not recognized any more.
++
++ ****************************************************************************
++ * Deprecation Notice *
++ ****************************************************************************
++
++ - The following platforms or toolchains are deprecated and will be
++ removed as of Qt 5.8:
++ * Apple OS X 10.8 (Mountain Lion)
++
++ Deprecated platforms and toolchains continue to work until removed.
++
++ ****************************************************************************
++ * Library *
++ ****************************************************************************
++
++ QtCore
++ ------
++
++ - [QTBUG-50548] Added qAsConst().
++ - Added qOverload() to select overloaded functions.
++ - Added qHash(std::pair), defined in <QHashFunctions>.
++ - Added qUtf16Printable().
++ - QLocale data updated to CLDR v29
++
++ - QDataStream:
++ * [QTBUG-44418] Added startTransaction(), commitTransaction(),
++ rollbackTransaction(), abortTransaction() functions to support read
++ transactions.
++
++ - QDebug:
++ * QDebug can now output std::vector, std::list, std::map, and
++ std::multimap.
++
++ - QFlags:
++ * [QTBUG-27100] Added setFlag method to set or unset a flag
++
++ - QHash/QSet:
++ * Added QHash::equal_range().
++ * Added erase(const_iterator).
++
++ - QIODevice:
++ * Added support for devices with multiple streams.
++ * [QTBUG-44418] Added startTransaction(), commitTransaction(),
++ rollbackTransaction(), isTransactionStarted() functions to support
++ read transactions.
++
++ - QJsonObject:
++ * Added value(), op[] const, find(), constFind(), contains() overloads
++ taking QLatin1String.
++
++ - QLocale:
++ * Added special value for double conversion precision to get shortest
++ accurate representation.
++ * Added additional flags in QLocale::NumberOption that allow generating
++ and parsing doubles in EcmaScript compliant format.
++ * [QTBUG-46595] Added an overload for toCurrencyString() that allows the
++ decimal precision to be specified.
++
++ - QMutex:
++ * Made the isRecursive() method be a const function so that it can be
++ called in const QMutex objects too.
++
++ - QObject:
++ * [QTBUG-52542] If the compiler supports variadic templates, functors
++ connected to signals will not be copied any more each time the signal is
++ emitted. This is the behavior that was exhibited with C++98 compilers.
++
++ - QReadWriteLock:
++ * Optimized QReadWriteLock to be faster and take less memory.
++
++ - QRect:
++ * Fixed integer overflow in center(). This fixes the result for some
++ corner-cases like a 1x1 rectangle at (INT_MIN, INT_MIN), for which the
++ previous implementation could return anything (due to invoking
++ undefined behavior), but commonly returned (0, 0).
++
++ - QRect/QRectF:
++ * Added transposed().
++
++ - QSharedPointer:
++ * Added support for debug printing via QDebug.
++
++ - QStorageInfo:
++ * [QTBUG-49498] Fixed a bug that caused QStorageInfo to report
++ information for the wrong filesystem if there is a mounted filesystem
++ at a path that is a prefix of the requested path (e.g., it would
++ report "/usr" filesystem for "/usrfoo").
++
++ - QString:
++ * Added resize(int, QChar) overload.
++
++ - QStringRef:
++ * Added subscript operator.
++ * Fixed relational operators against (const char*) to return the correct
++ result.
++ * Added reverse iterators, rbegin(), rend(), crbegin(), crend().
++
++ - QUuid:
++ * Added Objective-C NSUUID/CFUUIDRef converters.
++
++ - QVariant:
++ * [QTBUG-53384] Fixed QVariant::canConvert and conversion from integer
++ types to enumeration types.
++
++ - QVector:
++ * clear() now preserves capacity. To shed capacity, call squeeze() or
++ swap with a default-constructed QVector object, see the documentation
++ for an example.
++
++ - State Machine:
++ * Added constructor overload that takes a pointer-to-member for the
++ QSignalTransition.
++
++ QtDBus
++ ------
++
++ - QDBusArgument:
++ * [QTBUG-53376] Deprecated relying on a streamable Base to stream a
++ Derived without providing operator<</>>() for Derived. No diagnostic
++ provided. Support will be removed in Qt 5.8.
++
++ QtGui
++ -----
++
++ - QWheelEvent::phase() now returns NoScrollPhase with non-phase-aware mice.
++ This is most mice and input devices except, for now, Apple's trackpads
++ and Magic Mouse. It is no longer necessary to set the
++ QT_ENABLE_MOUSE_WHEEL_TRACKING environment variable to enable the fix for
++ QTBUG-50199.
++ - [QTBUG-35972] Added QWheelEvent::inverted() to enable detection of the
++ "natural scrolling" system setting. This feature currently only works on
++ OS X, though support for other operating systems is planned.
++
++ - Image:
++ * [QTBUG-50745] Fixed possible crash in QImage::pixel() for mono or
++ indexed images.
++
++ - QIcon:
++ * Split fromTheme() in two different overloads, one of which will only
++ lazily lookup the icons, in order to speed up startup of applications
++ that initialize many icons that are not necessarily visible.
++ * fromTheme gained the ability to use the GTK icon cache to speed up
++ lookups.
++
++ - QPixmapCache:
++ * Added QPixmapCache::Key::isValid().
++
++ - QRawFont:
++ * Fixed kerning on advances in QRawFont for OS X and Windows.
++
++ - Tablet support:
++ * [QTBUG-47007][QTBUG-51618] A synthetic mouse event will no longer be
++ sent after every QTabletEvent, only after those which are not accepted
++ (as documented).
++
++ - Text:
++ * [QTBUG-35156] Added support for color font rendering with Freetype.
++ * [QTBUG-52048] Added QTextOption::ShowDocumentTerminator flag.
++
++ QtNetwork
++ ---------
++
++ - QAuthenticator:
++ * [QTBUG-53338] Fixed crash when comparing a initialized QAuthenticator
++ with an uninitialized QAuthenticator.
++
++ QtWidgets
++ ---------
++
++ - Moved QGtkStyle to the qtstyleplugins repository.
++ - [QTBUG-37580] Added the Qt::AA_UseStyleSheetPropagationInWidgetStyles
++ attribute which enables font and palette propagation for Qt Style
++ Sheets.
++ - [QTBUG-48138] QPinchGesture on OS X now behaves like on other platforms:
++ totalScaleFactor is the magnitude of the pinch and scaleFactor is the
++ delta for the current event.
++
++ - Item Views:
++ * [QTBUG-50102] Item views scroll per pixel on OS X now.
++ * [QTBUG-50102] QAbstractItemView::verticalScrollMode and
++ QAbstractItemView::horizontalScrollMode are now resettable.
++
++ - QAbstractItemView:
++ * [QTBUG-7232] In ItemViews when scrollMode is set to scrollPerPixel, it
++ is now possible to change the single step. Qt will automatically adjust
++ the single step until setSingleStep is called. When setSingleStep is
++ called it will however respect that and stop doing automatic changes
++ of the value. Calling setSingleStep(-1) will switch mode back to
++ automatic adjusting.
++
++ - QAbstractScrollArea, QTextEdit, QPlainTextEdit:
++ * [QTBUG-52559] Changed focus to Qt::StrongFocus. That respects
++ platforms' native guidelines.
++
++ - QHeaderView:
++ * [QTBUG-39010] Fixed some issues with restoring of section size after a
++ section is no longer the last visible section (in stretchLastSection
++ mode).
++ * [QTBUG-50171] Fixed a repainting issue when items had been reordered.
++
++ - QListWidget:
++ * [QTBUG-15741] Fixed a bug that caused the default drop action to be
++ ignored when using icon mode.
++
++ - QTableView:
++ * [QTBUG-50171] Fixed a selection bug when rows or columns were hidden.
++
++ - Styles:
++ * [QTBUG-50102] Added SH_ItemView_ScrollMode style hint.
++
++ - Dialogs:
++ * [QTBUG-51148] Fixed requesting a font from font dialog with a
++ non-existent family name and/or pixel size when using GTK2 platform
++ theme.
++
++ QTest
++ -----
++
++ - Added a new logging mode that allow test-results to be parsed on-the-fly
++ when using Jetbrains TeamCity as CI-server. This mode is enabled by
++ using the -teamcity option on the command-line.
++
++ ****************************************************************************
++ * Platform-specific Changes *
++ ****************************************************************************
++
++ - The Gtk+ platform theme has been ported to Gtk+ 3.
++ - Dropped support for Windows CE.
++ - Added support for INTEGRITY RTOS.
++
++ Android
++ -------
++
++ - Support for Android API < 16 was removed.
++ - [QTBUG-37221] Qt can now be used to easily create Android Services.
++ - Allow the user to choose how much from the Android theme is extracted.
++
++ iOS
++ ---
++
++ - [QTBUG-35271] QBackingStore now uses the raster paint engine instead of
++ the OpenGL paint engine, enabling improved antialiased drawing. In case
++ of performance regressions, the old code path can be enabled by setting
++ the window's surface type to QSurface::OpenGLSurface.
++
++ OS X
++ ----
++
++ - Support for OS X < 10.8 was removed.
++ - [QTBUG-7000] QMacPrintEngine now really sets the printer resolution.
++ - [QTBUG-32898] OS X now accepts trusted certificates from the login and
++ system keychains.
++ - [QTBUG-48953] Pasting text from Qt applications to Apple Mail now works.
++ - [QTBUG-48953] "text/vcard" is now required as the mime type when
++ placing vCards on the clipboard.
++ - [QTBUG-50262] QStandardPaths now returns the correct display name for
++ the download folder.
++
++ Windows
++ -------
++
++ - [QTBUG-390][QTBUG-6917][QTBUG-9350][QTBUG-24619] Added method
++ QProcess::setCreateProcessArgumentsModifier() to enable users to
++ intercept and modify CreateProcess parameters.
++ - Added support for color fonts (color emojis) when DirectWrite 2 is
++ available.
++
++ - Text:
++ * [QTBUG-47141] Made it possible to disable antialiasing for text when
++ drawing into images.
++ * [QTBUG-18711] Fixed disabling hinting for application fonts, e.g. when
++ automatic scaling by device pixel ratio is in effect.
++
++ XCB / X11
++ ---------
++
++ - [QTBUG-44964] It's now possible to unset AA_CompressHighFrequencyEvents
++ to disable the new X event compression feature that was added in 5.6.0.
++ This is a replacement for the WA_NoX11EventCompression flag in Qt 4.
++ - [QTBUG-49071] Fixed failure to deliver focusIn event on hide/show with XCB
++ - QMenuBar now uses the unified D-Bus AppMenu menubar when the desktop
++ environment supports it.
++
++ ****************************************************************************
++ * Tools *
++ ****************************************************************************
++
++ moc
++ ---
++
++ - [QTBUG-53441] Fixed crash when processing files ending with \\\r.
++
++ configure & build system
++ ------------------------
++
++ - [QTBUG-35754] Static builds now embed QML resources into the libraries
++ to make them self-contained.
++ - [QTBUG-35886][Unix] Made it explicit that -fontconfig implies
++ -system-freetype.
++ - [QTBUG-43784][Unix] Fixed GLX not being enabled with -qt-xcb.
++ - [QTBUG-45291][GCC] Enabled use of Qt with -Wzero-as-null-pointer-constant.
++ - [Android@Windows] Fixed configure tests outside QtBase.
++ - [Unix] Fixed config.log corruption with option -v.
++ - [Unix] Fixed the MySQL configure test on RHEL 6.6.
++ - [Android] Enabled building with newer SDKs than the minimal supported one.
++ - QNX and Android builds on Windows use -system-zlib now.
++ - Added support for "Canadian Cross Builds"; options -external-hostbindir
++ and -host-option.
++ - Added makespecs for DRIVE CX (Tegra X1), NVIDIA Jetson TK1, and i.MX7
++ boards.
++ - Qt now makes use of AVX512 instructions on Intel platforms.
++
++ qmake
++ -----
++
++ - Specifying directories in RESOURCES now actually works.
++ - Added -qtconf option to make it possible to use the same qmake binary
++ with several builds of Qt.