Difference between revisions of "New Features in Qt 5.15"

From Qt Wiki
Jump to: navigation, search
(Add missing feature from Qt Quick 3D new features list)
(Updated Qt Network section)
Line 28: Line 28:
 
** Added using of notify::zoom and notify::max-zoom for GStreamer Camerabin.
 
** Added using of notify::zoom and notify::max-zoom for GStreamer Camerabin.
 
* Qt Network
 
* Qt Network
 +
** A handling of a new session ticket mechanism introduced by TLS 1.3 protocol is now supported.
 +
** Timeouts for downloads and uploads can be now set for QNetworkRequest and QNetworkAccessManager.
 
* Qt QML
 
* Qt QML
 
** Introduced inline components (ability to declare multiple QML components in the same file)
 
** Introduced inline components (ability to declare multiple QML components in the same file)

Revision as of 14:00, 19 February 2020

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.
  • Qt GUI
    • QColorSpace are now natively supported as a QVariant type.
    • QColorSpace setters can now operate on invalid color spaces, making it possible to set primaries and transfer function independently.
  • 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 handling of a new session ticket mechanism introduced by TLS 1.3 protocol is now supported.
    • Timeouts for downloads and uploads can be now set for QNetworkRequest and QNetworkAccessManager.
  • 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.
  • 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
    • Will be updated to Chromium 80 or 81 (currently 79).
    • 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.
  • iOS
  • Wayland

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

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 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
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.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.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.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.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.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.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.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.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.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.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.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 Files 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 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.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.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 Issues
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 Note Qt 6.0.0 Known IssuesQt 6.0.1 Known IssuesQt 6.0.2 Known Issues