Qt 4.8 introduces many new features and improvements as well as bugfixes over the 4.7.x series. For more details, refer to the online documentation included in this distribution. The documentation is also available online: http://qt.nokia.com/doc/4.8 The Qt version 4.8 series is binary compatible with the 4.7.x series. Applications compiled for 4.7 will continue to run with 4.8. Some of the changes listed in this file include issue tracking numbers corresponding to tasks in the Qt Bug Tracker: http://bugreports.qt.nokia.com/ 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 ---------------------- - Updated libpng to version 1.5.1 - Updated libjpeg to version 8c - Updated zlib to version 1.2.5 **************************************************************************** * Library * **************************************************************************** QtCore ------ - Removed support for QT_NO_THREAD define for QHostInfo. - Optimized plugin loading on ELF platforms. Print failure reason at runtime with QT_DEBUG_PLUGINS=1 in environment. - QMutexLocker: improved performence of the non contended case by inlining some function - QThreadStorage: Added possibility to store object by value instead of by pointer [QTBUG-15033] - QThread: fixed few race conditions [QTBUG-17257, QTBUG-15030] - QtConcurrent: added support for c++0x lambda in few functions - QObject: Improved performence of the signal activation - QObject: added ways to connect signals using QMetaMethod - QObject: deprecated qFindChild and qFindChildren - QObject: optimize constructions and destruction of objects - QObject: Qt::BlockingQueuedConnection can handle the return value [QTBUG-10440] - QList/QVector/QStringList: added C++0x initilizer lists constructors. - QVarLenghtArray: added method for consistency with QVector - QStringBuilder: added support for QByteArray - qSwap now uses std::swap, specialized std::swap for our container to work better with stl algoritms - QVariant: deprecated global function qVariantSetValue, qVariantValue, qVariantCanConvert, qVariantFromValue - QUrl: add method for retrieving effective top level domain [QTBUG-13601] (MR-1205) - optimised performance of QFileInfo, QDir, QDirIterator, these classes now share metadata and access the filesystem less - QFile: new open() overloads allow control over whether QFile should close an adopted file handle or not QtGui ----- - QTabBar: reduced minimumSizeHint if ElideMode is set. - QComboBox: Fixed a color propagation issue with the lineedit. [QTBUG-5950] - QGraphicsLayout: Made setInstantInvalidatePropagation() public - Deprecate qGenericMatrixFromMatrix4x4 and qGenericMatrixToMatrix4x4 - QListView diverses optimisations [QTBUG-11438] - QTreeWidget/QListWidget: use localeAwareCompare for string comparisons [QTBUG-10839] - PNG image I/O: Much improved support for text annotations, including iTXt fields. - QRawFont and QGlyphRun are introduced for low-level text rendering. [QTBUG-18252] - QFont: hintingPreference() is introduced to control hinting in font rendering and subpixel positioning of glyphs for Windows, Mac OS X and X11/raster. [QTBUG-10615] - Subpixel positioned text layout is supported in raster and OpenGL paint engines. - QFont: styleName() is added to allow selecting fonts with irregular style names like UltraLight. [QTBUG-19366] - Visual text cursor movement behavior is added to QTextEdit and QLineEdit controls, which can be used as an optional mode for bi-directional text editing. [QTBUG-13859] - Fixed a rare race condition when showing toplevel windows on X11 - Accessibility: Fix potential crash in QDockWidget. - Accessibility: Fix crash when asking for relations of child accessibles. - Accessibility: More consistency in reporting names (especially when widget is invisible). - Accessibility: Make focus handling more consistent. - Accessibility: Send updates when text changes. - Accessibility: Add IAccessible2 events. - Accessibility: Fix crash when accessing ItemViews during initialization. - Accessibility: Make QTabWidget child hierarchy consistent. - Accessibility: Report correct window title and application name. - Accessibility: Return text attributes for QTextEdit. - Accessibility: Make accessibility work on Windows with alien widgets - Accessibility: Several enablers for accessible graphicsview and Qt Quick applications. QtNetwork --------- - SSL: Switch default version to TLS 1.0 - SSL: enable Server Name Indication (SNI) by default - QSslCertificate: report fraudulent certificates as invalid ("Comodogate") [QTBUG-18338] - QSslCertificate: display non-ASCII names from subject and issuerInfo (MR-922) - QSslCertificate: loat root certificates on demand on Unix (excluding Mac) [QTBUG-14016] - QNetworkCookie: retain quotes in value attribute [QTBUG-17746] - QNetworkCookie: allow spaces in unquoted values [QTBUG-18876] - HTTP API: add support for HTTP multipart messages [QTBUG-6222] - HTTP cache: do not load resources from cache that must be revalidated [QTBUG-18983] - HTTP cache: change file organization (MR-2505) - SOCKS5: write errors are propagated to the outer socket [QTBUG-18713] QtOpenGL -------- - Removed dependency of OpenGL Utility Library (GLU) - Added QGLFunctions, which provides cross-platform access to the OpenGL/ES 2.0 API. - Including will not work in combination with GLEW, as QGLFunctions will undefine GLEW's defines. - Optimize behavior of QGLTextureCache QtScript -------- - Deprecated qScriptValueFromQMetaObject, qScriptValueToValue, qScriptValueFromValue QtSql ----- - Update sqlite to 3.7.7.1 **************************************************************************** * Database Drivers * **************************************************************************** **************************************************************************** * Platform Specific Changes * **************************************************************************** Qt for Linux/X11 ---------------- - Now takes font hinting settings from GConf by default if running in GNOME desktop. - Various fixes to FontConfig font matching code to make it consistent with other X11 programs. [QTBUG-2148, QTBUG-19947, QTBUG-14269] - Added experimental support for armCC Qt for Windows -------------- - DirectWrite experimental text shaping engine is added with subpixel positioning support. [QTBUG-12678] Qt for Mac OS X --------------- - raster graphics system is now made as the default paint engine for Mac OS X. [QTBUG-12615] - HarfBuzz can now be used as an optional text layout engine on Mac OS X. [QTBUG-17728] Qt for Embedded Linux --------------------- - Added support for QNX 6.5 with multi-process support, and much improved mouse, keyboard and screen drivers. - Improved support for INTEGRITY RTOS - Allow hard-coding the temp path in mkspecs (QT_UNIX_TEMP_PATH_OVERRIDE define) Qt for Symbian -------------- - File APIs now have backends using native API rather than unix. This improves performance and stability. - Socket APIs now have a backend using native API rather than unix. [QTBUG-7274] This improves stability and enables IPv6. - IPv6 connectivity is now supported. - Multiple instances of QNetworkAccessManager in the same process with a different QNetworkConfiguration now work. This allows http requests to be made via a specific network. For example to mobile operator websites only accessible via the cellular network, or to websites inside a firewall - System proxy settings now work correctly when using service networks [QTBUG-18618] Qt for Windows CE ----------------- **************************************************************************** * Compiler Specific Changes * **************************************************************************** - Sun Studio 12 * Fixed build issues in the OpenGL module on Solaris with CC 5.9. [QTBUG-19641] **************************************************************************** * Tools * **************************************************************************** - Build System - Assistant - Designer * [QTBUG-18631] Enabled the use of promoted QWidgets in the buddy editor. * [QTBUG-18120] Fixed saving of the Z-order. * [QTBUG-13683] Fixed saving of QGridLayout and QFormLayout by QFormBuilder. * [QTBUG-10890] Added a filter to the rich text editor dialog. that simplifies the HTML markup generated. * [QTBUG-7777] Added support for QIcon::fromTheme. * [QTBUG-7169] Fixed QtUiTools to be built with the correct lib-infix. * [QTBUG-3120] Added support for alignment of box layout items. - Linguist - Linguist GUI - lupdate - lrelease - rcc - moc - uic - uic3 - qmake - configure - qtconfig * removed Qt3support dependency - qt3to4 - qmlplugindump * New tool to generate text descriptions of the QML components defined in plugins loaded by a QML module. **************************************************************************** * Plugins * **************************************************************************** **************************************************************************** * Important Behavior Changes * ****************************************************************************