Add changes file for 5.8.0
Change-Id: Ie1185b165fc706f3fcc87014d4eefd1e2c6fb771 Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Done-with: Thiago Maciiera <thiago.macieira@intel.com> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
This commit is contained in:
parent
179045f36a
commit
b29b9041b5
497
dist/changes-5.8.0
vendored
Normal file
497
dist/changes-5.8.0
vendored
Normal file
@ -0,0 +1,497 @@
|
||||
Qt 5.8 introduces many new features and improvements as well as bugfixes
|
||||
over the 5.7.x series. 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.8 series is binary compatible with the 5.7.x series.
|
||||
Applications compiled for 5.7 will continue to run with 5.8.
|
||||
|
||||
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.7.1 release.
|
||||
|
||||
****************************************************************************
|
||||
* License Changes *
|
||||
****************************************************************************
|
||||
|
||||
Static libraries that are linked into executables (winmain and
|
||||
qopenglextensions) are now licensed under BSD _and_ commercial licenses.
|
||||
|
||||
****************************************************************************
|
||||
* Deprecation Notice *
|
||||
****************************************************************************
|
||||
|
||||
- The following platforms or toolchains are deprecated and will be
|
||||
removed as of Qt 5.9:
|
||||
* Apple OS X Mavericks (v10.9)
|
||||
* Apple iOS 7.x
|
||||
|
||||
Deprecated platforms and toolchains continue to work until removed.
|
||||
|
||||
- The Q_OBJECT_CHECK macro is deprecated and will be removed in Qt 6. The
|
||||
internal, template function qt_check_for_QOBJECT_macro that it created in
|
||||
QObject-derived classes will be removed in Qt 5.9.
|
||||
|
||||
****************************************************************************
|
||||
* Important Behavior Changes *
|
||||
****************************************************************************
|
||||
|
||||
- Support for the following platforms was removed in this version:
|
||||
* Apple OS X Mountain Lion (v10.8)
|
||||
* Apple iOS 6.x
|
||||
|
||||
configure & build system
|
||||
------------------------
|
||||
|
||||
- The configuration system has been rewritten almost from scratch. This
|
||||
improved the consistency between builds on Unix and Windows, but some
|
||||
subtle unintended behavior changes are also possible. Also, some
|
||||
obsolete options have been entirely removed and will now cause errors.
|
||||
- It is not permissible any more to manually #define QT_NO_<FEATURE>
|
||||
anywhere. Instead, configure's -no-feature-* options must be used.
|
||||
Note that this does not apply to defines which modify behavior rather
|
||||
than entirely removing features.
|
||||
- Configure test results are now cached. Use -recheck or -recheck-all
|
||||
to discard them.
|
||||
- [QTBUG-32530][QTBUG-42962] The Unix configure won't pick up CFLAGS and
|
||||
related environment variables any more. Instead, it now accepts QMAKE_*
|
||||
variable assignments on the command line.
|
||||
- [QTBUG-52266] Configure won't pick up QMAKESPEC from the environment
|
||||
any more. Use the -platform option instead.
|
||||
- Device and simulator libraries are now combined on Apple device
|
||||
platforms (iOS). This means that there will no longer be any
|
||||
*_simulator.a libraries and the simulator architectures will simply
|
||||
reside alongside the device architectures in a single Mach-O file.
|
||||
- [Darwin] Project files may not override QMAKE_MAC_SDK any more.
|
||||
|
||||
QtCore
|
||||
------
|
||||
|
||||
- qFatal will now use std::abort to terminate the application on all
|
||||
operating systems. Previously, ::abort() or ::exit(1) were called,
|
||||
depending on the operating system.
|
||||
- QLibraryInfo::licensee()/licensedProducts() were deprecated and
|
||||
return empty strings now.
|
||||
- Destroying a QThread which is still running will now result in
|
||||
immediate and abnormal program termination.
|
||||
|
||||
QtGui
|
||||
-----
|
||||
|
||||
- [QTBUG-54936] QFont::toString() and QFont::key() were modified to save
|
||||
the font's style name if one is set, invalidating any stored font
|
||||
identifiers. QFont::fromString() was also adjusted to accommodate the
|
||||
change.
|
||||
|
||||
QtNetwork
|
||||
---------
|
||||
|
||||
- Proxies from system settings will now be used by default. Configure
|
||||
with -no-system-proxies to disable.
|
||||
- [QTBUG-53649] libproxy is now turned off by default. Configure with
|
||||
-libproxy in order to enable it again.
|
||||
|
||||
****************************************************************************
|
||||
* Library *
|
||||
****************************************************************************
|
||||
|
||||
QtCore
|
||||
------
|
||||
|
||||
- Disambiguated the relational operators comparing QByteArray with
|
||||
QStringRef (and vice versa).
|
||||
- Added qHash() overloads for QHash, QMultiHash.
|
||||
- Added QDeadlineTimer, a counterpart to QElapsedTimer, used to mark a
|
||||
time point in the future (a deadline) and determine whether such a
|
||||
deadline has passed.
|
||||
- Qt now relies on type traits from the C++11 standard library.
|
||||
- [QTBUG-54981] Added Q_NAMESPACE, which can be used to add Q_ENUM_NS/
|
||||
Q_ENUMS, Q_FLAG_NS/Q_FLAGS and Q_CLASSINFO to a namespace.
|
||||
- Q_IS_ENUM was deprecated. Use std::is_enum<>::value instead.
|
||||
|
||||
- QChar:
|
||||
* Added missing operator{<,>,<=,>=} comparing against QLatin1String and
|
||||
QStringRef.
|
||||
* Added missing operator{==,!=} comparing against QLatin1String.
|
||||
|
||||
- QCommandLineOption:
|
||||
* Added flags() and setFlags() methods. Added ShortOptionStyle and
|
||||
HiddenFromHelp flags.
|
||||
|
||||
- QDateTime:
|
||||
* Introduced toSecsSinceEpoch, fromSecsSinceEpoch and setSecsSinceEpoch
|
||||
functions, which use 64-bit integers to represent the number of
|
||||
seconds.
|
||||
* The toTime_t, fromTime_t and setTime_t functions are deprecated and
|
||||
will be removed in Qt 6.0. For new code, use the equivalent functions
|
||||
with "SecsSinceEpoch" in the name, or the equivalent ones with
|
||||
millisecond accurancy that have existed since Qt 4.7.
|
||||
* Added string formatting type Qt::ISODateWithMs.
|
||||
|
||||
- QFileInfo:
|
||||
* QFileInfo now reports file times with millisecond precision on Unix
|
||||
systems.
|
||||
|
||||
- QFileSystemWatcher:
|
||||
* [QTBUG-55896] Fixed a bug that caused QFileSystemWatcher to mis-handle
|
||||
file paths that contained non-US-ASCII characters on Apple platforms.
|
||||
|
||||
- QJsonDocument:
|
||||
* [QTBUG-39751] fromVariant can now take a QVariantHash argument.
|
||||
* Fixed a number of bugs that could cause crashes when loading corrupt
|
||||
binary JSON data.
|
||||
|
||||
- QJsonValue:
|
||||
* [QTBUG-43077] QJsonValue(Null).toVariant() now returns a QVariant of
|
||||
type QMetaType::Nullptr instead of an invalid QVariant.
|
||||
|
||||
- QLatin1String:
|
||||
* Added at(), operator[](), mid(), right(), left().
|
||||
|
||||
- QLibraryInfo:
|
||||
* Added QLibraryInfo::version(), which returns the current version of
|
||||
the Qt library as a QVersionNumber object.
|
||||
|
||||
- QLine/QLineF:
|
||||
* Added center().
|
||||
|
||||
- QLockFile:
|
||||
* Fixed a bug that caused QLockFile to over-sleep while waiting for the
|
||||
lock file to become available.
|
||||
|
||||
- QMetaType:
|
||||
* std::nullptr_t is now a built-in Qt metatype.
|
||||
|
||||
- QModelIndex:
|
||||
* QModelIndex::child has been deprecated due to its lack of generality.
|
||||
Use model->index(row, column, index) instead.
|
||||
|
||||
- QMutex:
|
||||
* QMutex now fully models the TimedLockable concept by providing the
|
||||
try_lock, try_lock_for and try_lock_until functions, therefore making
|
||||
it usable in Standard Library lock management classes and functions.
|
||||
|
||||
- QObject:
|
||||
* The QT_NO_NARROWING_CONVERSIONS_IN_CONNECT macro has been added. When
|
||||
using the new connection syntax (PMF-based) this macro makes it
|
||||
illegal to narrow the arguments carried by the signal, and/or to
|
||||
perform floating point to integral implicit conversions on them. When
|
||||
the macro is defined, depending on your compiler a QObject::connect()
|
||||
statement triggering such conversions will now fail to compile.
|
||||
|
||||
- QPersistentModelIndex:
|
||||
* QPersistentModelIndex::child has been deprecated due to its lack of
|
||||
generality. Use model->index(row, column, index) instead.
|
||||
|
||||
- QStringList:
|
||||
* Added join(QLatin1String) overload.
|
||||
|
||||
- QStringRef:
|
||||
* Added missing operator{<,>,<=,>=} comparing against QLatin1String and
|
||||
QString.
|
||||
|
||||
- QSysInfo:
|
||||
* The output of QSysInfo::prettyProductName now includes the Windows
|
||||
OS/kernel version number. In case of future versions of Windows, a
|
||||
valid string is now returned.
|
||||
|
||||
- QSettings:
|
||||
* [QTBUG-56124] Fixed a bug that caused QSettings to fail on Apple
|
||||
platforms when strings with embedded null (\0) bytes were present
|
||||
|
||||
- QSharedPointer:
|
||||
* [QTBUG-52369] Fixed a bug that caused QSharedPointer to fail to compile
|
||||
if it was initialized with a nullptr literal.
|
||||
* Fixed a bug that made QSharedPointer delete the pointer it held with the
|
||||
wrong destructor if the type of the QSharedPointer and that of the object
|
||||
passed on the constructor were different. Its behavior is now the same as
|
||||
std::shared_ptr.
|
||||
|
||||
- QStandardPaths:
|
||||
* [QTBUG-55507] Fixed the QStandardPaths::FontsLocation on XDG systems to
|
||||
be $XDG_DATA_DIR/fonts.
|
||||
* Fixed handling of potential paths that do not exist on Windows. Now,
|
||||
QStandardPaths may return storage locations that may not exist on all
|
||||
platforms.
|
||||
|
||||
- QTimer:
|
||||
* Added support for std::chrono duration objects for QTimer methods,
|
||||
like QTimer::singleShot and QTimer::setInterval.
|
||||
|
||||
- QWaitCondition:
|
||||
* Added notify_one() and notify_all() to make QWaitCondition be usable from
|
||||
algorithms that use the Standard Library naming convention.
|
||||
|
||||
QtDBus
|
||||
------
|
||||
|
||||
- QDBusConnection:
|
||||
* Fixed a bug that would cause QDBusConnection::connect() to return true
|
||||
if a slot was already connected to the same D-Bus signal. QtDBus does
|
||||
not support multiple connections.
|
||||
|
||||
QtGui
|
||||
-----
|
||||
|
||||
- [QFileDialogOptions/QFontDialogOptions/QMessageDialogOptions/
|
||||
QColorDialogOptions] These classes no longer have value semantics, but
|
||||
need to be held in QSharedPointer (as they always were). To copy an
|
||||
instance, use the clone() method.
|
||||
- QOpenGLTextureBlitter, a utility class to draw textured quads, has been
|
||||
made public.
|
||||
- [QTBUG-38825] Fixed QTextEdit to match undo functionality of QLineEdit
|
||||
to group two sequential inserts into one undo action.
|
||||
- [QTBUG-51844] Added rotation and uniqueId properties to
|
||||
QTouchEvent::TouchPoint. This is mainly for the benefit of the TUIO
|
||||
plugin so far: it now supports tracking physical objects (fiducials)
|
||||
on the touchscreen surface, as long as the object's ID can fit in a
|
||||
64-bit integer. QPointingDeviceUniqueId is a wrapper for the ID,
|
||||
designed to be extensible to support other types of IDs in the future.
|
||||
- [QTBUG-52510] A stationary touchpoint event is delivered if its
|
||||
velocity changes. This is to ensure that the application will be
|
||||
notified when a TUIO fiducial object comes to rest.
|
||||
- [QTBUG-53076] Add QGuiApplication::applicationDisplayNameChanged()
|
||||
signal.
|
||||
|
||||
- QAbstractTextDocumentLayout:
|
||||
* Added imageAt() and formatAt() methods, which respectively can be used
|
||||
to retrieve the source link of the image under the cursor, or the
|
||||
QTextFormat of the text under the cursor.
|
||||
|
||||
- QFont:
|
||||
* [QTBUG-48043] The default value of QFont::stretch() is now 0 to
|
||||
indicate any default stretch is acceptable.
|
||||
|
||||
- QRegion:
|
||||
* Is now iterable as a container of QRects: added {c,}{r,}{begin,end}().
|
||||
|
||||
- Text handling:
|
||||
* [QTBUG-51411] Fixed performance hit from showing large QTextDocuments
|
||||
in a QTextEdit or QTextBrowser. (Regression introduced in Qt 5.3.0)
|
||||
* [QTBUG-50090] Fixed line spacing with some scalable fonts containing
|
||||
bitmaps with the Freetype font engine.
|
||||
* [QTBUG-56346] Fixed QStaticText when manually breaking lines and no
|
||||
text width was set.
|
||||
* [QTBUG-56659] Fixed a regression where raster fonts on Windows were
|
||||
detected as smoothly scalable and thus rendering with said fonts in Qt
|
||||
Quick would break.
|
||||
* [QTBUG-51223] Fixed synthesized oblique for non-latin text on
|
||||
platforms using the basic font database, such as Android.
|
||||
* [QTBUG-56672] Fixed list of supported sizes for bitmap fonts on
|
||||
Windows.
|
||||
* [QTBUG-56714] Fixed a bug where a no-break space would sometimes cause
|
||||
the first character of the containing line to not be displayed.
|
||||
* [QTBUG-55856] Fixed rendering of large fonts when a device pixel ratio
|
||||
is set and the Freetype engine is used.
|
||||
|
||||
QtNetwork
|
||||
---------
|
||||
|
||||
- Added QNetworkDatagram class, along with new function receiveDatagram()
|
||||
in QUdpSocket that returns it, and an overload to writeDatagram() that
|
||||
can accept it.
|
||||
- Added QSctpServer and QSctpSocket classes. Note that these need to be
|
||||
explicitly enabled via a configure option.
|
||||
- [QTBUG-50956] Added support for HTTP/2 protocol
|
||||
|
||||
- QSslSocket:
|
||||
* [QTBUG-39077] TLS PSK ciphers are possible in server sockets.
|
||||
* It is now possible to set custom Diffie-Hellman parameters for
|
||||
QSslSocket-based servers.
|
||||
|
||||
- QTcpServer:
|
||||
* [QTBUG-51288] It is now possible to use QTcpServer with an externally
|
||||
created QTcpSocket.
|
||||
|
||||
QtSql
|
||||
-----
|
||||
|
||||
- QSqlDatabase:
|
||||
* When connecting to a MySQL server whose version is 5.5.3 or higher,
|
||||
the default connection charset is now utf8mb4 instead of utf8 to allow
|
||||
4-byte UTF-8 encodings.
|
||||
|
||||
- SQLite:
|
||||
* Added notification feature to SQLite driver
|
||||
|
||||
QTestLib
|
||||
--------
|
||||
|
||||
- [QTBUG-44030] Added QTest::createTouchDevice() for use in autotests
|
||||
which generate touch events.
|
||||
- Added ref-cycles perf counter.
|
||||
- QFETCH variables can now be declared const (QFETCH(const T, name)).
|
||||
- It is now possible to use variables of types with an explicit operator
|
||||
bool in the QVERIFY macro.
|
||||
|
||||
QtWidgets
|
||||
---------
|
||||
|
||||
- QFormLayout:
|
||||
* [QTBUG-15990] Added removeRow(), takeRow().
|
||||
|
||||
- QMainWindow:
|
||||
* [QTBUG-56628] Fixed crash using takeCentralWidget when the central
|
||||
widget was not set.
|
||||
|
||||
****************************************************************************
|
||||
* Platform-specific Changes *
|
||||
****************************************************************************
|
||||
|
||||
- Added technology preview support for Apple tvOS and Apple watchOS.
|
||||
- Added initial support for Microsoft Visual Studio 2017, which uses the
|
||||
mkspec "win32-msvc2017". Full support will happen after the final release
|
||||
of that compiler.
|
||||
|
||||
Android
|
||||
-------
|
||||
|
||||
- [QTBUG-48948] Show password while typing is now supported
|
||||
- [QTBUG-55035][QTBUG-50759] Introduced a mechanism to forward
|
||||
permission related callbacks on Activity objects to interested
|
||||
parties.
|
||||
|
||||
Apple platforms
|
||||
---------------
|
||||
|
||||
- Added QImage::toCGImage() that returns a CGImage.
|
||||
- Added functions that convert Qt types QPoint/QPointF, QRect/QRectF and
|
||||
QSize/QSizeF to and from CGPoint, CGRect and CGSize. Note that QPoint,
|
||||
QRect and QSize do not provide fromCGXxx functions since that would
|
||||
silently lose precision.
|
||||
|
||||
iOS
|
||||
---
|
||||
|
||||
- Precompiled headers are now supported on iOS.
|
||||
- Starting from iOS 10, Apple requires all apps that need access to photos
|
||||
to have the key 'NSPhotoLibraryUsageDescription' in the Info.plist.
|
||||
Therefore, to get the same support in Qt (when, e.g., using a file
|
||||
dialog), the Info.plist assigned to QMAKE_INFO_PLIST will need this key
|
||||
as well.
|
||||
|
||||
macOS
|
||||
-----
|
||||
|
||||
- Speech to text dictation now works for Qt text input.
|
||||
- [QTBUG-33708] Fixed underline position in font rendering.
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
- [QTBUG-39959] QWidget-based applications running on the eglfs platform
|
||||
plugin can now request 180 or 90 degrees rotated output by setting the
|
||||
QT_QPA_EGLFS_ROTATION environment variable.
|
||||
- KDE/Gnome themes now implement QPlatformTheme::fileIconPixmap(), showing
|
||||
file icons.
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
- [QTBUG-31476] QFactoryLoader now filters potential plugins by the
|
||||
".dll" suffix.
|
||||
- [QTBUG-56239] 'What's this' button is now shown by default only for
|
||||
QWidget dialogs.
|
||||
- [QTBUG-53833] QProcess::startDetached() changed behavior on Windows:
|
||||
it no longer creates a new console window unconditionally, instead it
|
||||
passes the same creation flags to CreateProcess as QProcess::start().
|
||||
|
||||
- Text handling:
|
||||
* [QTBUG-54740] Fixed embedding fonts in PDF when dpi scaling is active
|
||||
or when the hinting preference was none or vertical hinting.
|
||||
* [QTBUG-47485] Fix selecting non-regular fonts when using the Freetype
|
||||
engine.
|
||||
* [QTBUG-49346] Fixed rendering error when using the MingLiU fonts at
|
||||
certain combinations of pixel size and scale.
|
||||
|
||||
****************************************************************************
|
||||
* Tools *
|
||||
****************************************************************************
|
||||
|
||||
configure & build system
|
||||
------------------------
|
||||
|
||||
- The -no-feature-* option family was integrated with the rest of the
|
||||
configuration system. Numerous existing features were made optional,
|
||||
and build problems in various reduced configurations were fixed.
|
||||
This is an ongoing effort known as "Qt Lite".
|
||||
- Numerous Qt modules outside qtbase now support configure options.
|
||||
In a module-by-module build, these can be passed to qmake itself,
|
||||
after a -- option.
|
||||
- Introduced the qtConfig(<feature>) qmake function to replace the
|
||||
patterns contains(QT_CONFIG, <feature>) and load(qfeatures)+
|
||||
contains(QT_DISABLED_FEATURES, <feature>).
|
||||
Likewise, the C++ macro QT_CONFIG(<feature>) was introduced to
|
||||
replace the pattern !defined(QT_NO_<FEATURE>).
|
||||
The old methods are effectively deprecated and will stop working at
|
||||
some point in the near future.
|
||||
- Use of -sysroot will now trigger a cross-build even if -platform and
|
||||
-xplatform are the same.
|
||||
- The JPEG & GIF handlers and the SQL drivers are now always built as
|
||||
plugins, even in static builds (static "plugins" in this case).
|
||||
- [GCC] Include paths from system libraries are now marked as such,
|
||||
resulting in fewer warnings the user cannot do anything about.
|
||||
- [Windows] config.status.bat is now created, like on Unix.
|
||||
- [QTBUG-46974] Fixed location of config.status in top-level builds.
|
||||
- [QTBUG-38792][Unix] The -redo option is now accepted, like on Windows.
|
||||
- It's now possible to add more arguments when -redo is used. Note that
|
||||
these arguments are not saved in turn. Likewise for config.status.
|
||||
- [QTBUG-32896][iOS/clang] Added missing CFBundleIdentifier to library
|
||||
template.
|
||||
- [QTBUG-47624] Fixed abort when some, but not all, XCB dependencies
|
||||
are met. The feature is now disabled instead, as expected.
|
||||
- [QTBUG-50838] The Raspberry Pi EGL detection now uses pkg-config.
|
||||
- [QTBUG-52112][Android] Plugins now have a SONAME, as required by
|
||||
Android 6+.
|
||||
- [QTBUG-54438] Fixed launching tests, examples, and build tools in
|
||||
some configurations.
|
||||
- [QTBUG-56289][GCC@Windows] Fixed -separate-debug-info.
|
||||
- [QTBUG-57086] Added support for Visual Studio 2017.
|
||||
|
||||
qdbusxml2cpp
|
||||
------------
|
||||
|
||||
- [QTBUG-34126] qdbusxml2cpp now supports the --verbose switch, which
|
||||
provides more details when parsing invalid XML sources.
|
||||
|
||||
qmake
|
||||
-----
|
||||
|
||||
- Added the $$take_first(), $$take_last(), $$num_add(), $$str_size(),
|
||||
$$str_member(), and $$sorted() functions.
|
||||
- The error() function can now be called without arguments to exit
|
||||
silently. Use after write_file() and similar functions which already
|
||||
print an error message.
|
||||
- The $$system() function can return the command's exit code now.
|
||||
- The $$prompt() function can now print the prompt verbatim.
|
||||
- QMAKE_EXTRA_TARGETS will now consistently treat the target as a file
|
||||
name (separator adjustment and quoting).
|
||||
- [QTBUG-16904][VS] Fixed warning about circular dependencies when
|
||||
Q_OBJECT is used in .cpp files.
|
||||
- [QTBUG-36256] packageExists() and PKGCONFIG can now be used
|
||||
regardless of whether Qt itself was built with pkg-config support.
|
||||
- [QTBUG-43468][WinRT] Added option to use verbatim manifest files.
|
||||
- [QTBUG-53905] Fixed OBJECTIVE_SOURCES being moc'd twice.
|
||||
- [QTBUG-55591][VS2015] Added support for the /DEBUG:FASTLINK option.
|
||||
- [QTBUG-56507] Fixed parallel builds when a lex source refers to a
|
||||
file generated from a yacc source.
|
||||
- [QTBUG-56594][MSVC] Fixed PDB files not being installed for static
|
||||
libraries.
|
||||
|
||||
moc
|
||||
---
|
||||
|
||||
- [MSVC] qmake and moc now cooperate to use the Visual Studio environment
|
||||
variables (set by the VCVARSALL.BAT script) to find system include
|
||||
files. A possible consequence is that moc parses application headers
|
||||
slightly differently, depending on #if conditions that depended on
|
||||
macros that previous versions had not seen #define'd. Implementers of
|
||||
other buildsystems are advised to pass the --compiler-flavor=msvc option
|
||||
to moc.
|
Loading…
Reference in New Issue
Block a user