New Features in Qt 5.6

From Qt Wiki
Jump to navigation Jump to search


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 and reverse_iterator to QByteArray
    • added QDir::listSeparator()
    • Lots of performance optimisations in QString
  • 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.
  • 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 comsumption
  • Font rendering
    • Optional support for using FreeType on Mac OS X
  • Embedded platforms
    • 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

Other Changes

  • Class Mechanics
    • All implicitly-shared types are nothrow-move-assignable, nothrow-swappable
    • Most implicitly-shared types are nothrow-move-constructible
  • Embedded platforms
    • libinput, when present, is now the default for eglfs and linuxfb

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
    • New lightweight set of controls designed especially for embedded devices
  • Qt Speech
    • Speech recognition and text to speech functionality
    • Plug-in API for using various open-source and commercial ASR and TTS engines
  • Qt SerialBus
    • 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

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

Known Issues

More details here.