396 lines
15 KiB
Plaintext
396 lines
15 KiB
Plaintext
|
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.
|