blob: 361a482a7b838b3ae1f9978e27a9acce58cb9a57 [file] [log] [blame]
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page whatsnew58.html
\title What's New in Qt 5.8
\brief Lists the new features in Qt 5.8.
\section1 New Features in Qt 5.8
\section2 Qt Core Module
\list
\li Added at(), operator[], mid(), right(), and left() functions to
QLatin1String.
\endlist
\section2 Qt GUI Module
\list
\li Added \l {QTouchEvent::TouchPoint::}{uniqueId()} and
\l {QTouchEvent::TouchPoint::}{rotation()} to QTouchEvent.
\li Added support for dithering when converting to all QImage formats.
\li Made the QOpenGLTextureBlitter API public; used particularly in Qt
Wayland.
\li Added \l {QFontMetrics::}{capHeight()} to QFontMetrics,
QFontMetricsF, and QRawFont.
\li Added selection handles on Android, with an edit menu for copy and
paste.
\endlist
\section2 Qt Quick Module
\list
\li Refactored the Qt Quick scene graph to remove its OpenGL
dependency, enabling backends based on other graphics APIs such as
Vulkan or Direct3D.
\li Integrated the software renderer (previously known as the Qt Quick
2D Renderer) for Qt Quick as a proper scene graph backend.
\li Implemented support for partial updates in the software renderer.
\li Added an experimental Direct3D 12 backend.
\li Implemented caching of code and data structures generated from
\c .qml and \c .js files to disk, reducing start-up time and memory
consumption. The resulting \c .qmlc and \c .jsc cache files are
memory mapped.
\li Cleaned up touch and mouse event delivery, and added a new internal
class \c QQuickPointerEvent for this purpose.
\endlist
\section2 Qt Quick Controls 2 Module
\list
\li Added new QML types: \l [QtQuickControls2] {Dialog},
\l [QtQuickControls2] {DialogButtonBox},
\l [QtQuickControls2] {MenuSeparator},
\l [QtQuickControls2] {RoundButton}, and
\l [QtQuickControls2] {ToolSeparator}.
\li Added ripple effects to the Material style.
\li Added hover effects to Material and Universal styles
\li Added a \e System theme to Material and Universal styles
\li Added new experimental \e platform QML types:
\c MenuBar, \c Menu, \c SystemTrayIcon,
\c ColorDialog, \c FontDialog, \c MessageDialog,
\c FileDialog, and \c FolderDialog.
\endlist
\section2 Qt WebEngine Module
\list
\li Based on Chromium 53.
\li Updated requirements to MSVC 2015 Update 2 or later on Windows.
\li Added \l {Qt WebEngine Features#View Source}{view-source} scheme
support.
\li Added support for spellchecking with custom .bdic files.
\li Made tooltips (HTML5 global tile attribute) visible.
\li Added support for metadata (\c @include, \c @exclude, \c @match,
\c @name, and \c @run-at) in user scripts.
\li QML: Enabled the use of custom dialogs and context menus.
\li QML: on eglfs, took the built-in dialogs based on Qt Quick Controls
2 into use.
\li Added support for printing.
\li Added a setting to enable printing of CSS backgrounds.
\endlist
\section2 Qt Bluetooth Module
\list
\li Added Bluetooth Low Energy Peripheral support on macOS, iOS, and
WinRT.
\endlist
\section2 Qt Multimedia Module
\list
\li Added QAudio::convertVolume() and a matching QML method to convert
audio volumes from one scale to another; for example, from
logarithmic to linear scale.
\li Added support for rendering YUV 4:2:2 (YUYV, UYVY) video frames to
VideoOutput QML type.
\endlist
\section2 Qt Network Module
\list
\li Added support for TLS-PSK ciphersuites on server side.
\li Added support for configurable Diffie-Hellman parameters.
\li Added support for HTTP/2 in Network Access Manager.
\endlist
\section2 Qt WebSockets Module
\list
\li Added support for TLS-PSK ciphersuites on client and server side.
\endlist
\section2 Qt Charts Module
\list
\li Added a candlestick chart type.
\endlist
\section2 Qt 3D Module
\list
\li Focused on maturation: Bug fixes, improving performance and test
coverage.
\li Added a \e {paint to texture} feature using QPainter.
\li Added optional support for issuing commands to Qt3D aspects (for
example, from a profiler).
\endlist
\section2 Embedded Platforms
\list
\li Enhanced multi-screen capabilities and configurability with eglfs
when running on KMS/DRM, both with GBM and EGLDevice/Stream.
\li Added support for 90 and 180 degrees rotation of software-rendered
content (QWidget) in eglfs.
\endlist
\section2 Configurability (Qt Lite Project)
\list
\li Qt 5.8 comes with a rewritten configuration system that allows for
easy customization of Qt builds. The main focus of this feature is
for the Device Creation, but it can also be used to tailor a Qt
build for mobile or desktop platforms. The new configuration system
allows removing individual pieces of functionality and APIs from
Qt, creating a more lightweight set of libraries for deployment.
\endlist
\section1 New Modules
\list
\li \l {Qt Wayland Compositor}
\list \li Provides a framework to develop a Wayland compositor.
\endlist
\li \l {Qt SCXML}
\list \li Enables static and runtime integration of SCXML models into
Qt code.
\endlist
\li \l {Qt Serial Bus}
\list \li Provides access to various industrial serial buses and
protocols, such as CAN and ModBus.
\endlist
\endlist
These modules were previously released as technology previews, and are
now fully supported Qt add-on modules.
\section1 Technology Preview Modules
\list
\li \l {Qt Gamepad}
\list \li Enables Qt gaming applications to respond to gamepad input.
\endlist
\li \l {Qt Speech}
\list \li Text to speech and speech recognition functionality.
Currently only the text to speech features are released.
Includes backends for several speech synthesizers on
Windows, Linux, macOS, and Android.
\endlist
\li \l {Qt Network Authorization}
\list \li Online authorization support with OAuth protocol,
versions 1 and 2.
\endlist
\endlist
\section1 Deprecated Functionality
\list
\li Qt Script
\endlist
Deprecated modules are still included in Qt 5.8, but are considered for removal
in future releases.
\section1 Removed Functionality
\list
\li Qt Quick 2D Renderer (functionality has been merged into Qt Quick).
\endlist
\section1 List of API Changes
The pages below contain a list of API changes in Qt 5.8:
\list
\li \l{New Classes and Functions in Qt 5.8}
\li \l{Obsolete Classes}
\endlist
\section1 Additions to Other Qt 5 Releases
\list
\li \l{What's New in Qt 5.7}
\li \l{What's New in Qt 5.6}
\li \l{What's New in Qt 5.5}
\li \l{What's New in Qt 5.4}
\li \l{What's New in Qt 5.3}
\li \l{What's New in Qt 5.2}
\li \l{What's New in Qt 5.1}
\li \l{What's New in Qt 5.0}
\endlist
*/
/*!
\page newclasses58.html
\title New Classes and Functions in Qt 5.8
\brief A list of new APIs in Qt 5.8.
This page contains a comprehensive list of all new classes and functions
introduced in Qt 5.8. Links to new APIs in previous Qt 5 releases are found
at the bottom of this page.
\sincelist 5.8
\section1 Additions to Other Qt 5 Releases
\list
\li \l{What's New in Qt 5.7}
\li \l{What's New in Qt 5.6}
\li \l{What's New in Qt 5.5}
\li \l{What's New in Qt 5.4}
\li \l{What's New in Qt 5.3}
\li \l{What's New in Qt 5.2}
\li \l{What's New in Qt 5.1}
\li \l{What's New in Qt 5.0}
\endlist
*/