1Qt 5.2 introduces many new features and improvements as well as bugfixes
2over the 5.1.x series. For more details, refer to the online documentation
3included in this distribution. The documentation is also available online:
4
5  http://qt-project.org/doc/qt-5.2
6
7The Qt version 5.2 series is binary compatible with the 5.1.x series.
8Applications compiled for 5.1 will continue to run with 5.2.
9
10Some of the changes listed in this file include issue tracking numbers
11corresponding to tasks in the Qt Bug Tracker:
12
13  http://bugreports.qt-project.org/
14
15Each of these identifiers can be entered in the bug tracker to obtain more
16information about a particular change.
17
18****************************************************************************
19*                   Important Behavior Changes                             *
20****************************************************************************
21
22 - Qt is now compiled with qreal typedef'ed to double on all
23   platforms. qreal was a float on ARM chipsets before. This guarantees more
24   consistent behavior between all platforms Qt supports, but is binary
25   incompatible to Qt 5.1 on ARM. The old behavior can be restored by
26   passing -qreal float to configure.
27 - The supported date range in QDateTime has been reduced to about +/- 292
28   million years, the range supported by the number of msecs since the Unix
29   epoch of 1 Jan 1970 as stored in a qint64, and as able to be used in the
30   setMSecsSinceEpoch() and toMSecsSinceEpoch() methods.
31
32 - QUrl and QUrlQuery:
33   * [QTBUG-31660] QUrl no longer considers all delimiter characters
34     equivalent to their percent-encoded forms. Now, both classes always
35     keep all delimiters exactly as they were in the original URL text.
36   * [QTBUG-31660] QUrl no longer decodes %7B and %7D to "{" and "}" in the
37     output of toString()
38   * QUrl no longer supports QUrl::FullyDecoded mode in authority() and
39     userInfo(), nor QUrl::DecodedMode in setAuthority() and setUserInfo().
40   * [QTBUG-31945] QUrl no longer decodes %23 found in the fragment to "#"
41     in the output of toString(QUrl::FullyEncoded) or toEncoded()
42   * QUrl now defaults to decoded mode in the getters and setters for
43     userName, password, host, topLevelDomain, path and fileName. This
44     means a '%' in one of those fields is now returned (or set) as '%'
45     rather than "%25". In the unlikely case where the former behavior was
46     expected, pass PrettyDecoded to the getter and TolerantMode to the
47     setter.
48   * QUrl now normalizes the path given in setPath, removing ./ and ../ and
49     duplicate slashes.
50
51 - QWheelEvent has gained a "phase" attribute and may now be sent with
52   zero delta() in order to indicate beginning and end of transient
53   scrolling.
54
55 - Mac OS X framework builds of Qt no longer contain a Unix-like include/
56   directory; all headers are located in the frameworks. This may affect
57   3rd party build systems not based on qmake or cmake.
58
59****************************************************************************
60*                   Platform deprecation notice                            *
61****************************************************************************
62
63 - The support for the old implementation of QAtomicInt and
64   QAtomicPointer is deprecated in Qt 5.2 and will be removed in Qt
65   5.3. Building with the following compilers or environments will not
66   be possible in Qt 5.3 or the build will suffer greatly in
67   performance, unless support is revived by writing new atomics code.
68    * Green Hills compiler for INTEGRITY
69    * Sun Studio compiler suite for Solaris
70    * IBM Visual Age compiler suite for AIX
71    * Kernel-mode VxWorks
72
73   Developers interested in picking up support should contact the
74   development mailing list at development@qt-project.org for more
75   information. Note that those platforms are currently not tested. Most
76   likely, they have further problems than just the atomics code.
77
78****************************************************************************
79*                          Library                                         *
80****************************************************************************
81
82QtCore
83------
84
85 - Added QCollator, a class to collate Unicode strings.
86 - Added QCommandLineParser, a class to parse command lines.
87 - Added QFileSelector, a class to select platform-specific file assets.
88 - Added QLoggingCategory and related functions for logging
89 - [QTBUG-23946] Fixed a bug that prevented Qt from being built in a
90   namespace on Mac OS X.
91 - Updated the locale database to CLDR 23.1
92 - Added support for ARMv8 64-bit mode.
93
94 - Metatype system (QMetaType & QVariant):
95   * Qt now handles metatypes automatically for std::vector, std::list,
96     std::pair and std::map
97   * The metatype system now supports registering explicit conversion
98     functions via QMetaType::registerConverter
99   * The metatype system now supports iteration over a container type via
100     QSequentialIterable and QAssociativeIterable
101   * Registering the same type name twice will now print only a warning (as
102     opposed to aborting the execution of the program)
103
104 - Qt Containers:
105   * In debug mode, the Qt containers will now verify whether the iterators
106     passed to most mutating functions belong to the iterator in question.
107   * Fixed a number of bugs that would modify shared containers when calling
108     erase(), under corner-case conditions.
109
110- QtAlgorithms
111  With STL no longer being optional for building and using Qt, a number of parts
112  of QtAlgorithms no longer make sense, and have therefore been deprecated.
113
114  Replacements are available in the STL, and generally have much better
115  performance, but are not instantly source-compatible in all cases. For
116  instance, specialization of qLess or qSwap means that a direct port to
117  std::sort from qSort may not be possible, as std::sort does not use any of
118  them; a possible workaround is explicitly passing a qLess functor to
119  std::sort:
120
121      std::sort(container.begin(), container.end(), qLess<T>());
122
123  The functions in QtAlgorithms that have been deprecated, along with their
124  STL counterparts, are:
125    - qBinaryFind (std::binary_search / std::lower_bound)
126    - qCopy (std::copy)
127    - qCopyBackward (std::copy_backward)
128    - qEqual (std::equal)
129    - qFill (std::fill)
130    - qFind (std::find)
131    - qCount (std::count)
132    - qSort (std::sort)
133    - qStableSort (std::stable_sort)
134    - qLowerBound (std::lower_bound)
135    - qUpperBound (std::upper_bound)
136    - qLess (std::less)
137    - qGreater (std::greater)
138
139 - QByteArray:
140   * Added QByteArray::Base64Url and QByteArray::OmitTrailingEquals flags
141     for QByteArray::toBase64 and fromBase64.
142   * [QTBUG-34694] Fixed a bug that would cause QByteArray to overflow some
143     size calculations.
144
145 - QCoreApplication:
146   * [QTBUG-15379][QTBUG-30628] Fixed a bug that caused Qt to mis-parse a
147     command-line argument like -DKEY=\"VALUE\" on Windows.
148
149 - QDateTime:
150   * [QTBUG-26161][QTBUG-29666] Fully implement support for Qt::TimeSpec of
151     Qt::OffsetFromUTC, added new methods for offsetFromUTC(),
152     toTimeSpec(), and toOffsetFromUTC().
153   * Added convenience methods for fromMSecsSinceEpoch() and fromTime_t()
154     to take time spec to be used in returned datetime.
155   * Add method timeZoneAbbreviation() to return effective time zone
156     abbreviation.
157   * The debug datastream is now an ISO-like format instead of Qt::TextDate
158   * The Standard Time to Daylight Time transition for Qt::LocalTime is now
159     handled correctly. Any date set in the "missing" hour is now
160     considered invalid. All date math results that fall into the missing
161     hour will be automatically adjusted to a valid time in the following
162     hour.
163   * Added new method isDaylightTime() to return if the datetime is in
164     Daylight Time or not.
165   * Added support for a new Qt::TimeZone spec to be used with QTimeZone to
166     define times in a specific time zone.
167   * Added Qt::RFC2822Date format that can be passed to QDateTime and
168     QLocale formatters and parsers.
169   * Fixed a bug that caused QDate::toString() to return empty for dates
170     with years beyond 9999.
171
172 - QFileSystemWatcher:
173   * [QTBUG-33211] Fixed a bug that caused QFileSystemWatcher to emit change
174     notifications with the wrong path on Linux.
175
176 - QJson:
177   * [QTBUG-33229] The Writer and the Parser now fully accept non-character
178     unicode points.
179   * The Writer will no longer write inf, -inf and nan for infinites and NaN
180     values, which resulted in parsing back as strings. Instead, it will now
181     output null.
182   * The Writer now emits numeric values with full numeric precision. This
183     also allows QJson to support integer values with no loss of precision
184     up to 2^53.
185
186 - QJsonValue:
187   * Added QJsonValue::toInt(). QJsonValue can store 32-bit signed integers
188     with no loss of precision.
189
190 - QObject:
191   * New-style signal connections to functors, lambdas, and static functions
192     now works with a receiver object. The connection will be removed when
193     the either the sender or receiver objects are destroyed.
194
195 - QPluginLoader:
196   * QPluginLoader will no longer load the plugins on Mac OS X and iOS
197     systems when scanning for valid plugins.
198   * Added QPluginLoader::staticPlugins(), which returns the list of
199     built-in plugins (linked to the executable and any loaded libraries).
200
201 - QProcess:
202   * [QTBUG-32958] Fixed a bug that would cause QProcess to crash if
203     waitForStarted() were called after an unsuccessful start()
204   * Added QProcess::nullDevice(), which returns the platform's "blackhole"
205     device (/dev/null on Unix, NUL on Windows). This can be used with
206     QProcess::setStandardOutputFile.
207   * Added enum values QProcess::ForwardedOutputChannel and
208     QProcess::ForwardedErrorChannel, which allow for more fine-grained
209     control over which channel is forwarded and which one is captured.
210   * Added QProcess::ForwardedInputChannel, which allows for stdin to be
211     forwarded to this process's input.
212   * [QTBUG-32979] On Unix, QProcess now correctly forwards the siginfo_t
213     and context parameters of the signal handler to the previous handler.
214
215 - QScopedPointer:
216   * Added QScopedPointerDeleteLater, a new class that can be used as the
217     second template to QScopedPointer and will call deleteLater() on the
218     pointer when it goes out of scope.
219
220 - QSocketNotifier:
221   * Fixed a bug that caused socket notifiers not to be re-enabled after
222     they had been activated on BlackBerry.
223
224 - QStandardPaths:
225   * QStandardPaths::enableTestMode is deprecated and is replaced by
226     QStandardPaths::setTestModeEnabled.
227   * Added QStandardPaths::GenericConfigLocation, which refers to a location
228     where applications can store config files to be shared with other
229     applications.
230
231 - QThread:
232   * Added an advisory interrupt mechanism (QThread::requestInterruption and
233     QThread::isInterruptionRequested).
234
235 - QThreadPool:
236   * Added method clear() to remove any queued QRunnables.
237   * Fixed a number of race conditions.
238
239 - QTime:
240   * [QTBUG-30250] When calling QTime::toString(Qt::TextDate) and
241     QTime::toString(Qt::ISODate), milliseconds are now included in
242     the returned string. This also applies to
243     QDateTime::toString(Qt::TextDate) and
244     QDateTime::toString(ISODate).
245   * Added new methods fromMSecsSinceStartOfDay() to create a new QTime
246     from an msecs value, and msecsSinceStartOfDay() to return the QTime as
247     the number of msecs since the start of the day.
248
249 - QTimeZone:
250   * Added new QTimeZone class to support time tone calculations using the
251     host platform time zone database and the Olsen time zone ID's.
252
253 - QUrl:
254   * [QTBUG-33229] QUrl now fully accepts non-character unicode points;
255     they are encoded as percent characters; they can also be pretty
256     decoded
257   * Added QUrl::RemoveFilename flag which can be passed to path(),
258     authority() and toString() and will cause the filename part of the path
259     (the contents after the last '/') to be removed.
260   * Added QUrl::fileName(), which returns just the filename part of the
261     path.
262   * Added QUrl::NormalizePathSegments flag, which will cause QUrl to
263     remove "/./" or "/../" sequences as much as possible. It will not
264     remove "/../" from the beginning of the path.
265   * Added QUrl::adjusted(), which returns a new QUrl with certain parts of
266     the original URL removed or normalized.
267   * Added QUrl::matches(), which can be used to compare parts of two URLs
268     or to compare two URLs after normalization.
269
270 - QUtf8:
271   * [QTBUG-33229] UTF-8 now accepts non-character unicode points; these
272     are not replaced by the replacement character anymore
273
274 - QVariant:
275   * Fixed QVariant::canConvert with longlong
276   * Variant containing enum types can now be converted to integer
277   * [QTBUG-33981] Fixed a bug that would cause QPolygonF to be saved or
278     loaded incorrectly in QDataStream.
279
280QtDBus
281------
282
283 - Improved error handling so as to give more feedback to the developer when
284   certain marshalling or demarshalling actions fail.
285 - [QTBUG-27809] Fixed some race conditions related to delivering method
286   reply deliveries.
287 - Fixed a bug that made non-slot invokables not get listed in the
288   auto-generated introspections.
289
290QtDeclarative
291-------------
292
293 - ColorDialog:
294   * Added currentColor property.
295
296 - [QTBUG-32928] ShortcutOverride events now work for QQuickItem
297   subclasses
298
299QtGui
300-----
301
302 - Accessibility classes are now public allowing accessibility
303   information for custom widgets/QQuickItems
304
305 - Session Management:
306   * [QTBUG-28228] The new QPlatformSessionManager class brings back
307     the session management functionality. It allows the
308     implementation of platform specific behavior related to session
309     management. For platform that don't support this feature the
310     default behavior has not changed.  Both X11 and Windows session
311     management are supported.
312
313 - QPolygonF:
314   * When a QVariant holds a QPolygonF() then it will be correctly seen as
315     a null QVariant.
316
317 - QImage:
318   * Added three byte-ordered RGBA8888 format that simplifies interaction
319     with OpenGL and other technologies that internally using RGBA formats.
320
321 - [QTBUG-27349] Reintroduced command line argument for positioning
322   windows (-geometry on X11, -qwindowgeometry on other platforms)
323
324 - [QTBUG-28832] Fixed regression from Qt 4 when using
325   QTextOption::ShowLineAndParagraphSeparators.
326
327QtNetwork
328---------
329
330 - API was added to store and resume TLS session tickets.
331 - The minimum support openssl version has been increased to openssl
332   1.0. The code to support older versions has not been removed, but is no
333   longer supported.
334 - An off-by-one error in NTLM proxy authentication has been fixed.
335 - Various improvements to reduce the memory used by qtnetwork have been
336   made.
337 - Improved support for HTTP proxy authentication.
338 - Support for preconnecting to servers before making HTTP and HTTPS
339   connections. This allows for much reduced latency when the hosts to be
340   connected to are known.
341
342QtPrintSupport
343--------------
344
345 - QPrintDialog:
346   * Added support for setting CUPS job options in the print dialog.
347   * Added support for setting CUPS Banner pages in the print dialog.
348   * Added support for setting CUPS Page Set (even/odd pages only) in the
349     print dialog.
350   * Added support for setting CUPS Pages Per Sheet and Pages Per Sheet
351     Layout options
352   * Added CUPS server-side print range support for apps that can't support
353     print range option themselves
354
355QtSql
356-----
357
358Changes in Qt 5.1.0 (missing from released changelog dist/changes-5.1.0)
359 - [QTBUG-28088] Remove dependency of DB driver headers on qsqlcachedresult_p.h.
360 - Deprecate QSqlError setters. The constructor is sufficient, since it has
361   a parameter for each member variable.
362 - Rename the SQL driver header files to _p.h (make private)
363   The drivers were never public API. They were exposed by mistake in
364   public headers. What's more, they have #include'd a private header
365   (qsqlcachedresult_p.h) since at least Qt 4.5.1. That means no one used
366   those headers in Qt 4 (private headers weren't installed then) and
367   it's unlikely anyone did in 5.0.
368 - ODBC: Implemented lastInsertId() for some ODBC compatible databases.
369 - PSQL: Make lastInsertID work for tables without OIDs.
370 - [QTBUG-14904] SQLITE: Fix for Sql query aliases with dots
371 - [QTBUG-2192] ODBC: fix loss of milliseconds when binding QDateTime
372 - [QTBUG-30076] PSQL: escape backslashes only when server requires it
373   IMPORTANT: Applications that implemented their own workarounds must be
374   updated to avoid misbehavior and SQL injection vulnerabilities.
375 - [QTBUG-10569] ODBC: fixed QODBCResult::exec() return value for DELETE
376   operations when no rows are affected.
377 - ODBC: Fixed loss of column metadata on SQL_NO_DATA.
378 - QSqlTableModel: expose methods for getting primary values.
379 - ODBC: Fixed possible cause of spurious errors (commit af35ee291a1bbbc8)
380
381Changes in Qt 5.2.0
382 - [QTBUG-29261] IBASE: Construct a valid QTime when creating timestamps for
383   iBase SQL driver.
384 - [QTBUG-33389] PSQL: Format QDateTime following ISO8601.
385 - Add QSQLITE_OPEN_URI option to QSQLITE driver
386
387QtWidgets
388---------
389
390 - Added class QKeySequenceEdit.
391 - Added QMaxCocoaViewContainer and QMacNativeWidget classes.
392 - [QTBUG-1016] Added API to control tool tip timing via:
393   * new QToolTip::showTip() overload
394   * QWidget::toolTipDuration() property.
395   * QStyle::SH_ToolTip_WakeUpDelay and SH_ToolTip_FallAsleepDelay
396     style hints.
397 - [QTBUG-30255] Fixed a bug where spans across empty cells in a grid
398   layout got broken.
399 - [QTBUG-31569] WA_QuitOnClose now works even if there are other
400   windows that don't have it set.
401 - [QTBUG-32788] Properly handles Qt::WidgetWithChildrenShortcut
402   shortcuts in MDI subwindows now.
403 - [QTBUG-33078] QWidget::setWindowOpacity() now works when called
404   before QWidget::show().
405 - [QTBUG-33104] Fixed a bug where layout items with a Preferred size
406   policy would be treated as fixed size, if mixed with Expanding
407   items having maximumSize set.
408 - [QTBUG-33247] Changed accessible trees and tables to always expose
409   hidden headers, instead of only exposing the visible headers.
410 - [QTBUG-34007] Fixed a crash in tablet support.
411 - Fixed a bug where the maximum size hint of a layout with spans was
412   wrong.
413 - Item delegates now cycle through all three states of tri-state
414   checkboxes, the same way QCheckBox itself does.
415
416 - QAbstractItemView:
417   * [QTBUG-7232] In ItemViews scrollbars will now by default only
418     scroll 1 pixel when scrollMode is set to scrollPerPixel. That is
419     it will (when scrollMode is scrollPerPixel) do what is stated in
420     the documentation, and no longer automatically adjust the
421     scrollbar's singleStep. The user can now control that value.
422
423 - QAbstractScrollArea:
424   * QAbstractScrollArea now has a SizeAdjustPolicy. If it is set to
425     AdjustToContents it will make use of the protected viewportSizeHint()
426     virtual function. This function returns a suggested size based on
427     contents. Note that although the viewportSizeHint() virtual function
428     was reserved in 5.0, user code was not supposed to be overriding it
429     (as the function was private and undocumented).  Code that was
430     overriding viewportSizeHint() needs to be recompiled against 5.2 for
431     this feature to work correctly.
432
433 - QButtonGroup:
434   * [QTBUG-14857] Added buttonToggled() signals.
435
436 - QColorDialog:
437   * Added a web color QLineEdit.
438   * [QTBUG-14332] Added a screen color picker button.
439   * [QTBUG-31998] Does no longer create widgets when using the
440     platform dialog.
441   * [QTBUG-32054] Fixed a bug with keyboard navigation.
442
443 - QComboBox:
444   * [QTBUG-31146] Fixed selection of items with identical text in
445     popup completion.
446   * Added currentData() convenience function which allows to retrieve
447     the user data set for the current item.
448
449 - QCompleter:
450   * [QTBUG-3414] Added filterMode property.
451   * The activated() signal now passes invalid indexes instead of
452     random bogus ones when falling back to the completion prefix.
453
454 - QDesktopWidget:
455   * [QTBUG-32567] Fixed emission of workAreaResized() signal.
456
457 - QDialogButtonBox:
458   * Added a (StandardButtons,QWidget*) constructor.
459
460 - QDockWidget:
461   * [QTBUG-31044] The position of a dock widget is now kept when
462     undocking.
463   * [QTBUG-32260] Fixed a bug where visibilityChanged was signaled
464     wrongly in certain multi-screen setups.
465
466 - QFileDialog:
467   * setDefaultSuffix() now removes leading dot characters.
468   * Introduced DontUseCustomDirectoryIcons. This improves the file
469     dialog performance under Windows for the case where there are
470     lots of folders. Went from taking 60 seconds to 2 seconds, on a
471     SDCard with 10k folders.
472   * Added setMimeTypeFilters() for mimetype-based filtering, as an
473     alternative to pattern matching.
474   * Fixed removing of directories containing hidden or system files.
475   * Added QUrl-based API for remote files.
476   * [QTBUG-13182] Improved performance on Windows by
477     + not resolving NTFS symlinks (15x speedup on pessimistic
478       workloads) and
479     + using extensions over calling GetFileAttributesEx() in certain
480       cases.
481   * [QTBUG-29403] Fixed potential crash in destructor of
482     ~QFileInfoGather in threaded applications.
483   * [QTBUG-34132] QFileDialog does no longer instantiate widgets if a
484     native dialog will be used instead.  Therefore some accessors
485     which previously returned unused objects will now return null.
486     As before, you can set the DontUseNativeDialog option to ensure
487     that widgets will be created and used instead.
488   * [QTBUG-33039] Does no longer create widgets when using the
489     platform dialog.
490
491 - QFontComboBox:
492   * [QTBUG-1573] Made QFontComboBox locale-sensitive.
493
494 - QFontDialog:
495   * Now has finer-grained control over the types of fonts listed,
496     similar to what QFontComboBox already had.
497
498 - QGestureManager
499   * Now supports Mac OS X native gestures.
500
501 - QGraphicsView etc
502   * Fixed a crash in QGraphicsProxyWidget.
503   * [QTBUG-8061] Allow handling of mouseDoubleClickEvent in
504     QGraphicsItems.
505   * [QTBUG-19036] Make QGraphicsScene::items(QPointF) work using
506     Qt::{Contains,Intersets}ItemBoundingRect with items that contain
507     the point in the bounding rectangle, but not their (custom)
508     shape.
509   * [QTBUG-29945] Fixed drop-shadow and blur effects when using a
510     QGLWidget viewport.
511
512 - QGroupBox:
513   * [QTBUG-33610] The check indicator of a checkable group box is no
514     longer clipped when using a small title font.
515
516 - QHeaderView:
517   * Reduced memory usage by 33%.
518   * [QTBUG-4346] A maximumSize for sections has been introduced. The
519     maximum section size is by default the largest possible section
520     size which in Qt 5.2 has been limited to 1048575 pixels.
521   * [QTBUG-32203] Fixed a painting bug involving hidden and reordered
522     sections.
523
524 - QInputDialog:
525   * Added getMultiLineText static method.
526
527 - QLayout:
528   * Added replaceWidget() function.
529
530 - QLineEdit:
531   * [QTBUG-32061] The cursor is now positioned correctly in an empty
532     line edit with placeholder text.
533   * Keep placeholderText visible when focused, until text is added.
534   * Context-menu actions now have icons.
535   * Made it possible to add side widgets.
536   * Made it possible to add a clear button commonly used for item
537     view filtering as a side widget
538
539 - QListView:
540   * [QTBUG-1180] Dragging an item outside the QListView in icon mode
541     no longer loses the icon. Also fixed a bug where under certain
542     conditions code overriding QAbstractItemView::viewOptions() would
543     not be called.
544   * [QTBUG-21433] Fixed content size calculation when either
545     horizontal or vertical scroll bar policy is always off.
546
547 - QMacStyle:
548   * [QTBUG-31668] Fixed a case where multiple auto-default button
549     animations were running in parallel on OS X
550
551 - QMainWindow:
552   * Added takeCentalWidget() function.
553
554 - QMenu:
555   * Added QMenu::toNSMenu() conversion function (Mac only)
556   * Added QMenu::setAsDockMenu() and qt_mac_set_doc_menu(QMenu *menu)
557     functions (Mac only).
558   * [QTBUG-31664] Moving the mouse over a menu separator now closes
559     any open sub menus.
560
561 - QMenuBar:
562   * [QTBUG-32807] Menus now close again on second click.
563   * Added QMenuBar::toNSMenu() conversion function (Mac only)
564
565 - QMessageBox:
566   * May use native message boxes on some platforms now.
567   * setDetailedText() now works after show().
568   * [QTBUG-2450] Added setCheckBox() function.
569   * [QTBUG-6731] It is now possible to select some or all text from a
570     QMessageBox and copy it to the clipboard.
571
572 - QScrollBar:
573   * Transient scrollbars are now properly shown when starting
574     two-finger scrolling on OS X.
575
576 - QSizePolicy:
577   * Added a retainSizeWhenHidden attribute.
578
579 - QSpinBox:
580   * Values can now be displayed in different bases
581     (cf. displayIntegerBase property)
582   * [QTBUG-31602][QTBUG-34305] Fixed size calculation when
583     stylesheets are used.
584
585 - QSplashScreen:
586   * Added message(), a getter for the currently displayed message.
587
588 - QSplitter:
589   * Now gets the default value of opaqueResize property from (new)
590     QStyle::SH_Splitter_OpaqueResize styleHint.
591
592 - QStyle:
593   * Added SH_ToolTip_WakeUpDelay and SH_ToolTip_FallAsleepDelay.
594   * Fixed SH_ItemView_ActivateItemOnSingleClick not being retrieved
595     correctly from the platform theme.
596
597 - QSystemTrayIcon:
598   * [QTBUG-31762] Fixed position of system tray icon on Linux/X11
599     (except Unity).
600   * [QTBUG-33461] Increased the maximum length of a system tray
601     tooltip on Windows to what it was in Qt 4.
602
603 - QTableView:
604   * [QTBUG-4206] resizeToContents will now adjust to actual contents
605     and not just visible area. QHeaderView::setAutoResizePrecision()
606     has been introduced to control how precise the autoResize should
607     be.
608
609 - QTextEdit:
610   * Added placeholderText akin to QLineEdit.
611   * Context-menu actions now have icons.
612
613 - QToolTip:
614   * Added new showText() overload taking a duration.
615
616 - QTreeView:
617   * Added setTreePosition() function.
618
619 - QWidget:
620   * Added window{Title,Icon,IconText}Changed() signals.
621   * Added toolTipDuration property.
622
623 - QWindowContainer:
624   * [QTBUG-32177] Sets active window correctly now.
625   * [QTBUG-34138] Will not create native child widgets any more.
626
627 - QWindowsVistaStyle:
628   * [QTBUG-26503] Does no longer draw inapplicable scroll bar
629     grippers on Windows 8.
630
631 - QWizard:
632   * [QTBUG-26722] The default background pixmap works again on OS X.
633   * [QTBUG-29924] Gave all buttons an objectName().
634
635****************************************************************************
636*                      Platform Specific Changes                           *
637****************************************************************************
638
639
640Android
641-------
642
643 - Project structure and deployment has changed with the introduction of
644   androiddeployqt. Source and build files are no longer mixed, and the
645   build files for the APK package should not be touched. Customizing
646   the build files is possible. Read the documentation for androiddeployqt
647   for more information.
648 - Status bar visibility is now controlled by Qt, so the window state will
649   override settings in the AndroidManifest.xml. The default is still to
650   show the status bar (QWindow::showMaximized()). Use
651   QWindow::showFullScreen() to hide it.
652 - Implemented support for accessibility on Android.
653 - Implemented support for native action bar backend for menu bars in
654   Qt Quick Controls and Qt Widgets.
655 - Implemented support for native popup menus and comboboxes in Qt Quick
656   Controls.
657 - Implemented support for native message boxes in Qt Widgets.
658 - Several improvements to handling dialogs and multiple top-level
659   windows in Qt Widgets.
660 - Implemented automatic inclusion of necessary permissions in manifest
661   when linking against Qt Multimedia.
662 - Fixed crash on startup when running on Android 4.4.
663 - Add requirement for Android SDK version 13 or higher for building
664   Qt application. Note that this is for building only. The application
665   can still be targeted for devices with SDK versions 9 and up.
666 - Default to target SDK version 14 to disable overflow button in
667   system navigation.
668 - New module: Qt Android Extras. Contains convenience APIs for using
669   JNI, and will in the future include support for Android-specific
670   features which do not fit in a cross-platform API.
671 - Implemented support for thread-affinity in qrand() functions.
672 - Fixed several problems with predictive text in soft keyboard.
673 - Made several improvements to stability.
674 - Implemented support for camera and low-latency audio in Qt Multimedia.
675 - Fixed driver-specific bugs in text rendering in Qt Quick 2.
676 - Added preference in default manifest for installing applications to
677   external storage if possible.
678 - Fixed delivery of key press event for the Back key.
679 - Fixed race condition when showing a window in full screen which would
680   cause it to not be maximized.
681 - Fixed input method hints.
682 - Made font point sizes compatible with the interpretation of point
683   sizes on iOS to ease sharing code between the two platforms.
684 - Added support for QAmbientTemperatureSensor, QPressureSensor
685   and QProximitySensor to Qt Sensors.
686 - Removed dependency on Qt Widgets in default build of Qt Quick Controls.
687
688OS X
689----
690
691 - Added QMaxCocoaViewContainer and QMacNativeWidget classes.
692 - Qt for OS X is now identified by the macro Q_OS_OSX. This complements the
693   existing Q_OS_DARWIN macro (which identifies the open source kernel and
694   could identify non-Apple products) and Q_OS_MAC, which is defined for
695   both OS X and iOS. The old macro Q_OS_MACX is now deprecated.
696 - Qt no longer complains about new versions of OS X that haven't been
697   released yet. This will allow Qt 5.2 and future versions to build on
698   future versions yet to be released. Note that those versions are not
699   supported until official announcement by the Qt Project.
700 - Added a number of functions to QtCore to convert to and from
701   CFString/NSString and QString, CFURL/NSURL and QUrl.
702 - QGestureManager now supports Mac OS X native gestures.
703 - Added QMenu::setAsDockMenu(), QMenu(Bar)::toNSMenu(),
704   qt_mac_set_doc_menu() functions.
705 - [QTBUG-26722] The QWizard default background pixmap works again.
706
707BlackBerry
708----------
709
710 - Cover windows (aka active frames) are now supported. Cover windows must
711   have the Qt::CoverWindow flag set. They are shown when the application
712   is minimized.
713
714Windows
715-------
716
717 - [QTBUG-33409][QTBUG-8764][QTBUG-10032] Fixed virtual key mapping on
718   Windows.
719 - QCoreApplication::arguments() changed the handling of single quotes, double quotes
720   and the backslash character, in order to match what argv[] contains.
721   In particular, single quotes are no longer removed from the argument string.
722   (QTBUG-15379, QTBUG-30628)
723
724X11
725---
726
727 - [QTBUG-31762] Fix position of system tray icon (except Unity)
728 - [QTBUG-27349] Reintroduced command line argument for positioning
729   windows (-geometry)
730
731****************************************************************************
732*                          Tools                                           *
733****************************************************************************
734
735- configure
736
737 * Added option to disable the QtMultimedia WMF backend
738 * [Unix] Added option to build with gcov support
739 * Added -extprefix option to support Qt installing into a different
740   location than the on-device -prefix within the -sysroot.
741 * [QTBUG-33584][Unix] Fixed parsing of -device-option with equal signs.
742
743- cmake config files
744
745 * [QTBUG-33145] Fixed usage of non-QtBase modules with Qt compiled from
746   source tarballs.
747 * [QTBUG-33223] Fixed header file location on multi-arch systems.
748 * Added support for automatic packaging of Qt plugins with cpack.
749
750- qmake
751
752 * [QTBUG-491] Added saner approach to debug/release path rewriting.
753 * Added the parseJson() function.
754 * Added "osx" scope as an alias for "macx". Note that matching on the
755   makespec is generally deprecated - use "linux", "gcc", etc.
756 * Added support for .qmake.stash files which are really *just* caches.
757 * [Xcode] Added support for QMAKE_PRE_LINK and QMAKE_POST_LINK.
758 * [QTBUG-31129] Added installation of PDB files for dlltarget.
759 * [QTBUG-28102] Added support for querying disabled Qt features.
760 * Removed macx-clang-libc++* makespecs. libc++ is now handled automatically.
761 * [QTBUG-32912][MSVS] Fixed moc not being run in case of DBUS_ADAPTORS or
762   DBUS_INTERFACES being present.
763 * [QTBUG-30644] Fixed unsatisfied requires() breaking recursive targets.
764 * [QTBUG-31204] Fixed extra compilers not finding their inputs.
765 * [QTBUG-32885][MSVS] Made it possible to disable debug information.
766 * [QTBUG-33446][MSVS] Fixed generation of VS2010+ solution files.
767 * [QTBUG-32375][MSVS] Fixed output directory of nested projects.
768 * [QTBUG-34392][MSVS] Fixed /SAFESEH:NO with VS2010+.
769 * [QTBUG-34357][MSVS] Fixed breakage with multiple VS versions in PATH.
770 * [MSVS] Fixed sub-project dependency generation.
771
772- moc
773 * Porting moc to QCommandLineParser has changed one specific option in its
774   command line handling: using the -f option without argument
775   is not supported anymore (it wasn't necessary, since including the header
776   file is the default behavior).
777
778