/**************************************************************************** ** ** Copyright (C) 2018 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 whatsnew511.html \title What's New in Qt 5.11 \brief Lists the new features in Qt 5.11. \section1 New Features in Qt 5.11 \section2 Qt Core Module \list \li Added \l{QIODevice::NewOnly} and \l {QIODevice::ExistingOnly} \c OpenMode flags. When used with QFile, \c NewOnly instructs \c open() to (atomically) return \c false if the file to open exists. \c ExistingOnly instructs \c open() to (atomically) return \c false if the file does not exist. \li QFloat16 now has two methods for bulk conversion between \c float16 and \c float, using hardware SIMD acceleration if available at runtime. \li QVarLengthArray now has rvalue reference versions of prepend and insert, and can hold movable-only datatypes such as \c std::unique_ptr. \li QVector now has rvalue reference versions of prepend and insert. \li QUuid \c toString() and \c toByteArray() now take a parameter specifying the generated format. \li Updated Unicode support in QString, QChar, and QTextBoundaryFinder to be compatible with Unicode 10. \endlist \section2 Qt Network Module \list \li ALPN (via Secure Transport) and thus HTTP/2 negotiation are now supported on iOS (starting from version 11). \li QNetworkRequest now has the \c Http2DirectAttribute to start a connection in HTTP/2 without first negotiating. \endlist \section2 Qt QML Module \list \li The compiler pipeline is rewritten. We now directly generate byte code from the AST, and store that as our intermediate representation. \li Optimized handling of JS calls, bringing large improvements especially when calling small functions. \li Newly written byte code interpreter brings significant performance improvements, at 80-90% of the JIT in Qt 5.10. \li \c .qmlc files are now fully platform-independent and store byte code instead of assembly. \li New hotspot JIT that generates optimized assembly for byte code that gets repeatedly executed. \li \c {CONFIG += qtquickcompiler} now also works in the open source version, by embedding the generated byte code at compile time. \endlist \section2 Qt Quick Module \list \li Expanded support for loading compressed textures in Image element. Now supports both \c .ktx and \c .pkm container file formats. \endlist \section2 Qt Quick Controls 2 Module \list \li AbstractButton \list \li Promoted the \l {AbstractButton::}{autoRepeat} property from \l [QML] Button to \c AbstractButton. \li Added \l {AbstractButton::}{autoRepeatDelay} and \l {AbstractButton::}{autoRepeatInterval} properties. \li Added \c pressX and \c pressY properties to expose the press point to QML. \endlist \li ButtonGroup \list \li Added a \c checkState property. It indicates the combined check state of the entire group. \endlist \li CheckBox and CheckDelegate \list \li No longer force tristate to \c true when setting \c checkState to \c Qt.PartiallyChecked. This allows presenting a partially checked state without being interactively tri-state. \li No longer consider partially checked as checked. This fixes check state cycling for a non-tri-state checkbox so that it goes from partially checked to fully checked state. \li Made it possible to implement \c nextCheckState() in QML. \endlist \li ScrollBar and ScrollIndicator \list \li Added \c minimumSize, \c visualSize, and \c visualPosition properties. \endlist \li SpinBox \list \li Added a \c displayText property to allow styles to create a light binding to display the textual value instead of having to call the \c textFromValue() JS-function. \endlist \endlist \section2 Qt 3D Module \list \li Scrub through animations with the \c normalizedTime property of QAbstractClipAnimator. \li Issue arbitrary ray casts in world space or screen space. \li Improved SIMD support. \endlist \section2 Qt Location Module \list \li New Qt.labs.location plugin containing experimental QML types. \endlist \section2 Qt WebEngine Module \list \li Updated to Chromium 65. \li Embedded DevTools without using a port and separate browser. \li Installable cookie filter. \li Quota permissions. \endlist \section2 QDoc Documentation Generator \list \li QDoc now uses libclang for parsing C/C++ code. \endlist \section2 Qt Designer Tool \list \li Added support for ID-based translations. \endlist \section2 Qt GUI Module \list \li On Windows Desktop, the accessibility support was updated and vastly improved. The implementation is now based on Microsoft UI Automation (it was formerly based on Microsoft Active Accessibility). \li The widgets themes available on Windows Desktop were updated to better support High-DPI displays, including fixes for several rendering issues, providing improved appearance and functionality. \li Linux Printing now supports more CUPS options with the advanced tab in QPrintPropertiesDialog, allowing many additional settings (amongst them arbitrary page ranges). \li Updated the Unicode bidirectional text algorithm to be compliant with Unicode 10. \endlist \section2 Qt Widgets Module \list \li Added quick text selection by mouse to QLineEdit. \endlist \section2 Qt Serial Bus Module \list \li Added J2534 Pass-Thru CAN plugin for communication between a computer and a vehicle. \li Added description, serial number and channel to QCanBusDeviceInfo, as far as supported by the various plugins. \li Introduced categorized logging to the CAN bus module which can be enabled by the \e "qt.canbus" and \e "qt.canbus.plugins." filters. \li QCanBusFrame::isValid() now checks for invalid CAN FD payload lengths. E.g. 24 is a valid CAN FD payload length, but 28 is not. \endlist \section2 Qt Bluetooth Module \list \li Ported Bluetooth Low Energy Central role implementation to BlueZ's DBus LE API (minimum version to enable is BlueZ 5.42). \endlist \section1 New Modules No new modules were added in this version. \section1 Platform Changes \list \li MSVC2013 support removed from the code base. \li Qt WebEngine now requires MSVC 2017 on Windows. \li QNX 6.6 no longer supported (note: QNX 7 remains fully supported). \li macOS 10.10 no longer supported. \li Improved Accessibility support on Win32 by adopting the Windows UI Automation framework. \li XCB: Support for missing 'dead keys' such as dasia and diaeresis. \li eglfs \list \li Added support for framebuffer formats other than XRGB8888 (RGB565, ARGB8888). \li Added experimental screen cloning support (by scanning out the same framebuffer on multiple displays). \li Added support for operating with DRM render nodes (/dev/dri/renderDnn) in a headless mode transparent to applications. \li Added a makespec for Renesas R-Car M3. \li Added experimental backend for compositing Qt content with other hardware layers via VSP2 on Renesas devices. \endlist \endlist \section1 Technology Preview Modules \list \li Qt Remote Objects (TP3) - A module that allows you to easily share QObject interfaces (Signals/Slots/Properties) between processes or devices. \li Qt WebGL Streaming Plugin (TP2) - Stream applications to browsers over the network. \endlist \section1 Deprecated Modules The following modules are part of the Qt 5.11 release, but are deprecated and considered for removal in subsequent releases of Qt: \list \li Qt Script \li Qt Quick Controls 1 \endlist \section1 List of API Changes The pages below contain a list of API changes in Qt 5.11: \list \li \l{New Classes and Functions in Qt 5.11} \li \l{Obsolete Classes} \endlist \section1 Additions to Other Qt 5 Releases \list \li \l{What's New in Qt 5.10} \li \l{What's New in Qt 5.9} \li \l{What's New in Qt 5.8} \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 newclasses511.html \title New Classes and Functions in Qt 5.11 \brief A list of new APIs in Qt 5.11. This page contains a comprehensive list of all new classes and functions introduced in Qt 5.11. Links to new APIs in previous Qt 5 releases are found at the bottom of this page. \sincelist 5.11 \section1 Additions to Other Qt 5 Releases \list \li \l{What's New in Qt 5.10} \li \l{What's New in Qt 5.9} \li \l{What's New in Qt 5.8} \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 */