New Features in Qt 5.5: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
(Add to category Release)
 
(38 intermediate revisions by 16 users not shown)
Line 1: Line 1:
=What is new in Qt 5.5=
{{DISPLAYTITLE:New Features in Qt 5.5}}
[[Category:Developing_with_Qt::Qt 5]]
[[Category:Release]]


What is new in Qt 5.5
For non-feature updates and for important notices, please see [[Change-files-in-Qt-5.5.0]]
Potentially incomplete.


New Features
== New Features ==
 
* Qt Bluetooth
** Bluetooth Low Energy API final release (5.4 was featuring tech preview).
** Bluetooth Low Energy Support for Android (requires Android v18+) added.
** Bluetooth Classic and Low Energy support for iOS and OS X.
 
* Qt Core
** You can now have Q_PROPERTY and Q_INVOKABLE within a Q_GADGET, and there is a way to query the QMetaObject of such gadget using the QMetaType system.
** Added Q_ENUM to replace Q_ENUMS which allow to get a QMetaEnum at compile time using QMetaEnum::fromType<T>. Such enums are now automatically registered as metatype, and can be converted to string within QVariant, or are printed as string by qDebug()
 
* Qt GUI
** Windows packages are all built with -opengl dynamic. No OpenGL-only or ANGLE-only builds are provided anymore.
** On Windows the OpenGL implementation to use can now be configured based on the GPU vendor and driver version using JSON configuration files. This allows shipping fine-grained card and driver blacklists with the apps, when necessary.
** QOpenGLWidget is now supported in iOS.
** QImage: 8-bit alpha map and grayscale formats.
** QImageReader: EXIF orientation can now be read though the transformation method, and applied on read to JPEGs if wanted.
 
* Qt Multimedia
** GStreamer 1.0 support. Note that the default is still 0.10. 1.0 support can be enabled by configuring Qt with '-gstreamer 1.0'.
** New video filtering framework to integrate frameworks like OpenCV or compute APIs such as OpenCL or CUDA with VideoOutput elements.
** New API to control camera viewfinder settings
** Improved camera support on iOS (focus, zoom, exposure, viewfinder/image settings)
** The QML MediaPlayer is now rendered in an OpenGL texture on iOS. This means VideoOutput supports advanced transformation, shader effects and doesn't have to be always on top of other items anymore.
 
* Qt NFC
** Neard based backend for Linux added.
 
* Qt Network
** New SSL back-end for iOS and OS X based on Secure Transport. Note that in Qt 5.6 this will become the default SSL: back-end on these platforms.
** Support for libproxy
** Support for TLS PSK ciphersuites
** Support for elliptic curve certificates
** Ability to select specific curves when using elliptic curve ciphersuites.


* QPA
* QPA
**XCB plugin now uses the dbus based statusnotifier protocol for system tray and notifications.
** Added support for the Raspberry Pi 2.
** Added support for the ODROID-XU3.
** On supported desktops, the xcb plugin now uses the D-Bus based org.kde.StatusNotifier protocol for system tray icons, and org.freedesktop.Notifications for notifications.
** KMS/DRM backend for EGLFS. This replaces the now deprecated KMS platform plugin. It allows running apps with eglfs on the console on systems with Mesa and devices that come with drm support.
** KMS/DRM backend for EGLFS. This replaces the now deprecated KMS platform plugin. It allows running apps with eglfs on the console on systems with Mesa and devices that come with drm support.
** EGLFS has a plugin-based backend mechanism in addition to the existing, statically compiled-in solution.
** EGLFS has a plugin-based backend mechanism in addition to the existing, statically compiled-in solution. Most compiled-in hooks are converted to be dynamically loaded plugins that are built based on configure time tests. This reduces the reliance on the device makespecs for RPi, i.MX6 and Mali-based devices.
** Input handling is now unified for EGLFS and LinuxFB, avoiding the need to launch and configure LinuxFB-based apps differently than when using EGLFS.
** tslib is now better integrated with EGLFS and LinuxFB to provide support for resistive single-touch touchscreens often used in industrial environments.
** tslib is now better integrated with EGLFS and LinuxFB to provide support for resistive single-touch touchscreens often used in industrial environments.
** xcb is refactored to move GLX and EGL support into plugins. No more ifdefs, allowing building both backends.
** xcb is refactored to move GLX and EGL support into plugins. No more ifdefs, allowing building both backends.
** Added a TUIO Touch plugin for receiving remote touch events via UDP.
** Added a TUIO Touch plugin for receiving remote touch events via UDP.
** Added a libinput plugin.
** Added a libinput plugin.
* Qt GUI
** iOS: you can now use QFileDialog to browse system photos using a native image picker dialog by setting directory to QStandardPaths::PicturesLocation. Selected photos can be loaded using QFile.
** Windows packages are all built with -opengl dynamic. No OpenGL-only or ANGLE-only builds are provided anymore.
 
