Updated changelog for Qt 4.8
[qt:qt-ios-plaszma.git] / dist / changes-4.8.0
1 Qt 4.8 introduces many new features and improvements as well as bugfixes
2 over the 4.7.x series. For more details, refer to the online documentation
3 included in this distribution. The documentation is also available online:
4
5   http://qt.nokia.com/doc/4.8
6
7 The Qt version 4.8 series is binary compatible with the 4.7.x series.
8 Applications compiled for 4.7 will continue to run with 4.8.
9
10 Some of the changes listed in this file include issue tracking numbers
11 corresponding to tasks in the Qt Bug Tracker:
12
13   http://bugreports.qt.nokia.com/
14
15 Each of these identifiers can be entered in the bug tracker to obtain more
16 information about a particular change.
17
18 ****************************************************************************
19 *                           General                                        *
20 ****************************************************************************
21
22 Qt Platform Abstraction
23 -----------------------
24
25 Qt 4.8 adds a new platform: QPA (also known as Lighthouse). QPA is a replacement
26 for Qt for Embedded Linux (QWS), making it much easier to port Qt to new platforms.
27
28 General Improvements
29 --------------------
30
31 -
32
33 Third party components
34 ----------------------
35
36  - Updated libpng to version 1.5.4
37  - Updated libjpeg to version 8c
38  - Updated zlib to version 1.2.5
39
40
41 ****************************************************************************
42 *                          Library                                         *
43 ****************************************************************************
44
45 QtCore
46 ------
47  - Removed support for QT_NO_THREAD define for QHostInfo.
48  - Optimized plugin loading on ELF platforms.
49    Print failure reason at runtime with QT_DEBUG_PLUGINS=1 in environment.
50  - QMutexLocker: improved performence of the non contended case by inlining some function
51  - QThreadStorage: Added possibility to store object by value instead of by pointer [QTBUG-15033]
52  - QThread: fixed few race conditions [QTBUG-17257, QTBUG-15030]
53  - QtConcurrent: Entry points were re-written and interfaces changed. This work was
54 done in order to add support for QtConcurrent on Symbian, but ultimately it was noted
55 that the changes lead to a leaner API and the change applies to all platforms.
56  - QtConcurrent: added support for c++0x lambda in few functions
57  - QObject: Improved performence of the signal activation
58  - QObject: added ways to connect signals using QMetaMethod
59  - QObject: added senderSignalIndex method to discover the signal that invoked a slot
60  - QObject: deprecated qFindChild and qFindChildren
61  - QObject: optimize constructions and destruction of objects
62  - QObject: Qt::BlockingQueuedConnection can handle the return value [QTBUG-10440]
63  - QList/QVector/QStringList: added C++0x initilizer lists constructors.
64  - QList: optimizations
65  - QVarLenghtArray: added method for consistency with QVector
66  - QStringBuilder: added support for QByteArray
67  - qSwap now uses std::swap, specialized std::swap for our container to work better with stl algoritms
68  - Added member-swap function to containers and implicitly shared (including GUI) classes
69  - QVariant: deprecated global function qVariantSetValue, qVariantValue, qVariantCanConvert, qVariantFromValue
70  - QUrl: add method for retrieving effective top level domain [QTBUG-13601] (MR-1205)
71  - optimised performance of QFileInfo, QDir, QDirIterator, these classes now share metadata and access the filesystem less
72  - QFile: new open() overloads allow control over whether QFile should close an adopted file handle or not
73  - Fix QProcess emitting two started signals on X11 [QTBUG-7039]
74  - QLocale: added locale dependent to{Upper,Lower} string conversions
75  - QUuid: Optimize QUuid::toString() and relevant, circa 20 times faster than before on the test machine. [QTBUG-19418]
76  - QUuid: Add QUuid::toByteArray() and relevant, same behavior with QUuid::toString(). [QTBUG-19419]
77  - QUuid: Add QUuid::toRfc4122() and fromRfc4122(), provide interfaces by following the RFC-4122 [QTBUG-19420]
78  - QTextStream, QDataStream and QXmlStreamWriter: added write error reporting [QTBUG-376]
79  - QProcessEnvironment: added keys() and insert(const QProcessEnvironment &)
80  - QProcessEnvironment: preserve variable name case on Windows
81  - QProcessEnvironment: made systemEnvironment() encoding-safe
82  - QProcessEnvironment: major optimizations, especially on Unix
83  - Add branch prediction macros Q_LIKELY and Q_UNLIKELY
84  - QSettings: don't assume XDG_CONFIG_HOME is latin1-encoded
85  - QDateTime: Fix generation of ISO8601 strings to include proper timezone information [QTBUG-18290]
86
87 QtGui
88 -----
89
90  - QApplication: Add a queryKeyboardModifiers() method.
91  - QTabBar: reduced minimumSizeHint if ElideMode is set.
92  - QComboBox: Fixed a color propagation issue with the lineedit. [QTBUG-5950]
93  - QGraphicsLayout: Made setInstantInvalidatePropagation() public
94  - Deprecate qGenericMatrixFromMatrix4x4 and qGenericMatrixToMatrix4x4
95  - QListView diverse optimisations [QTBUG-11438]
96  - QTreeWidget/QListWidget: use localeAwareCompare for string comparisons [QTBUG-10839]
97  - PNG image I/O: Much improved support for text annotations, including iTXt fields.
98  - QRawFont and QGlyphRun are introduced for low-level text rendering. [QTBUG-18252]
99  - QFont: hintingPreference() is introduced to control hinting in font rendering and
100    subpixel positioning of glyphs for Windows, Mac OS X and X11/raster. [QTBUG-10615]
101  - Subpixel positioned text layout is supported in raster and OpenGL paint engines.
102  - QFont: styleName() is added to allow selecting fonts with irregular style names
103    like UltraLight. [QTBUG-19366]
104  - Visual text cursor movement behavior is added to QTextEdit and QLineEdit controls,
105    which can be used as an optional mode for bi-directional text editing. [QTBUG-13859]
106  - Fixed several bidi reordering bugs.
107  - Make HTML exported from QTextDocument containing empty lines more compliant.
108  - Include font pixel size when exporting HTML from QTextDocument.
109  - QPainter: Added a fast stroking algorithm for thin (< 1px wide) aliased and antialiased
110    lines, giving a huge improvement in drawing speed for certain cases
111  - Fixed a rare race condition when showing toplevel windows on X11
112  - QWindowsStyle: fix bug in eventFilter on KeyPressed event with alt pressed, that
113    caused unnecessary update events
114  - Accessibility: Fix potential crash in QDockWidget.
115  - Accessibility: Fix crash when asking for relations of child accessibles.
116  - Accessibility: More consistency in reporting names (especially when widget is invisible).
117  - Accessibility: Make focus handling more consistent.
118  - Accessibility: Send updates when text changes.
119  - Accessibility: Add IAccessible2 events.
120  - Accessibility: Fix crash when accessing ItemViews during initialization.
121  - Accessibility: Make QTabWidget child hierarchy consistent.
122  - Accessibility: Report correct window title and application name.
123  - Accessibility: Return text attributes for QTextEdit.
124  - Accessibility: Make accessibility work on Windows with alien widgets
125  - Accessibility: Several enablers for accessible graphicsview and Qt Quick applications.
126  - Fixed loading BMP files with version 4 and 5 headers, ignoring extra data.
127  - QTextCursor optimization
128  - QUndoGroup, QUndoStack: Allow using not only prefixes for undo command text [QTBUG-14442]
129  - QUndoView: Allow different text for undo actions and items
130  - QCommonStyle: Fix overrides from the proxy style [QTBUG-20849]
131  - QWindowsVistaStyle: Draw CE_ProgressBarGroove correctly with PP_TRANSPARENTBAR.
132  - Removed obsolete -qt-gif configure option.
133
134 QtNetwork
135 ---------
136
137  - SSL: Switch default version to TLS 1.0
138  - SSL: enable Server Name Indication (SNI) by default
139  - QSslCertificate: report fraudulent certificates as invalid ("Comodogate") [QTBUG-18338]
140  - QSslCertificate: display non-ASCII names from subject and issuerInfo (MR-922)
141  - QSslCertificate: loat root certificates on demand on Unix (excluding Mac) [QTBUG-14016]
142  - QNetworkCookie: retain quotes in value attribute [QTBUG-17746]
143  - QNetworkCookie: allow spaces in unquoted values [QTBUG-18876]
144  - HTTP API: add support for HTTP multipart messages [QTBUG-6222]
145  - HTTP cache: do not load resources from cache that must be revalidated [QTBUG-18983]
146  - HTTP cache: change file organization (MR-2505)
147  - SOCKS5: write errors are propagated to the outer socket [QTBUG-18713]
148  - Cookies: Commas are no longer used to support multiple cookies in a single Set-Cookie header [QTBUG-21456]
149  - QNetworkReply: errorString() returns translated messages now [QTBUG-18382]
150
151  QtOpenGL
152  --------
153  - Removed dependency of OpenGL Utility Library (GLU)
154  - Added QGLFunctions, which provides cross-platform access to the
155    OpenGL/ES 2.0 API.
156  - Including <QtOpenGL> will not work in combination with GLEW, as
157    QGLFunctions will undefine GLEW's defines.
158  - Optimize behavior of QGLTextureCache
159  - Support subpixel antialiasing when possible.
160  - [QTBUG-13450] Fixed path drawing on FBOs without stencil buffer.
161  - Reading from the FrameBuffer with Qt now correctly gives an image
162    marked as premultiplied.
163
164 QtScript
165 --------
166  - Deprecated qScriptValueFromQMetaObject, qScriptValueToValue, qScriptValueFromValue
167
168 QtDBus
169 ------
170  - Added a method that returns the local machine ID
171
172 QtWebKit
173 --------
174  - Update QtWebKit to 2.2.0
175    http://trac.webkit.org/wiki/QtWebKitRelease22
176
177 QtSql
178 -----
179  - Update sqlite to 3.7.7.1
180  - QSqlField now initializes the type of its QVariant value to its own type.
181  - QSqlField's generated flag now controls generation of SQL insert/update/delete
182    in QSqlDriver::sqlStatement(). QSqlTableModel initializes the flag to false in
183    new edit records and sets it to true when a value is set. Applications can still
184    manipulate generated flags directly to control SQL generation. [QTBUG-13211]
185
186 QtSvg
187 -----
188  - [QTBUG-16216] Fixed infinite loop when loading some SVGs with CSS style.
189
190 QtDBus
191 ------
192  - Make QDBusServer work [QTBUG-186]
193  - QDBusConnection: Add methods disconnectFromPeer and connectToPeer
194  - Make the DBus timeout configurable in QDBusAbstractInterface.
195
196 QtTest
197 ------
198  - Added -random and -seed options to tests, making the test cases within
199    a test execute in arbitrary order.
200  - Added -datatags option to list available data tags for each test function.
201    The test case name is also listed.
202
203 ****************************************************************************
204 *                          Database Drivers                                *
205 ****************************************************************************
206
207
208 ****************************************************************************
209 *                      Platform Specific Changes                           *
210 ****************************************************************************
211
212 Qt for Linux/X11
213 ----------------
214  - Now takes font hinting settings from GConf by default if running in
215    GNOME desktop.
216  - Various fixes to FontConfig font matching code to make it consistent
217    with other X11 programs. [QTBUG-2148, QTBUG-19947, QTBUG-14269]
218  - Added experimental support for armCC
219  - Experimental support for associating Wayland clients with PID or a token,
220    to facilitate window management.
221  - Added plugin system for menubars, making it possible to provide
222    alternative menubar implementations. (eg, appmenu:
223    https://launchpad.net/appmenu-qt)
224
225 Qt for Windows
226 --------------
227  - DirectWrite experimental text shaping engine is added with subpixel
228    positioning support. [QTBUG-12678]
229  - QElapsedTimer: use QueryPerformanceCounter if available.
230  - MSVC runtime is bound to the runtime you're building with. This makes
231    deployment on Windows easier. (QTBUG-8215)
232  - QLocalSocket::isValid() has been fixed. (QTBUG-18204)
233  - qFadeEffect() issue fixed. The QSystemTrayIcon's popup menu no longer
234    stays transparent in rare circumstances after the animation has completed.
235  - The small 16x16 version of the default window icon is now being loaded
236    correctly from the IDI_ICON1 resource.
237  - Fixed version checking for untested versions of Windows. (QTBUG-20480)
238  - Qt libs on MinGW now come with pkg-config .pc files.
239
240 Qt for Mac OS X
241 ---------------
242  - Alien widgets is now used by default for Qt/Cocoa on Mac OS X. 
243  - Qt/Cocoa on Mac OS X has now full support for the raster paint engine.
244  - QApplication has now implemented macEventFilter for Qt/Cocoa
245  - HarfBuzz can now be used as an optional text layout engine on Mac OS X.
246    [QTBUG-17728]
247  - Qt shows some love to OS X Lion (10.7).
248
249 Qt for Embedded Linux
250 ---------------------
251  - Added support for QNX 6.5 with multi-process support, and much improved mouse,
252    keyboard and screen drivers.
253  - Improved support for INTEGRITY RTOS
254  - Allow hard-coding the temp path in mkspecs (QT_UNIX_TEMP_PATH_OVERRIDE define)
255  - Added support for opening LinuxInput devices exclusively (via ioctl EVIOCGRAB)
256  - Added eglnullws QScreen driver for use with OpenGL ES EGL null window system (NullWS).
257
258 Qt for Symbian
259 --------------
260  - File APIs now have backends using native API rather than unix.
261    This improves performance and stability.
262  - Socket APIs now have a backend using native API rather than unix. [QTBUG-7274]
263    This improves stability and enables IPv6.
264  - IPv6 connectivity is now supported.
265  - Multiple instances of QNetworkAccessManager in the same process with a
266    different QNetworkConfiguration now work. This allows http requests to
267    be made via a specific network. For example to mobile operator websites
268    only accessible via the cellular network, or to websites inside a firewall
269  - System proxy settings now work correctly when using service networks [QTBUG-18618]
270  - Prevent horizontal lines appearing under entered characters when predictive text is off
271  - Checked state is not shown on highlighted itemview item when using QS60Style [QTBUG-19668]
272  - Icon is not shown correctly in a menu item in all cases when using QS60Style [QTBUG-19330]
273  - Remove S60 3rd edition support from QS60Style [QTBUG-18615]
274  - Prevent softkeys from coming to foreground when taskswitcher is opened [QTBUG-19225]
275  - Improve robustness of QS60Style when creating native theme bitmaps [QTBUG-21119]
276  - Make spinboxes and lineedits slightly taller in QS60Style
277  - Default graphics memory quota for Symbian applications support [QT-4963]
278  - Improved support for shadow builds in Symbian [QTBUG-10432]
279  - Fixed panic when global QSettings instance needs flusing at app exit [QTBUG-21421]
280  - Detect app caption and pkg name translations by id attribute [QT-5247]
281  - Fixed center aligned layouts for Symbian [QTBUG-14704]
282  - Fixed Symbian system date format parsing [QT-5237]
283  - Skip softkeys update if application is not on foreground in Symbian [QTBUG-19225]
284  - Removed S60 version plugins [QTBUG-18614]
285  - Improved DEFINES crossplatform compatibility in Symbian builds [QTBUG-19232]
286  - Fixed loss of focus and activation when hiding a child widget [QTBUG-19196]
287  - Fixed softkeys in case a dialog with softkeys that have icons is closed [QTBUG-19154]
288  - Update softkeys after orientation switch [QTBUG-19150]
289  - Implemented support for enable_backup CONFIG value [QTBUG-17214]
290  - Improved logic to find default certificates in createpackage script [QTBUG-18684]
291  - Changed createpackage and patch_capabilties scripts use tmp dir [QTBUG-11394]
292  - Added ".make.cache" to the files to be cleaned for symbian-abld [QTBUG-15733]
293  - Fixed emulator deployment for items with "!:" drive [QTBUG-18134]
294  - Removed broken "deploy.path" support from Symbian [QTBUG-14426]
295  - Strip echo suppression character "@" from commands in symbian-sbsv2 [QTBUG-4767]
296  - Don't leave from QNotifyChangeEvent::RunL() in QFileSystemWatcher [QT-4660]
297  - Fixed QProcess::waitForFinished WaitForRequest handling in Symbian [QT-4659]
298  - Changed DEPLOYMENT keyword to accept both .sources and .files [QTBUG-3216]
299  - Removed static vs dynamic library autodetection from qmake in Symbian [QTBUG-13498]
300  - QtConcurrent is now working both with RVCT 2.2 and GCCE 4.4.1 on Symbian, but not with WINSCW,
301 the compiler of Symbian emulator (and there is no plan to support it). [QTBUG-5182] [QTBUG-9070]
302
303 Qt for Windows CE
304 -----------------
305
306
307 ****************************************************************************
308 *                      Compiler Specific Changes                           *
309 ****************************************************************************
310 - Sun Studio 12
311     * Fixed build issues in the OpenGL module on Solaris with CC 5.9. [QTBUG-19641]
312
313 - Microsoft Visual C++
314     * Fixed build issues with STLport. [QTBUG-18374]
315
316 ****************************************************************************
317 *                          Tools                                           *
318 ****************************************************************************
319
320 - Build System
321
322 - Assistant
323
324 - Designer
325     * [QTBUG-18631] Enabled the use of promoted QWidgets in the buddy editor.
326     * [QTBUG-18120] Fixed saving of the Z-order.
327     * [QTBUG-13683] Fixed saving of QGridLayout and QFormLayout
328       by QFormBuilder.
329     * [QTBUG-10890] Added a filter to the rich text editor dialog.
330       that simplifies the HTML markup generated.
331     * [QTBUG-7777] Added support for QIcon::fromTheme.
332     * [QTBUG-7169] Fixed QtUiTools to be built with the correct
333       lib-infix.
334     * [QTBUG-3120] Added support for alignment of box layout items.
335
336 - Linguist
337   - Linguist GUI
338
339   - lupdate
340
341   - lrelease
342
343
344 - rcc
345
346
347 - moc
348
349
350 - uic
351
352
353 - uic3
354
355
356 - qmake
357     * Look for external Qt modules in $QMAKEPATH
358     * MinGW: fix DEF_FILE for shadow builds. (QTBUG-11643)
359     * Implemented "aux" template that allows making use of the INSTALLS variable
360       without building anything. Needed for projects with QML entry point.
361     * MSVC now link with /DYNAMICBASE /NXCOMPAT in order to increase security.
362     * Add comctl32 v6 assembly dependency to both /SUBSYSTEM:WINDOWS and
363       /SUBSYSTEM:CONSOLE applications to get consistent look and behaviour.
364     * Fix the language settings in generated Windows resource files. (QTBUG-12249)
365     * Write and install pkg-config files for MinGW
366     * Make PKGCONFIG referencing missing packages fatal; add packagesExist() for
367       a-priori checks. (QTBUG-11418)
368     * Make moc use DEFINES from pkg-config. (QTBUG-19922)
369     * Parsing nested quotes works a bit differently now
370     * Added -unset <prop> option
371     * Made the Hurd mkspec useful
372     * Visual Studio project generator
373       - Support x64 Qt builds. (QTBUG-17911)
374       - QMAKE_PROJECT_NAME qmake variable introduced to set the project's name.
375       - Support PCHs with other extensions than ".h". (QTBUG-16639)
376       - Fix setting PCH options manually via the MSVC compiler flags. (QTBUG-15594)
377       - Set the output directory correctly. (QTBUG-16490)
378       - Fix handling of DEFINES from .prl files. (QTBUG-16024)
379
380 - configure
381     * The endianness for Windows is always set to little endian.
382     * [QTBUG-5710] Configure now complains on missing perl on windows
383     * Removed obsolete -qt-gif option
384     * Allow setting LD, RANLIB, OBJDUMP, and STRIP.
385     * Allow selecting imageformats to be built as plugin vs. internal.
386
387 - qtconfig
388   * removed Qt3support dependency
389
390
391 - qt3to4
392
393 - qmlplugindump
394     * New tool to generate text descriptions of the QML components defined
395       in plugins loaded by a QML module.
396
397 - syncqt
398     * Fix to allow $QTDIR to contain any valid pathname characters.
399
400 - qdoc3
401     * Add support for documenting QML using module identifiers.
402     * Change the format of qdocconf files.
403
404 ****************************************************************************
405 *                          Plugins                                         *
406 ****************************************************************************
407
408
409 ****************************************************************************
410 *                   Important Behavior Changes                             *
411 ****************************************************************************
412