Difference between revisions of "New Features in Qt 5.6"

From Qt Wiki
Jump to: navigation, search
m
(Add to category Release)
 
(16 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 
{{DISPLAYTITLE:New Features in Qt 5.6}}
 
{{DISPLAYTITLE:New Features in Qt 5.6}}
 
[[Category:Developing_with_Qt::Qt 5]]
 
[[Category:Developing_with_Qt::Qt 5]]
 +
[[Category:Release]]
 +
For non-feature updates and for important notices, please see [[Change-files-in-Qt-5.6.0]]
  
 
== New Features ==
 
== New Features ==
Line 9: Line 11:
 
** new QVersionNumber class
 
** new QVersionNumber class
 
** Added key_iterator to QHash and QMap
 
** Added key_iterator to QHash and QMap
** Added const_iterator and reverse_iterator to QByteArray
+
** Added const_iterator QByteArray
 +
** Added reverse iterator support to all sequential containers
 
** added QDir::listSeparator()
 
** added QDir::listSeparator()
 
** Lots of performance optimisations in QString
 
** Lots of performance optimisations in QString
Line 28: Line 31:
 
** Allow the user to re-arrange tabified docks
 
** Allow the user to re-arrange tabified docks
 
** Allow horizontal scrolling using a mouse wheel in QListView
 
** Allow horizontal scrolling using a mouse wheel in QListView
 +
** QOpenGLWidget and QQuickWidget are now supported on WinRT
  
 
* Qt Testlib
 
* Qt Testlib
Line 51: Line 55:
 
* Qt QML
 
* Qt QML
 
** Support for writing JavaScript function names to Linux's perf output
 
** Support for writing JavaScript function names to Linux's perf output
** Reduced overall memory comsumption
+
** Reduced overall memory consumption
 +
** Moved all the debug services into plugins. Custom debug services can be added width additional plugins.
  
 
* Font rendering
 
* Font rendering
Line 57: Line 62:
  
 
* Embedded platforms
 
* Embedded platforms
 +
** Added support for NVIDIA Jetson TK1 Pro boards running Vibrante Linux via a new eglfs backend utilizing DRM, EGLDevice and EGLStream
 
** Added support for Intel Atom-based NUCs
 
** Added support for Intel Atom-based NUCs
  
Line 73: Line 79:
 
** Support for rendering directly to Qt Quick scene background or foreground
 
** Support for rendering directly to Qt Quick scene background or foreground
  
Qt Nfc
+
* Qt Nfc
 
** Added support for Android
 
** Added support for Android
  
Qt Positioning
+
* Qt Positioning
 
** Added support for OS X
 
** Added support for OS X
 +
** Added support for GPS receivers exposed as a serial port on Windows desktop (all versions)
 
** Removed libgeoclue dependency for the GeoClue backend
 
** Removed libgeoclue dependency for the GeoClue backend
  
Qt Location
+
* Qt Location
 
** Added the Qt Location module providing maps, navigation and places APIs for Qt Quick
 
** Added the Qt Location module providing maps, navigation and places APIs for Qt Quick
  
 
== Other Changes ==
 
== Other Changes ==
 
* Class Mechanics
 
** All implicitly-shared types are nothrow-move-assignable, nothrow-swappable
 
** Most implicitly-shared types are nothrow-move-constructible
 
  
 
* Embedded platforms
 
* Embedded platforms
 
** libinput, when present, is now the default for eglfs and linuxfb
 
** libinput, when present, is now the default for eglfs and linuxfb
 +
 +
* Image Formats
 +
** For security reasons, the MNG and JPEG 2000 handlers will by default no longer be built, unless the corresponding codec libraries are provided by the OS. Hence, the binary Qt releases for Windows and Mac will not contain prebuilt handlers for those formats, but users can still build them from source.
  
 
== Deprecated Modules ==
 
== Deprecated Modules ==
Line 119: Line 125:
 
** Many new examples
 
** Many new examples
 
* Qt Quick Controls 2.0
 
* Qt Quick Controls 2.0
** New lightweight set of controls designed especially for embedded devices
+
** A new light-weight set of embedded and mobile orientation controls
* Qt Speech
+
** Based on a flexible template system that enables rapid development of entire custom styles and user experiences
** Speech recognition and text to speech functionality
+
** Built-in styles:
** Plug-in API for using various open-source and commercial ASR and TTS engines
+
*** Default style - a simple and minimal all-round style that offers the maximum performance
 +
*** Material style - a style based on the Google Material Design Guidelines
 +
*** Universal style - a style based on the Microsoft Universal Design Guidelines
 
* Qt SerialBus
 
* Qt SerialBus
 
** New module for general purpose serial bus access with initial implementation for Controller Area Network (CAN) bus and Modbus
 
** New module for general purpose serial bus access with initial implementation for Controller Area Network (CAN) bus and Modbus
* Qt Wayland
 
** Stabilised the QtWaylandCompositor apis. The QtWaylandCompositor api takes advantage of the QPA abstraction and exposes an API making it trivial for developers to build their own multi-process windowing system
 
  
 
== New Configurations ==
 
== New Configurations ==
  
Qt 5.6 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.6.0-tools-and-versions|Qt-5.6.0-tools-and-versions]]
+
Qt 5.6 adds support to Windows Embedded Compact 13, and in addition there are changes in supported platform and compiler versions. More details what is now tested in Qt CI, please check [[Qt-5.6.0-tools-and-versions|Qt-5.6.0-tools-and-versions]]
  
 
== Known Issues ==
 
== Known Issues ==
  
 
More details here.
 
