Qt 5.2 introduces many new features and improvements as well as bugfixes over the 5.1.x series. For more details, refer to the online documentation included in this distribution. The documentation is also available online: http://qt-project.org/doc/qt-5.2 The Qt version 5.2 series is binary compatible with the 5.1.x series. Applications compiled for 5.1 will continue to run with 5.2. Some of the changes listed in this file include issue tracking numbers corresponding to tasks in the Qt Bug Tracker: http://bugreports.qt-project.org/ Each of these identifiers can be entered in the bug tracker to obtain more information about a particular change. **************************************************************************** * General * **************************************************************************** General Improvements -------------------- Third party components ---------------------- **************************************************************************** * Important Behavior Changes * **************************************************************************** - QSGMaterialShader::compile() will not be called on all instances anymore. To enforce the old behavior, set the QSGMaterial::CustomCompilation flag. - QSGMaterialShader::activate() and QSGMaterialShader::deactivate() are no longer responsible for calling glEnableVertexAttribPointer(), glDisableVertexAttribPointer() and binding the shader program. This is now done by the renderer. Reimplementations of these functions which are not calling the baseclass will need to take this into account. - The scene graph now requires a call to QSGNode::markDirty() with the flag QSGNode::DirtySubtreeBlocked whenever the state of QSGNode::isSubtreeBlocked() is changed. - When assigning double precision floating point values to integer properties, the engine now truncates instead of rounding. This is consistent with the ECMAScript specification's way of converting doubles to ints. - Comparing value based types with the JS strictly equal operator will now behave similar to the corresponding C++ == operator. Ie. two QPoints exposed on the JS side will be strictly equal if their values are equal. This brings the behavior of value based types in JS closer to what one would expect and more inline with primitive values in Javascript. **************************************************************************** * Library * **************************************************************************** QtQml ------ - New class QQmlFileSelectors allows applying a QFileSelector to QML assets and types. One is automatically set on QQmlApplicationEngines from now on, plain QQmlEngines must set their own in order to be affected. QtQuick ------ - New scene graph renderer should reduce state changes, number of draw calls, CPU->GPU bandwidth and generally improve performance. - Textures in the scene graph can now be entered into an atlas, facilitating in better batching in the renderer. Atlas textures are enabled by passing QQuickWindow::TextureCanUseAtlas to QQuickWindow::createTextureFromImage() **************************************************************************** * Database Drivers * **************************************************************************** **************************************************************************** * Platform Specific Changes * **************************************************************************** **************************************************************************** * Compiler Specific Changes * **************************************************************************** **************************************************************************** * Tools * **************************************************************************** **************************************************************************** * Plugins * **************************************************************************** - A new experimental QML Settings type provides means for applications to manage persistent settings in a platform-independent manner. The type is made available by importing the Qt.labs.settings module. Note: types in the Qt.labs module are not guaranteed to remain compatible in future versions.