| /**************************************************************************** |
| ** |
| ** 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 whatsnew512.html |
| \title What's New in Qt 5.12 |
| \brief Lists the new features in Qt 5.12. |
| |
| \section1 New Features in Qt 5.12 |
| |
| \section2 Qt Core Module |
| \list |
| \li Added the static \l {QCryptographicHash::hashLength} method. It |
| returns the length of a hash's output. |
| \li Added wildcardToRegularExpression helper method to |
| QRegularExpression for easier wildcard implementation in user code. |
| \li Added anchoredPattern helper method to QRegularExpression for |
| easier exact matching implementation in user code. |
| \li Added QRegularExpression support to QSortFilterProxyModel. |
| \li Support for CBOR data similar to existing JSON support. |
| \endlist |
| |
| \section2 Qt Network Module |
| \list |
| \li Added DTLS (Datagram Transport Layer Security) over UDP support. |
| \li Added renegotiation to Security Transport backend. |
| \li Added ALPN support and HTTP/2 protocol negotiation to Security |
| Transport backend. |
| \li Added PKCS#8 support in the generic SSL backend (WinRT and Secure |
| Transport). |
| \li Added QPasswordDigestor: a new namespace that contains |
| password-based key derivation functions (currently PBKDF1 and |
| PBKDF2). |
| \endlist |
| |
| \section2 Qt Widgets Module |
| \list |
| \li Added \l {QStyle::SH_SpinBox_StepModifier} style hint. |
| \li Added \l {QLineEdit::inputRejected} signal. |
| \li Added \l {Qt::WA_StyleSheetTarget} attribute. |
| \li Added \l {QLayout::indexOf(QLayoutItem *)} function. |
| \endlist |
| |
| \section2 Qt QML Module |
| \list |
| \li The JavaScript engine now supports |
| \l {http://www.ecma-international.org/ecma-262/7.0/}{ECMAScript 7}. |
| This includes an upgrade to ECMAScript 6, see |
| \l {http://es6-features.org/}{ECMAScript 6 - New Features: Overview |
| & Comparison}. |
| \li ECMAScript modules can now be loaded directly with |
| QJSEngine::importModule() and imported in .qml files when using the |
| .mjs file extension. |
| \endlist |
| |
| \section2 Qt Quick Module |
| \list |
| \li Pointer Handlers are renamed to Input Handlers (we include the |
| pre-existing Keys attached property in this category) and are now |
| fully supported as a first-class QML feature in Qt Quick. |
| (C++ API for them is still not public yet.) |
| \li HoverHandler is a new type of handler for detecting mouse hover. It |
| can detect hover even in cases of deep nesting: unlike MouseArea, |
| you can hover multiple nested Items with HoverHandlers in them at |
| the same time. (For example, a sidebar and an individual button on |
| the sidebar). |
| \li DragHandler is now a multi-point handler: if you set |
| minimumPointCount to \c 2, it will react only to a 2-finger drag, |
| for example. This can give you another degree of freedom: |
| single-finger drag can perform the typical item movement, and |
| 2-finger drag can do something else (change the tilt angle, for |
| example). |
| \li Added support for pregenerated distance field caches for faster |
| startup times. |
| \li Added TableView as another type of Item View: on par |
| with ListView but having multiple columns. Unlike the one in |
| QtQuick Controls 1.x, it does not do any styling; rather it |
| provides the optimal solution for instantiating (and pooling and |
| reusing) delegates on demand as you scroll through the rows and |
| columns. |
| \li Tech Preview: Added DelegateChooser as a means of choosing |
| different delegates in Item Views (such as TableView) depending on |
| role values from the model, or depending on the index. |
| \endlist |
| |
| \section2 Qt Quick Controls 2 Module |
| \list |
| \li Dial: Added inputMode property, that adds two new ways of |
| interacting with the Dial: horizontally and vertically. These new |
| input modes use a relative input system that adds changes to the |
| dial's position to its value. This results in a dial that is less |
| "jumpy", making it safe for operations that could be harmful if |
| done incorrectly, like adjusting audio levels. |
| \li Control and Popup: Added topInset, bottomInset, leftInset, and |
| rightInset properties to control the geometry of the background, |
| similarly to how paddings control the geometry of the contentItem. |
| \li Added implicit*Width and implicit*Height properties (for example, |
| implicitHeaderWidth, implicitContentWidth, and so on) to simplify |
| complex implicit size bindings. |
| \li SwipeView and DialogButtonBox: Added contentWidth and contentHeight |
| properties. |
| \li RangeSlider: |
| \list |
| \li Added the valueAt() function, which enables tooltips to show |
| up-to-date values for each handle when live is set to \c false |
| (copied from Slider). |
| \li Added first.moved() and second.moved() signals, similar to |
| Slider's moved() signal. |
| \endlist |
| \li Control: Unless explicitly specified, baselineOffset is now |
| automatically updated based on the top padding of the control and |
| the baselineOffset of the contentItem. Styles no longer need to |
| specify the baselineOffset in QML. |
| \li Popup: added anchors.centerIn to allow a convenient way of |
| centering a popup. |
| \li QQuickStyle: Added stylePathList() and addStylePath() methods for |
| managing the list of directories where Qt Quick Controls 2 searches |
| for available styles. |
| \li Slider and RangeSlider: Added touchDragThreshold property for |
| configuring the threshold to initiate the touch 'drag' of the |
| handle of the slider. The mouse 'drag' is not affected by the |
| property. |
| \li TextArea and TextField: Added placeholderTextColor property to |
| customize the placeholderText color to fit the backgrounds. |
| \li Material: Added a Dense variant of the Material style for use on |
| desktop platforms. Some controls are slightly smaller in height and |
| use smaller font sizes. The variant can be enabled by setting |
| QT_QUICK_CONTROLS_MATERIAL_VARIANT to Dense or setting |
| \c {Variant=Dense} in the qtquickcontrols2.conf file. |
| \li DialogButtonBox: Added buttonLayout property that can be used to |
| arrange the buttons. |
| \li Tumbler: Added positionViewAtIndex() function that calls the |
| respective PathView/ListView function, depending on the value of |
| wrap. This allows changing currentIndex without animations. |
| \li Control and Popup: Added horizontalPadding and verticalPadding |
| properties as convenient ways to set both left and right, or top |
| and bottom paddings in one go. |
| \li ToolTip: Added non-attached show() and hide() methods to give the |
| same level of convenience for showing non-attached tooltips with |
| certain parameters. |
| \endlist |
| |
| \section2 Qt 3D Module |
| \list |
| \li Load an animation from a file containing several animations, either |
| by name or index. |
| \li Enable stepped animation curves. |
| \li Fix for creation and re-parenting of QNodes in some circumstances. |
| \li Reflect loaded texture properties for frontend texture objects. |
| \li TextureImage no longer requires a texture as parent. |
| \li Reduce CPU usage when not in the simulation loop. |
| \li Enable EntityLoader to load from a Component or file. |
| \li Support rendering using OpenGL ES 3.1. |
| \li Performance and bug fixes in the renderer backend. |
| \endlist |
| |
| \section2 macOS-Specific |
| \list |
| \li Added support for QSurfaceType::MetalSurface. |
| \li Added support for QSurfaceType::VulkanSurface and QVulkanWindow, |
| using MoltenVK. |
| \endlist |
| |
| \section2 Qt Wayland Module |
| \list |
| \li Added support for xdg-shell stable (and deprecated unstable v5). |
| \li Made the default window decorations look nicer. |
| \li Added support for xdg-decoration-unstable-v1 for server-side window |
| decorations. |
| \endlist |
| |
| \section2 Qt Websockets Module |
| \list |
| \li Added the \l {QWebSocket::bytesToWrite} function. |
| \endlist |
| |
| \section2 Qt Location Module |
| \list |
| \li Updated MapboxGL plugin with QNX7 support. |
| \li Exposed add/remove transitions in MapItemView. |
| \li Updated MapItemView to inherit from MapItemGroup so that it can |
| nest itself. It can also be used as a delegate of itself. |
| \li Support populating the PlaceSearchModel incrementally, as opposed |
| to only switching pages. |
| \li Introduced Map.visibleArea, to restrict the visible area of the |
| map. |
| \li Updated the MapItem's geoShape property to be R/W, with a virtual |
| setter in the base class. |
| \li Added support for inner holes in QGeoPolygon. These are currently |
| honored, by MapPolygon, only with the MapboxGL plugin. Support in |
| the built-in renderer will follow. |
| \li Added support for Route legs. |
| \endlist |
| |
| \section2 Qt Test Module |
| \list |
| \li Updated std::tuple errors to provide better diagnostics when used |
| with QCompare. |
| \endlist |
| |
| \section2 Qt Labs Platform |
| \list |
| \li Menu, MenuItem, SystemTrayIcon: deprecated iconName and iconSource |
| in favor of icon.name and icon.source grouped properties. |
| \li Menu, MenuItem, SystemTrayIcon: added icon.mask grouped property. |
| \endlist |
| |
| \section2 Qt Virtual Keyboard Module |
| \list |
| \li Introduced an extension interface for the virtual keyboard. All the |
| current input methods and some special keyboard layouts (for |
| example, Hunspell, OpenWnn, and so on) have been moved to |
| extensions. The extension interface allows third parties to create |
| new input methods without having to modify or rebuild the virtual |
| keyboard. In addition, this change makes it possible to add |
| features and languages independently by copying the desired |
| extensions to the system. |
| \li Introduced a virtualkeyboard module, which can be linked against an |
| extension plugin. This module provides the C++ API necessary for |
| creating an input method. |
| \li Added option to exclude all styles from the plugin at build time. |
| \li Added support for MyScript Superimposed handwriting recognition. |
| MyScript supports the recognition of isolated character, cursive, |
| print and superimposed writing. In addition, it enables the |
| recognition of letters, words or parts of words written one over |
| the other, without any explicit separation between consecutive |
| fragments. It targets small devices with sufficient hardware |
| capabilities in terms of CPU power and memory. |
| \li Added Vietnamese handwriting recognition (T9 Write). |
| \li Added new layouts: Albanian, American English, Brazilian Portuguese, |
| French Canadian, Indonesian, Malay, Mexican Spanish, Slovak, |
| Slovenian, Thai, Turkish, Vietnamese, and Ukrainian. |
| \li Added latin extra layout for Russian. |
| \li The pinyin and tcime dictionaries are now bundled in the plugin by |
| default. |
| \li Added user dictionary and learning for Hunspell. |
| \endlist |
| |
| \section2 Qt WebEngine Module |
| \list |
| \li Updated to Chromium 69. |
| \li Added QWebEngineUrlScheme interface to configure type and security |
| of custom URL schemes. |
| \li WebActions are now exposed in QML. |
| \li The view or page that triggered a download can now be read from |
| download items. |
| \li Support client SSL certificates, in so far as the operating system |
| supports them. |
| \endlist |
| |
| \section2 Qt GUI Module |
| \list |
| \li Added presets for QGradient based on https://webgradients.com/. |
| \li Added 4xU16 RGBA64 formats to QImage, reading them from PNGs, and |
| uploading or grabbing them from OpenGL. |
| \li Added support to Windows UI Automation to the WinRT QPA, allowing |
| Qt-based UWP applications to operate with accessibility and |
| programmatic UI control tools. |
| \li Replaced the handling of tablet/touchscreen/touchpad/mouse input |
| with a unified implementation based on the Windows Pointer Input |
| Messages on Windows 8 and newer. Hardware such as the screen |
| digitizer in the MS Surface line is now supported without special |
| drivers. |
| \endlist |
| |
| \section2 Qt Serial Bus Module |
| \list |
| \li Added a virtual CAN bus plugin for simulation without CAN hardware. |
| \li Added configuration options to canbusutil, for example for bitrate |
| setting. |
| \li Added CAN FD functionality to the PeakCAN plugin. |
| \li Added the \l {QCanBusDevice::readAllFrames}{readAllFrames()} and |
| \l {QCanBusDevice::clear}{clear()} functions to QCanBusDevice. |
| \endlist |
| |
| \section2 Qt Bluetooth Module |
| \list |
| \li Added manufacturer data to the QBluetoothDeviceInfo objects that |
| are emitted from the BLE discovery agent. Decoding iBeacon payloads |
| is still up to the application. |
| \endlist |
| |
| \section2 Qt for Automation Offering |
| \list |
| \li Qt MQTT now has full support for MQTT protocol level 5. |
| \li Qt KNX |
| \list |
| \li Support for KNXnet/IP Core Version 2. |
| \li Support for KNXnet/IP Routing Version 1. |
| \li Support for KNXnet/IP Tunneling Version 2. |
| \li Support for KNXnet/IP communication via TCP. |
| \li Tech Preview: Basic support for KNXnet/IP Secure Protocol. |
| \endlist |
| \li Qt OPC UA (Tech Preview) |
| \list |
| \li Support for events. |
| \li Added a batch read API. |
| \li Added a batch write API. |
| \li Added a TranslateBrowsePathsToNodeIds API. |
| \li Improved browse API. |
| \li Support for the Argument and ExpandedNodeId types. |
| \li Nodes can now be instantiated from an ExpandedNodeId. |
| \li Support for multi-dimensional arrays has been fixed. |
| \li Support reading and writing of extension objects. |
| \endlist |
| \endlist |
| |
| \section1 New Modules |
| \list |
| \li Qt Remote Objects is now fully supported. |
| \li Qt WebGL Streaming Plugin is now fully supported. |
| \endlist |
| |
| \section1 Platform Changes |
| \list |
| \li QTimeZone |
| \list |
| \li Now uses ICU, when available, in preference to Microsoft's |
| native APIs. |
| \endlist |
| \endlist |
| |
| \section1 Technology Preview Features |
| \list |
| \li Qt for WebAssembly (TP2) - A platform target to compile Qt |
| applications for the web browsers using WebAssembly. |
| \endlist |
| |
| \section1 Deprecated Modules |
| The following modules are part of the Qt 5.12 release, but are deprecated |
| and considered for removal in subsequent releases of Qt: |
| |
| \list |
| \li Qt Script |
| \li Qt Quick Controls 1 |
| \li Qt Canvas 3D |
| \endlist |
| |
| \section1 List of API Changes |
| The pages below contain a list of API changes in Qt 5.12: |
| \list |
| \li \l{New Classes and Functions in Qt 5.12} |
| \li \l{Obsolete Classes} |
| \endlist |
| |
| \section1 Additions to Other Qt 5 Releases |
| |
| \list |
| \li \l{What's New in Qt 5.11} |
| \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 newclasses512.html |
| \title New Classes and Functions in Qt 5.12 |
| \brief A list of new APIs in Qt 5.12. |
| |
| This page contains a comprehensive list of all new classes and functions |
| introduced in Qt 5.12. Links to new APIs in previous Qt 5 releases are found |
| at the bottom of this page. |
| |
| \sincelist 5.12 |
| |
| \section1 Additions to Other Qt 5 Releases |
| |
| \list |
| \li \l{What's New in Qt 5.11} |
| \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 |
| */ |
| |