What's New in Qt 5.7
New Modules
The Qt Quick Controls 2 module that was previously available as a technology preview is now a fully supported module, providing the following features:
- A new light-weight set of embedded and mobile-oriented 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 maximum performance.
 - Material style - a style based on the Google Material Design Guidelines.
 - Universal style - a style based on the Microsoft Universal Design Guidelines.
 
 - Can be mixed with Qt Quick Controls 1.0, but the APIs are not compatible.
 
The following modules that were previously commercial-only, are now available under GPLv3 license for the open source users:
- Qt Quick 2D Renderer
- Enables running Qt Quick applications on hardware without OpenGL.
 
 - Qt Charts
- Provides ready to use controls for depicting different types of 2D charts and graphs.
 
 - Qt Data Visualization
- Enables visualizing data using 3D charts and graphs.
 
 - Qt Purchasing
- Provides API to support in-app purchasing use cases with Google Play and Apple Store.
 
 
In addition, the following new modules are available as technology preview releases, enabling Qt users to provide feedback:
- Qt Gamepad
- Enables Qt gaming applications to respond to gamepad input.
 
 - Qt SCXML
- Enables static and runtime integration of SCXML models into Qt code.
 
 
New Features in Qt 5.7
Qt 3D Module
- Added support for Compute Shaders on supported hardware.
 - Added support for loading multi-image DDS and KTX textures including cubemaps, mip chains, and array textures.
 - Improved support for compressed texture formats.
 - Made Render surface explicit.
 - Extended Input API and support for device plugins.
 - Improved picking support.
 
Qt Core Module
- Added 
qAsConstfunction to help using non-const Qt containers in C++11 range for loops. - Enabled Qt event dispatchers to use the 
poll()function on Unix now, making it possible for applications to have file descriptors greater than 1024. - Added support for converting a floating point to its shortest and exact string form, without having to pre-calculate the number of digits.
 - Improved C++11 support by using 
std::atomicas backend for QAtomic classes and adding QTypeInfo forchar16_tandchar32_t. - Added QIODevice support for multi-streaming.
 - Enabled QPluginLoader to work even if 
QT_NO_LIBRARYis set (for example, linking against a static libc). 
Qt Canvas3D Module
- Upgraded the three.js 3rd party library.
 
Qt GUI Module
- Optimized QImage smooth scaling for NEON.
 - Optimized the OpenGL function wrappers for speed and code size. The QtGui library size has been significantly reduced due to a massive reduction in symbols.
 
Qt Multimedia Module
- Added support for tvOS.
 - Extended QML playlist API.
 
Qt Platform Abstraction (QPA)
- Added support for NVIDIA DRIVE CX boards (Tegra X1, AArch64).
 - Improved support for theming with eglfs.
 - Enabled QMenuBar to use the unified D-Bus AppMenu menubar on supported X11-based desktop environments such as Ubuntu Unity.
 - Added support for creating Android services.
 
Qt QML Module
- Added JIT support for WinRT on x86 and x64.
 - Enabled JIT for 64-bit ARM Linux platforms.
 - Enabled all debug services to work with QJSEngine (instead of QQmlEngine), which allows non-QML JavaScript debugging or profiling.
 - Added support for debugging multiple QJSEngine instances at the same time.
 
Qt Quick Module
- Added support for all subclasses of QQuickWindow by the inspector service, which makes Qt Creator's inspection feature useful.
 
Qt WebEngine Module
- Upgraded to Chromium 49 release.
 - Added support for drag and drop, and printing to PDF.
 - Added tab notification for audio being played.
 - Added support for playing DRM-protected HTML5 video using Widevine Pepper plugin.
 - Added API for evaluating JavaScript or installing QWebchannel in secure and isolated JavaScript worlds.
 - Improved support for custom context menus.
 
Qt Widgets Module
- Enabled QTabBar to delegate placement of tab scroll buttons to the style.
 - Enabled Qt Style Sheets to optionally let widgets inherit font and palette from their parents.
 
Removed Functionality
- Qt Enginio
 
Deprecated Functionality
- Qt Script
 
Deprecated modules are still included in Qt 5.7, but are considered for removal in future releases.
List of API Changes
The pages below contain a list of API changes in Qt 5.7: