New Features in Qt 5.15: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Fix spelling of https://doc-snapshots.qt.io/qt5-5.15/qml-qtlocation-map.html#fitViewportToMapItems-method)
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Developing with Qt::Qt 5]]
[[Category:Developing with Qt::Qt 5]]
[[Category:Release]]
[[Category:Release]]
Note that this list should be considered as work in progress until the first Beta release.
== New Features (within existing modules) ==
== New Features (within existing modules) ==
* Qt 3D
* Qt 3D
Line 9: Line 7:
** QMouseDevice add updateAxesContinuously property
** QMouseDevice add updateAxesContinuously property
** OpenGL Renderer is now isolated as a plugin
** OpenGL Renderer is now isolated as a plugin
* Qt Bluetooth
* Qt Core
* Qt Core
** QFile::moveToTrash provides a cross platform API for moving files to the trash/recycling bin on Windows, macOS, and Linux desktop (implementing the  [https://specifications.freedesktop.org/trash-spec/trashspec-1.0.html freedesktop.org specification]).
** QFile::moveToTrash provides a cross platform API for moving files to the trash/recycling bin on Windows, macOS, and Linux desktop (implementing the  [https://specifications.freedesktop.org/trash-spec/trashspec-1.0.html freedesktop.org specification]).
Line 20: Line 17:
** Many QImage scaling and conversion methods are now multithreaded.
** Many QImage scaling and conversion methods are now multithreaded.
* Qt Location
* Qt Location
** Updated 3rdparty library earcut.
** Ported Map*ObjectPrivateQSG to the shader-based projection geometries.
** Added optional argument to Map.fitViewportToMapItems.
* Qt Multimedia
* Qt Multimedia
** Deprecated QMediaService and QMediaControl. And all plugin API.
** Deprecated QMediaService and QMediaControl. And all plugin API.
Line 49: Line 49:
** Added selectTextByMouse property to ComboBox.
** Added selectTextByMouse property to ComboBox.
* Qt SerialBus
* Qt SerialBus
** Added CAN FD support to the VectorCAN plugin.
* Qt Test
* Qt Test
* Qt Wayland Compositor
* Qt WebEngine
* Qt WebEngine
** Updated to be based on Chromium 80
** Updated to be based on Chromium 80
** Switched to sandboxed network service.
** New API for reading subprocess id of page/view.
** New API for reading subprocess id of page/view.
** WebEngineHistory::clear method added.
** WebEngineHistory::clear method added.
* Qt WebSockets
* Qt WebSockets
* Qt Widgets
** Added public API to set the maximum frame size and message size.
* QDoc
* QDoc
** QDoc can now generate DocBook.
** QDoc can now generate DocBook.
Line 65: Line 66:
* Android
* Android
** Use Android's native file dialog by default for open (file, multiple files, directory) and save operations.
** Use Android's native file dialog by default for open (file, multiple files, directory) and save operations.
** Move minSdkVersion & targetSdkVersion from AndroidManifest.xml to build.gradle ([http://bugreports.qt.io/browse/QTBUG-70817 QTBUG-70817]).
** Fix some examples on Android ([https://bugreports.qt.io/browse/QTBUG-80717 QTBUG-80717], [https://bugreports.qt.io/browse/QTBUG-80716 QTBUG-80716]).
** Improve all Android documentation pages ([https://bugreports.qt.io/browse/QTBUG-80390 QTBUG-80390]).
** Added Qt Android Extras example: JNI Messenger.
* iOS
* iOS
* Wayland
* Wayland
Line 70: Line 75:
* Embedded Linux (eglfs)
* Embedded Linux (eglfs)
** Added support for Vulkan, via VK_KHR_display, on NXP i.MX8 based devices. (in the eglfs_viv backend)
** Added support for Vulkan, via VK_KHR_display, on NXP i.MX8 based devices. (in the eglfs_viv backend)
* '''Technology Preview:''' Support for running Qt Quick (2D) on top of Direct3D, Metal and Vulkan
** The new Rendering Hardware Interface abstraction layer allows you to run Qt Quick applications on other 3D graphics APIs


== New Modules ==
== New Modules ==
Line 83: Line 90:
** Bodymovin JSON renderer for After Effects animations
** Bodymovin JSON renderer for After Effects animations
** Performance and stability improvements added
** Performance and stability improvements added
== Technology Preview Modules ==


* Qt PDF
* Qt PDF
** Based on shared Pdfium version with Qt WebEngine
** Based on shared Pdfium version with Qt WebEngine
 
** Available on the same platforms Qt WebEngine are available on, plus iOS.
== Technology Preview Modules ==


== Qt for Automation ==
== Qt for Automation ==
* Qt CoAP
The automation modules only received bug fixes and no noteworthy feature additions.
* Qt KNX
* Qt MQTT
* Qt OPC UA
 
 
== Deprecated Modules ==
== Deprecated Modules ==


Line 104: Line 107:
* Qt Quick Controls 1
* Qt Quick Controls 1
* Qt XML Patterns
* Qt XML Patterns
== Removed Modules ==
== Removed Modules ==


The following modules have been deprecated earlier and no longer part of the Qt 5.15 release:  
The following modules have been deprecated earlier and no longer part of the Qt 5.15 release: None


== Long-Term Support ==
For commercial license holders Qt 5.15 LTS is supported for 3 years under standard support and after that extended support is available (for an additional fee).


For open-source users Qt 5.15 is like any other Qt feature release (patch releases available until the next version is released).
== Configurations ==
== Configurations ==


{{Release Information}}
{{Release Information}}

Latest revision as of 11:53, 19 May 2020

New Features (within existing modules)

  • Qt 3D
    • Improved profiling and troubleshooting support
    • QSortPolicy add Uniform mode to control whether uniform minification needs to be performed or not
    • QMouseDevice add updateAxesContinuously property
    • OpenGL Renderer is now isolated as a plugin
  • Qt Core
    • QFile::moveToTrash provides a cross platform API for moving files to the trash/recycling bin on Windows, macOS, and Linux desktop (implementing the freedesktop.org specification).
    • QFileInfo::isJunction reports whether a file system entry is a Windows NTFS junction
    • QRunnable's can now be created from std::function without having to subclass QRunnable.
    • QThreadPool::start and tryStart can now take std::function and thereby also anonymous lambda functions as arguments.
    • Added static template QDebug::toString function, which streams the given object into a QDebug instance that operates on a string, and then returns that string. This is useful for cases where you need the textual representation of an object for debugging, but cannot use operator<<, such as when passing a failure message to QVERIFY2.
  • Qt GUI
    • QColorSpace setters can now operate on invalid color spaces, making it possible to set primaries and transfer function independently.
    • Many QImage scaling and conversion methods are now multithreaded.
  • Qt Location
    • Updated 3rdparty library earcut.
    • Ported Map*ObjectPrivateQSG to the shader-based projection geometries.
    • Added optional argument to Map.fitViewportToMapItems.
  • Qt Multimedia
    • Deprecated QMediaService and QMediaControl. And all plugin API.
    • Introduced reverse playback for GStreamer.
    • Introduced rendering to multiple surfaces.
    • Introduced QVideoWidget::videoSurface(), QGraphicsVideoItem::videoSurface() and QDeclarativeVideoOutput::videoSurface().
    • Introduced videoOutput property for MediaPlayer QML element.
    • Introduced QVideoFrame::image().
    • Added using of notify::zoom and notify::max-zoom for GStreamer Camerabin.
  • Qt Network
    • A new session ticket mechanism introduced by TLS 1.3 protocol is now supported by the OpenSSL backend.
    • Timeouts for downloads and uploads can be now set for QNetworkRequest and QNetworkAccessManager.
    • The minimum supported version of OpenSSL is 1.1.
  • Qt QML
    • Introduced inline components (ability to declare multiple QML components in the same file)
    • Introduced required properties
    • Added a declarative way of registering types to QML
    • qmllint now has a better understanding of the code and warns about more deprecated QML features
    • Added qmlformat tool which automatically formats any QML file according to the QML Coding Conventions.
    • Added support for the Nullish Coalescing Operator (??).
    • Added colorspace property on image nodes, making it possible to read color space and transform images to specific color spaces.
  • Qt Quick
    • Added a PathText type, which can be used together with Qt Quick Shapes to render text as geometry and not based on distance fields or pre-rendered textures. This can be useful for rendering large font sizes which would otherwise consume a lot of texture memory.
    • Added Image.sourceClipRect to specify a clipping region, to request the image plugin to render a portion of an image source.
    • Added cursorShape property to pointer handlers. Most pointer handlers (e.g. DragHandler) will change the cursor when the active state is true. HoverHandler will change it when the mouse is hovering over the Item that contains the HoverHandler.
    • The opt-in preview of the graphics API independent rendering architecture now supports Metal on iOS as well.
  • Qt Quick Controls 2
    • Added HorizontalHeaderView and VerticalHeaderView to display header data in a TableView. Support flicking synchronization, and default, fusion, imagine, material, and universal delegate styles.
    • Added selectTextByMouse property to ComboBox.
  • Qt SerialBus
    • Added CAN FD support to the VectorCAN plugin.
  • Qt Test
  • Qt WebEngine
    • Updated to be based on Chromium 80
    • Switched to sandboxed network service.
    • New API for reading subprocess id of page/view.
    • WebEngineHistory::clear method added.
  • Qt WebSockets
    • Added public API to set the maximum frame size and message size.
  • QDoc
    • QDoc can now generate DocBook.
    • QDoc now generates output for C++ class and function template parameters.
    • QDoc now generates correct output for scoped enums (enum classes).

Platform Changes

  • Android
    • Use Android's native file dialog by default for open (file, multiple files, directory) and save operations.
    • Move minSdkVersion & targetSdkVersion from AndroidManifest.xml to build.gradle (QTBUG-70817).
    • Fix some examples on Android (QTBUG-80717, QTBUG-80716).
    • Improve all Android documentation pages (QTBUG-80390).
    • Added Qt Android Extras example: JNI Messenger.
  • iOS
  • Wayland
    • Introduced experimental support for Vulkan on the client side.
  • Embedded Linux (eglfs)
    • Added support for Vulkan, via VK_KHR_display, on NXP i.MX8 based devices. (in the eglfs_viv backend)
  • Technology Preview: Support for running Qt Quick (2D) on top of Direct3D, Metal and Vulkan
    • The new Rendering Hardware Interface abstraction layer allows you to run Qt Quick applications on other 3D graphics APIs

New Modules

  • Qt Quick 3D
    • Post Processing Effects
    • Custom Geometry API (C++ Meshes)
    • Quaternions API for Node rotations
    • Right-Handed Coordinate System (previously Right or Left)
    • Improved Qt Quick 2D in 3D Scene support
    • Performance improvements
    • Spot Light Support
  • Qt Lottie
    • Bodymovin JSON renderer for After Effects animations
    • Performance and stability improvements added

Technology Preview Modules

  • Qt PDF
    • Based on shared Pdfium version with Qt WebEngine
    • Available on the same platforms Qt WebEngine are available on, plus iOS.

Qt for Automation

The automation modules only received bug fixes and no noteworthy feature additions.

Deprecated Modules

To help preparing for the transition to Qt 6, numerous classes and member functions that will be removed from Qt 6.0 have been marked as deprecated in the Qt 5.15 release. Unless you define  QT_NO_DEPRECATED_WARNINGS  in your project, you will get compiler warnings for code that uses any deprecated APIs. Those warnings will explain which API to use instead. To disable any deprecated APIs completely, use the QT_DISABLE_DEPRECATED_BEFORE macro.

The following modules are part of Qt 5.15 release, but deprecated and considered for removal in subsequent releases of Qt:

  • Qt Script
  • Qt Quick Controls 1
  • Qt XML Patterns

Removed Modules

The following modules have been deprecated earlier and no longer part of the Qt 5.15 release: None

Long-Term Support

For commercial license holders Qt 5.15 LTS is supported for 3 years under standard support and after that extended support is available (for an additional fee).

For open-source users Qt 5.15 is like any other Qt feature release (patch releases available until the next version is released).

Configurations

Release Information [edit]
Qt Version Overview Tools and Versions New Features Changes Known Issues
Qt 6.7 Qt 6.7 Release Qt 6.7 Tools and Versions New Features in Qt 6.7 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