** QImage: 8-bit Alphamap and grayscale formats.
* Qt QML
** It is now possible to conveniently expose custom C++ value types into the JavaScript environment of QML and QJSEngine.
** Support for JavaScript typed arrays
** Various performance improvements, notably QJSValue
** Added convenience qJsEngine(QObject*) getter function.
 
* Qt Quick
* Qt Quick
** Windows now defaults to the threaded Qt Quick render loop when using desktop OpenGL (opengl32.dll).
** Windows now defaults to the threaded Qt Quick render loop when using desktop OpenGL (opengl32.dll).
** QQuickWidget is now supported in iOS.
** QQuickRenderControl supports threaded rendering.
** QQuickRenderControl supports threaded rendering.
** Improved behavior of Flickable on OS X trackpads using pixel deltas from native gestures.
** PinchArea handles native pinch gestures when the OS provides them (so far only on OS X). Otherwise it relies on touch events, as before.
** Added a smart zoom signal to PinchArea to react to that gesture on an OS X trackpad.
** MouseArea now has a scrollGestureEnabled property to control whether native scroll gestures from the OS will be handled by the wheel signal handler.
* Qt Quick Controls
* Qt Quick Controls
** Qt Quick Extras (formerly Qt Quick Enterprise Controls) was added under the QtQuick.Extras import.
** Qt Quick Extras (formerly Qt Quick Enterprise Controls) was added under the QtQuick.Extras import.
* Qt QML
** TreeView control for QAbstractItemModel-derived models. Supports QItemSelectionModel selection.
** It is now possible to conveniently expose custom C++ value types into the JavaScript environment of Qml and QJSEngine.
 
* Qt Multimedia
** GStreamer 1.0 support. Note that the default is still 0.10. 1.0 support can be enabled with a configure option.
** New video filtering framework to integrate frameworks like OpenCV or compute APIs such as OpenCL or CUDA with VideoOutput elements.
** New API to control camera viewfinder settings
* Qt Bluetooth
** Bluetooth Low Energy API final release (5.4 was featuring tech preview).
** Bluetooth Low Energy Support for Android (requires Android v18+) added.
** Bluetooth Classic and Low Energy support for iOS and OS X.
* Qt Nfc
** Neard based backend for Linux added.
* Qt WebEngine
* Qt WebEngine
** Updated Chromium snapshot to version 40
** WebEngineProfile for control of storage and cache paths and related policies.
** WebEngineProfile for control of storage and cache paths and related policies.
** Added support for javascript Geolocation API with QtLocation as a backend
** Added support for javascript Geolocation API with QtLocation as a backend
** Added API for managing downloading of files
** Added API for managing downloading of files
** Added API for controlling cache and cookie paths and policy
** Added API for controlling cache and cookie paths and policy
** Added API for WebEngine settings
** Added API for injecting user scripts
** Various experimental QML API has been promoted to public
** Added QtWebChannel integration API over Chromium IPC
* Qt WebView
* Qt WebView
** Added native implementations for Windows and Mac OS X
** Added native implementations for Mac OS X.
** Added API for running JavaScript (Requires API 19+ on Android).
** Added API for setting the HTML content.
** Added API for load status notifications.
 
== New Modules ==
 
* Qt 3D
** The Qt 3D module is now included as a technology preview.
** C++ and QML APIs for easy inclusion of 3D graphics into your Qt applications.
** Supports OpenGL 2, 3, 4 and OpenGL ES 2 and ES 3.
** Data-driven renderer configuration.
** Extensible beyond 3D graphics. Provides a full Entity Component System framework.
** Supported platforms: Windows (not RT), OS X, Linux xcb, Android, Embedded Linux with ES 2(QNX & iOS coming)
 
