Qt 5.6.3 is a bug-fix release. It maintains both forward and backward compatibility (source and binary) with previous Qt 5.6.x releases. For more details, refer to the online documentation included in this distribution. The documentation is also available online: http://doc.qt.io/qt-5/index.html The Qt version 5.6 series is binary compatible with the 5.5.x series. Applications compiled for 5.5 will continue to run with 5.6. Some of the changes listed in this file include issue tracking numbers corresponding to tasks in the Qt Bug Tracker: https://bugreports.qt.io/ Each of these identifiers can be entered in the bug tracker to obtain more information about a particular change. ***************************************************************************** * License Changes * ***************************************************************************** - Static libraries that are linked into executables (winmain and qopenglextensions) are now licensed under BSD _and_ commercial licenses. ****************************************************************************** * Important Behavior Changes * ****************************************************************************** - QPluginLoader: * [QTBUG-49061] QPluginLoader no longer performs the actual unloading of the plugin either on destruction or when unload() is called. This does not affect QLibrary and QLibrary::unload(). ****************************************************************************** * Library * ****************************************************************************** QtCore ------ - QDir: * [QTBUG-58390] Fixed the implementation of mkpath() to not attempt to mkdir directories that already exist, especially those in automount filesystems (like /home). - QHash / QMultiHash: * [QTBUG-60395] Fixed a bug that caused operator== not to return true if two containers had the elements with duplicate keys but in different order. - QLocale: * [QTBUG-59159] Fixed the parsing of day-of-week names that start with the name of another day. - QObject: * [QTBUG-59500] disconnectNotify() is now called when a connection is disconnected using its QMetaObject::Connection handle. * [QTBUG-52439] Fixed a bug that would cause applications compiled with the Intel compiler to fail to connect signals and slots. - QUrl: * [QTBUG-60364] Fixed a bug that caused certain domain names that look like Internationalized Domain Names to become corrupt in decoded forms of QUrl, notably toString() and toDisplayString(). * Updated the table of valid top level domains - QVarLengthArray: * Fixed a bug involving appending an item already in the container to the container again. * [QTBUG-57277] Fixed a crash when initializing the array with an empty std::initializer_list. QtSql ----- - MySql * Fixed the build of MySql plugin with MySql 5.0 * [QTBUG-53397] Fixed the parsing of tinyint(1) when used via prepared statements. - PostgreSQL: * [QTBUG-59524] Fixed datetime formats when the system locale doesn't use arabic numerals QtDBus ------ - QDBusServer * [QTBUG-55087] Fixed a bug causing certain messages that arrive soon after the client connects not to be processed. QtNetwork --------- - QNetworkInterface * Fixed the reporting of virtual interfaces on Linux. - QSslSocket * [QTBUG-43388][QTBUG-55170] Fixed a bug that caused the read buffer's max size not to be respected when using SecureTransport * [QTBUG-49554] Made sure that the QSslConfiguration is up-to-date when the QNetworkReply::encrypted() signal is emitted. QtGui ----- - Various fixes to our high DPI support. - CSS parser: * [QTBUG-53919] Fixed a crash while parsing malformed CSS. - PDF writer: * [QTBUG-56489] Monochrome images are now handled correctly. - QImage: * Fixed a crash when rendering to GrayScale8 images. * [QTBUG-56252] Fixed an illegal memory access when rotating images. * [QTBUG-59211] Improved rejection of corrupt images with invalid header info. - QMatrix4x4: * operator*=() now calculates the correct result even if the RHS and LHS are the same object. - QPainter * [QTBUG-14614] Fixed a read-after-free when using gradients. * [QTBUG-56969] Fixed painting artifacts for certain dashed lines. - Text: * [QTBUG-55222] Always return a correct list of fallback fonts * [QTBUG-55255][QTBUG-56714] Trailing whitespace are now properly taken into account when shaping lines * [QTBUG-53911] Fixed a crash that could happen if you were doing many different text layouts with different fonts and superscript or subscript alignment. * [QTBUG-56659] Fixed a regression where raster fonts on Windows were detected as smoothly scalable and thus rendering with said fonts in Qt Quick would break. * [QTBUG-51223] Fixed synthesized oblique for non-latin text on platforms using the basic font database, such as Android. * [QTBUG-56714] Fixed a bug where a no-break space would sometimes cause the first character of the containing line to not be displayed. * [QTBUG-48005] Fixed clipping errors and too small bounding rects for some right-to-left text. * [QTBUG-57241] Fixed a crash for very tall glyphs. * [QTBUG-55569] Fixed Myanmar rendering with some fonts. * [QTBUG-56659] Fixed the reporting of whether fonts are smoothly scalable on Windows. * [QTBUG-58364][QTBUG-42074][QTBUG-57003] Formatting characters are now accepted as valid input. QtWidgets --------- - Input: * [QTBUG-42074][QTBUG-57003] Characters in Private Use Area, as well as zero-width joiners and zero-width non-joiners are now accepted as input in QLineEdit and QTextEdit. - QDockWidget: * [QTBUG-7460][QTBUG-52354] Size of widgets no longer changed just because they are in a floating dock. * [QTBUG-58036] Dock widgets now have the correct parent after a drag. * [QTBUG-58049] Fixed clearing the dock indicator when not over a floating dock group window. - QMainWindow: * [QTBUG-56628] Fixed crash using takeCentralWidget when the central widget was not set. - QPixmapStyle: * Now handles progress bars with minimum != 0 correctly. - QPopup * [QTBUG-57292] Popups blocked by modal dialogs are now properly closed. - QTextEdit * [QTBUG-55758] Placeholder text is no longer shown while composing text. - QTooltip: * [QTBUG-55523] QTooltip is now properly hidden when a close event is received. * [QTBUG-55523] Tooltips no longer prevent closing of the app on lastWindowClosed() - QWidget: * [QTBUG-50589] Show and hide events are now properly sent to children on minimize/restore. * [QTBUG-53068] Fixed enter/leave events on popup menus. - Style sheets: * [QTBUG-55597] Now honors the font set on HeaderView section. ****************************************************************************** * Platform-specific Changes * ****************************************************************************** Android ------- - [QTBUG-44697] Removed old work-around which was causing OpenGL shader compilation to fail on updated Android emulators. Darwin ------ - [QTBUG-61034] QT_NO_EXCEPTIONS is now correctly set for Objective C++ source files. - [QTBUG-57165] Made QDir::tempPath() return the same directory as NSTemporaryDirectory, instead of a hardcoded "/tmp". - [QTBUG-55896] Fixed a bug that would cause QFileSystemWatcher to fail to watch certain paths containing non-ASCII characters. - [QTBUG-56124] Fixed a bug that would cause data corruption in QSettings when storing QStrings containing NULs, when storing to native format. - iOS specific: * Starting from iOS 10, Apple requires all apps that need access to photos to have the key 'NSPhotoLibraryUsageDescription' in the Info.plist. Therefore, to get the same support in Qt (when, e.g., using a file dialog), the Info.plist assigned to QMAKE_INFO_PLIST will need this key as well. * [QTBUG-49893] The shortcuts bar on iPad is now hidden when showing menus. - macOS specific: * Speech to text dictation now works for Qt text input. * Various bug fixes to menu bar handling. QNX --- - Qt can now handle more than 256 file descriptors open in the same process, up to a limit of 1000. WinRT ----- - Various fixes in our event and timer handling. X11 --- - [QTBUG-55942] Qt::WindowNoState event is no longer sent when hiding minimized windows. - [QTBUG-49645] Fixed keyboard modifier state for drops from external apps. - [QTBUG-48795] Fixed the keyboard state when processing key events. ****************************************************************************** * Compiler Specific Changes * ****************************************************************************** Visual Studio ------------- - Visual Studio 2017 is now supported. - [QTBUG-56594] PDB files are now properly generated even for static builds. ****************************************************************************** * Tools * ****************************************************************************** configure --------- - Fixed builds that explicitly asked for -sdk iphoneos. - [QTBUG-56388] Fixed the detection of the Microsoft compiler version when the CL environment variable was set or when the compiler was configured to another language (other than English). qmake ----- - [QTBUG-55505] Fixed an issue with iOS when the project path had a whitespace. - [QTBUG-56289] When cross-compiling on Windows to Unix targets, qmake no longer generates chmod calls. - [QTBUG-53905] Fixed qmake not to run moc twice on Objective C++ sources listed in the OBJECTIVE_SOURCES variable. - [QTBUG-56507] Fixed builds where a lex source refers to a file generated by yacc. - [QTBUG-57090][Darwin] Fixed the installation of asset catalog files. qdbusxml2cpp ------------ - [QTBUG-21577] Fixed the generation of signals when the direction argument was inverted from expected.