New Features in Qt 5.15

From Qt Wiki
Revision as of 07:31, 27 April 2020 by Assam Boudjelthia (talk | contribs) (Remove the Android services example change.)
Jump to navigation Jump to search

Note that this list should be considered as work in progress until the first Beta release.

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 Bluetooth
  • 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
  • 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
  • Qt Test
  • Qt Wayland Compositor
  • 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
  • Qt Widgets
  • 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)

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
  • Qt PDF
    • 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 CoAP
  • Qt KNX
  • Qt MQTT
  • Qt OPC UA


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:


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