More details here.
 +
 +
{{Release Information}}

Latest revision as of 12:14, 22 November 2016

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

New Features

  • Qt Core
    • Reduced memory usage of dynamic properties
    • Allow logging directly to syslog on Linux systems
    • Added QStorageInfo::blockSize()
    • new QVersionNumber class
    • Added key_iterator to QHash and QMap
    • Added const_iterator QByteArray
    • Added reverse iterator support to all sequential containers
    • added QDir::listSeparator()
    • Lots of performance optimisations in QString
  • Qt Network
    • Added QHostAddress::isMulticast()
    • Support HTTP redirection in QNetworkAccessManager
  • Qt GUI
    • Improved cross-platform OpenGL ES 3.0 and 3.1 support to help the development of mobile/embedded apps utilizing GLES3 features.
    • Improved cross-platform high-dpi support.
    • Raster engine support for rendering internally with 16bits-per-color.
    • QImageReader now exports gamma values and other meta data for some image formats
  • Qt Widgets
    • Allow programmatic resizing of dock widgets
    • Allow dropping dock widgets into floating docks
    • Allow the user to re-arrange tabified docks
    • Allow horizontal scrolling using a mouse wheel in QListView
    • QOpenGLWidget and QQuickWidget are now supported on WinRT
  • Qt Testlib
    • More stable input event handling
  • Qt Multimedia
    • New Playlist QML type.
    • New audio role API for the media player (C++ and QML)
    • Support for camera focus and video probe on WinRT
    • New functions in QML AudioEngine to support dynamic object creation
  • Qt WebEngine
    • Based on Chromium 45
    • Support for pepper plugins including Flash
    • Support for unbundling and linking with system libraries on Linux
    • Support for following global Qt proxy settings.
    • More WebActions from QtWebKit and WebAction API in QML.
    • New QtWebEngineCore module for shared low-level API
    • New core API for custom URL schemes
    • New core API for intercepting and blocking network requests
    • New core API for tracking or blocking cookies.
  • Qt QML
    • Support for writing JavaScript function names to Linux's perf output
    • Reduced overall memory consumption
    • Moved all the debug services into plugins. Custom debug services can be added width additional plugins.
  • Font rendering
    • Optional support for using FreeType on Mac OS X
  • Embedded platforms
    • Added support for NVIDIA Jetson TK1 Pro boards running Vibrante Linux via a new eglfs backend utilizing DRM, EGLDevice and EGLStream
    • Added support for Intel Atom-based NUCs
  • Desktop platforms
    • Windows 10 fully supported (classic and WinRT app)
    • Windows Store apps are now composited inside a XAML layer, allowing for better integration with the native UI layer
  • Windows embedded
    • Added support for WEC2013
  • Qt WebView
    • Added support for WinRT
  • Qt Canvas3D
    • Support for using Qt Quick items as textures
    • Support for rendering directly to Qt Quick scene background or foreground
  • Qt Nfc
    • Added support for Android
  • Qt Positioning
    • Added support for OS X
    • Added support for GPS receivers exposed as a serial port on Windows desktop (all versions)
    • Removed libgeoclue dependency for the GeoClue backend
  • Qt Location
    • Added the Qt Location module providing maps, navigation and places APIs for Qt Quick

Other Changes

  • Embedded platforms
    • libinput, when present, is now the default for eglfs and linuxfb
  • Image Formats
    • For security reasons, the MNG and JPEG 2000 handlers will by default no longer be built, unless the corresponding codec libraries are provided by the OS. Hence, the binary Qt releases for Windows and Mac will not contain prebuilt handlers for those formats, but users can still build them from source.

Deprecated Modules

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

  • Qt Script
  • Qt Enginio

Removed Modules

With Qt 5.6 the following modules are no longer part of the release packages, but users can still build them from source:

  • Qt WebKit
  • Qt Declarative (Qt Quick 1)

Technology Preview Modules

Qt 5.6 binary installer packages will contain technology preview of the following modules:

  • Qt 3D
    • New buffer and attribute API
    • Support for OpenGL instanced rendering where supported
    • Support for OpenGL primitive restart
    • Support for clip planes, stencil operations and many more OpenGL features
    • Support for easily generating buffer data from C++ and QML (using javascript typed arrays)
    • qgltf tool to compile scenes into glTF
    • Support for loading glTF scenes via SceneLoader
    • Support for controlling multisampling with Scene3D
    • More standard materials: per-vertex colors, Gooch shading
    • APIs for mouse input and collision detection
    • New Logic aspect to have QML/C++ code executed synchronously with the Qt3D aspect engine. Useful for prototyping future Qt3D features
    • Many bugfixes all around but especially around unloading and shutdown
    • Many new examples
  • Qt Quick Controls 2.0
    • A new light-weight set of embedded and mobile orientation controls
    • Based on a flexible template system that enables rapid development of entire custom styles and user experiences
    • Built-in styles:
      • Default style - a simple and minimal all-round style that offers the maximum performance
      • Material style - a style based on the Google Material Design Guidelines
      • Universal style - a style based on the Microsoft Universal Design Guidelines
  • Qt SerialBus
    • New module for general purpose serial bus access with initial implementation for Controller Area Network (CAN) bus and Modbus

New Configurations

Qt 5.6 adds support to Windows Embedded Compact 13, and in addition there are changes in supported platform and compiler versions. More details what is now tested in Qt CI, please check Qt-5.6.0-tools-and-versions

Known Issues

More details here.

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 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 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 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 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 Files Qt 5.14.0 Known Issues