| 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: |
| |
| http://doc.qt.io/qt-5.7 |
| |
| 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: |
| |
| http://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.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. |