What's New in Qt 5.6 | Qt 5.12

- Qt 5.12
- What's New in Qt 5.6
- Qt 5.12.11 Reference Documentation

# What's New in Qt 5.6

Qt 5.6 is a long-term support (LTS) release.

## New Modules

- Qt Quick Controls 2
  - Included as a technology preview.
  - Provides lightweight QML types for creating performant user interfaces for embedded and mobile devices.
- Qt Serial Bus
  - Included as a technology preview.
  - Provides a framework for accessing serial bus backends in general, and implementations for Controller Area Network (CAN) bus and Modbus.
- Qt Compositor(Qt Wayland)
  - Included as a technology preview.
  - Provides a framework to develop Wayland compositor.
- Qt WebEngine Core
  - Provides a public API shared by both Qt WebEngine and Qt WebEngine Widgets.

## New Features in Qt 5.6

### Qt 3D Module

- 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 multi-sampling with Scene3D.
- More standard materials: per-vertex colors and Gooch shading.
- New APIs for mouse input and collision detection.
- New Logic aspect to have QML/C++ code executed synchronously with the Qt 3D aspect engine. Useful for prototyping future Qt 3D features.

### Qt Core Module

- Reduced memory usage of dynamic properties.
- Allow logging directly to syslog on Linux systems.
- Added QStorageInfo::blockSize().
- Added QVersionNumber class.
- Added key_iterator to QHash and QMap.
- Added const_iterator to QByteArray.
- Added reverse iterator support to all sequential containers.
- added QDir::listSeparator().
- Optimized performance in QString.

### Qt Canvas3D Module

- Support for using Qt Quick items as textures.
- Support for rendering directly to Qt Quick scene background or foreground.

### Qt GUI Module

- Improved cross-platform OpenGL ES 3.0 and 3.1 support to enable developing mobile/embedded applications 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 Multimedia Module

- 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 NFC Module

- Added support for Android.

### Qt Network Module

- Added QHostAddress::isMulticast().
- Support HTTP redirection in QNetworkAccessManager.

### Qt Platform Abstraction (QPA)

- Optional support for using FreeType on macOS.
- 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 WEC2013.
- Windows 10 fully supported (classic and WinRT app)
- Windows Store apps are now composited inside a XAML layer, allowing better integration with the native UI layer.
- Use `libinput`, if available, as the default on `eglfs` and `linuxfb`.

### Qt Positioning Module

- Added support for macOS.
- Added support for GPS receivers exposed as a serial port on Windows desktop (all versions).
- Removed libgeoclue dependency for the GeoClue backend.

### Qt QML Module

- Support for writing JavaScript function names to Linux's perf output.
- Reduced overall memory consumption.

### Qt Testlib Module

- More stable input event handling.

### Qt WebView Module

- Added support for WinRT.

### Qt WebEngine Module

- 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 Widgets Module

- Allow programmatic resizing of dock widgets.
- Allow dropping dock widgets into floating docks.
- Allow the user to re-arrange tabbed docks.
- Allow horizontal scrolling using a mouse wheel in QListView.
- Support QOpenGLWidget and QQuickWidget on WinRT.

## Removed Functionality

- Qt WebKit
- Qt Declarative (Qt Quick 1)

## Deprecated Functionality

- Enginio
- Qt Script

These modules are still included in Qt 5.6, but are considered for removal in future releases.

## List of API Changes

The pages below contain a list of API changes in Qt 5.6:

- New Classes and Functions in Qt 5.6
- Obsolete Classes

## Additions to Other Qt 5 Releases

- What's New in Qt 5.5
- What's New in Qt 5.4
- What's New in Qt 5.3
- What's New in Qt 5.2
- What's New in Qt 5.1
- What's New in Qt 5.0