* Qt Canvas 3D
** Added Qt Canvas 3D module, a JavaScript 3D rendering API for Qt Quick.
 
* Qt Location
** Tech preview of this new module
** Adds mapping, (reverse-)geocoding, routing and place features to Qt.
 
== Deprecated Functionality ==
 
With Qt 5.5 the following modules are deprecated:
* Qt WebKit
* Qt Declarative (Qt Quick 1)
* Qt Script
 
These modules are still included in the Qt 5.5 release, but considered for removal in the future releases of Qt.
 
== New Configurations ==
Qt 5.5 does not add support to new operating systems, but there are many changes in supported platform and compiler versions. More details what is now tested in Qt CI, please check [[Qt-5.5.0-tools-and-versions]]
 
== Known Issues ==


===Categories:===
More details [[Qt550-KnownIssues|here]].


* [[:Category:Developing with Qt|Developing_with_Qt]]
{{Release Information}}
** [[:Category:Developing with Qt::Qt-5|Qt 5]]

Latest revision as of 12:09, 22 November 2016


For non-feature updates and for important notices, please see Change-files-in-Qt-5.5.0

New Features

  • Qt Bluetooth
    • Bluetooth Low Energy API final release (5.4 was featuring tech preview).
    • Bluetooth Low Energy Support for Android (requires Android v18+) added.
    • Bluetooth Classic and Low Energy support for iOS and OS X.
  • Qt Core
    • You can now have Q_PROPERTY and Q_INVOKABLE within a Q_GADGET, and there is a way to query the QMetaObject of such gadget using the QMetaType system.
    • Added Q_ENUM to replace Q_ENUMS which allow to get a QMetaEnum at compile time using QMetaEnum::fromType<T>. Such enums are now automatically registered as metatype, and can be converted to string within QVariant, or are printed as string by qDebug()
  • Qt GUI
    • Windows packages are all built with -opengl dynamic. No OpenGL-only or ANGLE-only builds are provided anymore.
    • On Windows the OpenGL implementation to use can now be configured based on the GPU vendor and driver version using JSON configuration files. This allows shipping fine-grained card and driver blacklists with the apps, when necessary.
    • QOpenGLWidget is now supported in iOS.
    • QImage: 8-bit alpha map and grayscale formats.
    • QImageReader: EXIF orientation can now be read though the transformation method, and applied on read to JPEGs if wanted.
  • Qt Multimedia
    • GStreamer 1.0 support. Note that the default is still 0.10. 1.0 support can be enabled by configuring Qt with '-gstreamer 1.0'.
    • New video filtering framework to integrate frameworks like OpenCV or compute APIs such as OpenCL or CUDA with VideoOutput elements.
    • New API to control camera viewfinder settings
    • Improved camera support on iOS (focus, zoom, exposure, viewfinder/image settings)
    • The QML MediaPlayer is now rendered in an OpenGL texture on iOS. This means VideoOutput supports advanced transformation, shader effects and doesn't have to be always on top of other items anymore.
  • Qt NFC
    • Neard based backend for Linux added.
  • Qt Network
    • New SSL back-end for iOS and OS X based on Secure Transport. Note that in Qt 5.6 this will become the default SSL: back-end on these platforms.
    • Support for libproxy
    • Support for TLS PSK ciphersuites
    • Support for elliptic curve certificates
    • Ability to select specific curves when using elliptic curve ciphersuites.
  • QPA
    • Added support for the Raspberry Pi 2.
    • Added support for the ODROID-XU3.
    • On supported desktops, the xcb plugin now uses the D-Bus based org.kde.StatusNotifier protocol for system tray icons, and org.freedesktop.Notifications for notifications.
    • KMS/DRM backend for EGLFS. This replaces the now deprecated KMS platform plugin. It allows running apps with eglfs on the console on systems with Mesa and devices that come with drm support.
    • EGLFS has a plugin-based backend mechanism in addition to the existing, statically compiled-in solution. Most compiled-in hooks are converted to be dynamically loaded plugins that are built based on configure time tests. This reduces the reliance on the device makespecs for RPi, i.MX6 and Mali-based devices.
    • Input handling is now unified for EGLFS and LinuxFB, avoiding the need to launch and configure LinuxFB-based apps differently than when using EGLFS.
    • tslib is now better integrated with EGLFS and LinuxFB to provide support for resistive single-touch touchscreens often used in industrial environments.
    • xcb is refactored to move GLX and EGL support into plugins. No more ifdefs, allowing building both backends.
    • Added a TUIO Touch plugin for receiving remote touch events via UDP.
    • Added a libinput plugin.
    • iOS: you can now use QFileDialog to browse system photos using a native image picker dialog by setting directory to QStandardPaths::PicturesLocation. Selected photos can be loaded using QFile.
  • Qt QML
    • It is now possible to conveniently expose custom C++ value types into the JavaScript environment of QML and QJSEngine.
    • Support for JavaScript typed arrays
    • Various performance improvements, notably QJSValue
    • Added convenience qJsEngine(QObject*) getter function.
  • Qt Quick
    • Windows now defaults to the threaded Qt Quick render loop when using desktop OpenGL (opengl32.dll).
    • QQuickWidget is now supported in iOS.
    • QQuickRenderControl supports threaded rendering.
    • Improved behavior of Flickable on OS X trackpads using pixel deltas from native gestures.
    • PinchArea handles native pinch gestures when the OS provides them (so far only on OS X). Otherwise it relies on touch events, as before.
    • Added a smart zoom signal to PinchArea to react to that gesture on an OS X trackpad.
    • MouseArea now has a scrollGestureEnabled property to control whether native scroll gestures from the OS will be handled by the wheel signal handler.
  • Qt Quick Controls
    • Qt Quick Extras (formerly Qt Quick Enterprise Controls) was added under the QtQuick.Extras import.
    • TreeView control for QAbstractItemModel-derived models. Supports QItemSelectionModel selection.
  • Qt WebEngine
    • Updated Chromium snapshot to version 40
    • WebEngineProfile for control of storage and cache paths and related policies.
    • Added support for javascript Geolocation API with QtLocation as a backend
    • Added API for managing downloading of files
    • Added API for controlling cache and cookie paths and policy
    • Added API for WebEngine settings
    • Added API for injecting user scripts
    • Various experimental QML API has been promoted to public
    • Added QtWebChannel integration API over Chromium IPC
  • Qt WebView
    • Added native implementations for Mac OS X.
    • Added API for running JavaScript (Requires API 19+ on Android).
    • Added API for setting the HTML content.
    • Added API for load status notifications.

