| 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. |
| |
| **************************************************************************** |
| * General * |
| **************************************************************************** |
| - [QTBUG-54982] Add qmlRegisterUncreatableMetaObject convenience function |
| needed to register Q_NAMESPACE QMetaObjects. |
| |
| **************************************************************************** |
| * Important Behavior Changes * |
| **************************************************************************** |
| |
| - [QTBUG-52012] When the engine looks for QML modules / extension |
| plugins in statically linked applications, the plugins are not |
| instantiated in the qml loader thread anymore. For this to work |
| however it is necessary for plugins to use |
| Q_PLUGIN_METADATA(IID_QQmlExtensionInterface_iid) in their class |
| declaration instead of hardcoding the interface id as a string literal. |
| |
| - A JS null value converted to a QVariant now has type |
| QMetaType::Nullptr rather than QMetaType::VoidStar. |
| |
| - To improve the start-up time and reduce memory consumption, the QML engine |
| attempts to cache the code and data structures generated during loading of |
| .qml and .js files. Cache files are - if possible - written to disk in the |
| directory next to the source file with the .qmlc/.jsc extension. If that |
| is not possible, they are written to QStandardPaths::CacheLocation. |
| |
| |
| **************************************************************************** |
| * Library * |
| **************************************************************************** |
| |
| QtQml |
| ----- |
| |
| - [QTBUG-53412] Fix mapping of null JS values to null SQL values instead |
| of empty strings. |
| - [QTBUG-53794] Fix crash when using the "with" statement with an |
| expression that throws an exception. |
| - [QTBUG-54589] Fix assertion when deleting properties of JS objects |
| - [QTBUG-54360] Added exit(int retCode) method to the Qt global object. An |
| application can call Qt.exit to specify a return code of the engine. |
| - QQmlXMLHttpRequest: |
| * [QTBUG-38175] QQmlXMLHttpRequest now supports the PATCH method in HTTP |
| requests. |
| - Fix reading of enum properties from gadgets / value types when the |
| enum was registered with qRegisterMetaType(). |
| - Fixed support for using namespaces in property types, signal parameter names |
| and list types |
| - Fixed support for declaring default properties of type list<T> |
| |
| |
| QtQuick |
| ------- |
| |
| - QQuickWindow: |
| * The relevant child item is now sent a hover event when the window |
| receives a QEnterEvent, making sure hovering is recognized without |
| waiting for mouse movement. |
| - [QTBUG-50298] Added Qt.application.font property. |
| - QQuickWidget now properly repaints text on high-DPI screen changes. |
| - [QTBUG-54238] qt.scenegraph.info logging category got renamed to |
| qt.scenegraph.general. |
| - ShaderEffect with OpenGL now supports reading GLSL shader sources from |
| local files and from the resource system. Whenever a fragmentShader or |
| vertexShader property is a valid such URL, the value is treated as a |
| file specification instead of actual source code. |
| - The threaded scene graph renderer does not sleep up to one vsync |
| interval before the first frame anymore. |
| - [QTBUG-48723] Added properties to access color values for the HSV and |
| HSL color models to the basic QML color type. |
| - MouseArea no longer thinks it's pressed when it does not accept the |
| press event. When a press event is not accepted, MouseArea also no |
| longer receives a cancel event. |
| - Touch events are now delivered in a well defined order: New touch points |
| are delivered first to items under the finger which was first touching |
| the screen. Then to items that are under the second finger and finally |
| to common ancestors. This means that items that are "on top" will get a |
| chance to grab touch points before any items in the background. |
| - [QTBUG-39888] Fix crash with QQuickItems created via JavaScript being |
| garbage collected sometimes when they're not assigned to a window. |
| |
| - Drag: |
| * [QTBUG-37366] Added imageSource property to attached Drag object: this |
| allows drag sources to specify the pixmap to be drawn next to the |
| mouse cursor when starting a drag and drop operation. |
| |
| - Important Behavior Changes: |
| * [QTBUG-54133] QQuickWidget now follows the same behavior as |
| QQuickWindow when it comes to the persistent scenegraph setting |
| controlled by QQuickWindow::setPersistentSceneGraph(). In earlier |
| releases the setting was ignored and the scenegraph was torn down on |
| every hide event. This is not the case anymore. |
| * [QTBUG-54133] QQuickWidget now behaves identically to QOpenGLWidget |
| when it comes to handling window changes when reparenting the widget |
| into a hierarchy belonging to another top-level widget. Previously the |
| OpenGL context always got destroyed and recreated in order to ensure |
| texture resource sharing with the new top-level widget. From now on |
| this is only true when when AA_ShareOpenGLContexts it not set. |
| |
| - LayoutMirroring: |
| * [QTBUG-55517] Made it possible to attach LayoutMirroring to a Window. |
| |
| - MouseArea: |
| * [QTBUG-40475][QTBUG-42194][QTBUG-33982][QTBUG-42578][QTBUG-52537] |
| Hover state is now updated once per frame. This means that |
| MouseArea::containsMouse property will now be correct even if the |
| mouse is not moving, but items move under the cursor. Likewise the |
| mouse position properties and positionChanged signal will act as if |
| the mouse had moved. |
| |
| - QQuickItem: |
| * [QTBUG-31861] Fixed issue with mouse button events being sent even |
| when they were disabled by setAcceptedMouseButtons. |
| |
| - QQuickWindow: |
| * QQuickWindow::sendEvent() is deprecated. Use |
| QCoreApplication::sendEvent() directly instead. |
| |
| - ShaderEffect: |
| * Add new mesh type BorderImageMesh. BorderImageMesh provides an |
| optimized way to use BorderImage-type images with ShaderEffect. |
| |
| - Text: |
| * [QTBUG-52389] Fixed clipping of glyphs that extend beyond font's em |
| square. |
| * [QTBUG-54723] Fixed a performance regression when rendering a rich |
| text item with scaled images. |
| * [QTBUG-43133] Fixed placement of flowing text objects in the start of |
| a right-to-left block. |
| |
| |
| |
| QML Elements |
| ------------ |
| |
| - Added a LoggingCategory type and added support for it to the console |
| object |
| |
| - Binding: |
| * Add delayed property to Binding as a way to avoid potentially expensive |
| or unexpected intermediate values. |
| |
| - Text, TextEdit, TextInput: |
| * Added "hintingPreference" property |
| |
| - Platform Specific Changes: |
| * [Windows][QTBUG-45321] Worked around an issue with fonts that have corrupt |
| cmap tables. |
| |
| QtTest |
| ------ |
| |
| - TestCase: |
| * [QTBUG-19708] Added tryVerify() function to allow verification of |
| asynchronous conditions that can't be tested using tryCompare(). |