New Modules

  • Qt 3D
    • The Qt 3D module is now included as a technology preview.
    • C++ and QML APIs for easy inclusion of 3D graphics into your Qt applications.
    • Supports OpenGL 2, 3, 4 and OpenGL ES 2 and ES 3.
    • Data-driven renderer configuration.
    • Extensible beyond 3D graphics. Provides a full Entity Component System framework.
    • Supported platforms: Windows (not RT), OS X, Linux xcb, Android, Embedded Linux with ES 2(QNX & iOS coming)
  • Qt Canvas 3D
    • Added Qt Canvas 3D module, a JavaScript 3D rendering API for Qt Quick.
  • Qt Location
    • Tech preview of this new module
    • Adds mapping, (reverse-)geocoding, routing and place features to Qt.

Deprecated Functionality

With Qt 5.5 the following modules are deprecated:

  • Qt WebKit
  • Qt Declarative (Qt Quick 1)
  • Qt Script

These modules are still included in the Qt 5.5 release, but considered for removal in the future releases of Qt.

New Configurations

Qt 5.5 does not add support to new operating systems, but there are many changes in supported platform and compiler versions. More details what is now tested in Qt CI, please check Qt-5.5.0-tools-and-versions

Known Issues

More details here.

Release Information [edit]
Qt Version Overview Tools and Versions New Features Changes Known Issues
Qt 6.8 Qt 6.8 Release Qt 6.8 Tools and Versions New Features in Qt 6.8 Qt 6.8.0 Release Note Qt 6.8 Known Issues
Qt 6.7 Qt 6.7 Release Qt 6.7 Tools and Versions New Features in Qt 6.7 Qt 6.7.0 Release Note

Qt 6.7.1 Release NoteQt 6.7.2 Release Note

Qt 6.7 Known Issues
Qt 6.6 Qt 6.6 Release Qt 6.6 Tools and Versions New Features in Qt 6.6 Qt 6.6.0 Release NoteQt 6.6.1 Release NoteQt 6.6.2 ReleaseQt 6.6.3 Release Qt 6.6 Known Issues
Qt 6.5 Qt 6.5 Release Qt 6.5 Tools and Versions New Features in Qt 6.5 Qt 6.5.0 Release NoteQt 6.5.1 Release NoteQt 6.5.2 Release NoteQt 6.5.3 Release Note Qt 6.5 Known Issues
Qt 6.4 Qt 6.4 Release Qt 6.4 Tools and Versions New Features in Qt 6.4 Qt 6.4.0 Release NoteQt 6.4.1 Release NoteQt 6.4.2 Release NoteQt 6.4.3 Release Note Qt 6.4 Known Issues
Qt 6.3 Qt 6.3 Release Qt 6.3 Tools and Versions New Features in Qt 6.3 Qt 6.3.0 Release NoteQt 6.3.1 Release Note Qt 6.3 Known Issues
Qt 6.2 Qt 6.2 Release Qt 6.2 Tools and Versions New Features in Qt 6.2 Qt 6.2.0 Release NoteQt 6.2.1 Release NoteQt 6.2.2 Release Note Qt 6.2 Known Issues
Qt 6.1 Qt 6.1 Release Qt 6.1 Tools and Versions New Features in Qt 6.1 Qt 6.1.0 Release NoteQt 6.1.1 Release NoteQt 6.1.2 Release NoteQt 6.1.3 Release Note Qt 6.1.0 Known IssuesQt 6.1.1 Known issues in release noteQt 6.1.2 Known issues in release noteQt 6.1.3 Known issues in release note
Qt 6.0 Qt 6.0 Release Qt 6.0 Tools and Versions New Features in Qt 6.0 Qt 6.0.0 Change FilesQt 6.0.1 Release NoteQt 6.0.2 Release NoteQt 6.0.3 Release NoteQt 6.0.4 Release Note Qt 6.0.0 Known IssuesQt 6.0.1 Known IssuesQt 6.0.2 Known IssuesQt 6.0.3 Known IssuesQt 6.0.4 Known Issues
Qt 5.15 Qt 5.15 Release Qt 5.15 Tools and Versions New Features in Qt 5.15 Qt 5.15.0 Change FilesQt 5.15.1 Change FilesQt 5.15.2 Change Files Qt 5.15.0 Known IssuesQt 5.15.1 Known IssuesQt 5.15.2 Known IssuesQt 5.15.4 Known Issues
Qt 5.14 Qt 5.14 Release Qt 5.14 Tools and Versions New Features in Qt 5.14 Qt 5.14.0 Change FilesQt 5.14.1 Change FilesQt 5.14.2 Change Files Qt 5.14.0 Known IssuesQt 5.14.1 Known IssuesQt 5.14.2 Known Issues
Qt 5.13 Qt 5.13 Release Qt 5.13 Tools and Versions New Features in Qt 5.13 Qt 5.13.0 Change FilesQt 5.13.1 Change FilesQt 5.13.2 Change Files Qt 5.13.0 Known IssuesQt 5.13.1 Known IssuesQt 5.13.2 Known Issues
Qt 5.12 Qt 5.12 Release Qt 5.12 Tools and Versions New Features in Qt 5.12 Qt 5.12.0 Change FilesQt 5.12.1 Change FilesQt 5.12.2 Change FilesQt 5.12.3 Change FilesQt 5.12.4 Change FilesQt 5.12.5 Change FilesQt 5.12.6 Change FilesQt 5.12.7 Change FilesQt 5.12.8 Change FilesQt 5.12.9 Change FilesQt 5.12.10 Change FilesQt 5.12.11 Release NoteQt 5.12.12 Release Note Qt 5.12.0 Known IssuesQt 5.12.1 Known IssuesQt 5.12.2 Known IssuesQt 5.12.3 Known IssuesQt 5.12.4 Known IssuesQt 5.12.5 Known IssuesQt 5.12.6 Known IssuesQt 5.12.7 Known IssuesQt 5.12.8 Known IssuesQt 5.12.9 Known IssuesQt 5.12.10 Known IssuesQt 5.12.11 Known issues in release noteQt 5.12.12 Known issues in release note
Qt 5.11 Qt 5.11 Release Qt 5.11 Tools and Versions New Features in Qt 5.11 Qt 5.11.0Qt 5.11.1Qt 5.11.2 Change FilesQt 5.11.3 Change Files Qt 5.11.0Qt 5.11.1Qt 5.11.2 Known IssuesQt 5.11.3 Known Issues
Qt 5.10 Qt 5.10 Release Qt 5.10 Tools and Versions New Features in Qt 5.10 Qt 5.10.0Qt 5.10.1 Change Files Qt 5.10.0Qt 5.10.1 Known Issues
Qt 5.9 Qt 5.9 Release Qt 5.9 Tools and Versions New Features in Qt 5.9 Qt 5.9.0Qt 5.9.1Qt 5.9.2Qt 5.9.3Qt 5.9.4Qt 5.9.5Qt 5.9.6 Change FilesQt 5.9.7 Change FilesQt 5.9.8 Change FilesQt 5.9.9 Change Files Qt 5.9.0Qt 5.9.1Qt 5.9.2Qt 5.9.3Qt 5.9.4Qt 5.9.5Qt 5.9.6 Known IssuesQt 5.9.7 Known IssuesQt 5.9.8 Known IssuesQt 5.9.9 Known Issues
Qt 5.8 Qt 5.8 Release Qt 5.8 Tools and Versions New Features in Qt 5.8 Qt 5.8.0 Change Files Qt 5.8.0 Known Issues
Qt 5.7 Qt 5.7 Release Qt 5.7 Tools and Versions New Features in Qt 5.7 Qt 5.7.0Qt 5.7.1 Change Files Qt 5.7.0Qt 5.7.1 Known Issues
Qt 5.6 Qt 5.6 Release Qt 5.6 Tools and Versions New Features in Qt 5.6 Qt 5.6.0Qt 5.6.1Qt 5.6.2Qt 5.6.3 Change Files Qt 5.6.0Qt 5.6.1Qt 5.6.2Qt 5.6.3 Known Issues
Qt 5.5 Qt 5.5 Release Qt 5.5 Tools and Versions New Features in Qt 5.5 Qt 5.5.0Qt 5.5.1 Change Files Qt 5.5.0Qt 5.5.1 Known Issues
Qt 5.4 Qt 5.4 Release Qt 5.4 Tools and Versions New Features in Qt 5.4 Qt 5.4.0Qt 5.4.1Qt 5.4.2 Change Files Qt 5.4.0Qt 5.4.1Qt 5.4.2 Known Issues
Qt 5.3 Qt 5.3 Release Qt 5.3 Tools and Versions New Features in Qt 5.3 Qt 5.3.0Qt 5.3.1Qt 5.3.2 Change Files Qt 5.3.0 Beta 1Qt 5.3.0 RC 1
Qt 5.3.0Qt 5.3.1Qt 5.3.2 Known Issues
Qt 5.2 Qt 5.2 Release New Features in Qt 5.2 Qt 5.2.0Qt 5.2.1 Change Files Qt 5.2.0 Beta 1Qt 5.2.0 RC 1
Qt 5.2.0Qt 5.2.1 Known Issues
Qt 5.1 Qt 5.1 Release New Features in Qt 5.1 Qt 5.1.0 Change Files Qt 5.1.0 Beta 1Qt 5.1.0 RC 1
Qt 5.1.0Qt 5.1.1 Known Issues
Qt 5.0 Qt 5.0.0Qt 5.0.1 Release New Features in Qt 5.0 Qt 5.0 Changes Qt 5.0.0 Beta 1Qt 5.0.0 Beta 2Qt 5.0.0 RC 1Qt 5.0.0 RC 2
Qt 5.0.0Qt 5.0.1Qt 5.0.2 Known Issues