Revision control
++ 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:
++
++
++ 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:
++
++
++ Each of these identifiers can be entered in the bug tracker to obtain more
++ information about a particular change.
++
++ ****************************************************************************
++ * Important Behavior Changes *
++ ****************************************************************************
++
++ - Qt is now compiled with qreal typedef'ed to double on all
++ platforms. qreal was a float on ARM chipsets before. This guarantees more
++ consistent behavior between all platforms Qt supports, but is binary
++ incompatible to Qt 5.1 on ARM. The old behavior can be restored by
++ passing -qreal float to configure.
++ - The supported date range in QDateTime has been reduced to about +/- 292
++ million years, the range supported by the number of msecs since the Unix
++ epoch of 1 Jan 1970 as stored in a qint64, and as able to be used in the
++ setMSecsSinceEpoch() and toMSecsSinceEpoch() methods.
++
++ - QUrl and QUrlQuery:
++ * [QTBUG-31660] QUrl no longer considers all delimiter characters
++ equivalent to their percent-encoded forms. Now, both classes always
++ keep all delimiters exactly as they were in the original URL text.
++ * [QTBUG-31660] QUrl no longer decodes %7B and %7D to "{" and "}" in the
++ output of toString()
++ * QUrl no longer supports QUrl::FullyDecoded mode in authority() and
++ userInfo(), nor QUrl::DecodedMode in setAuthority() and setUserInfo().
++ * [QTBUG-31945] QUrl no longer decodes %23 found in the fragment to "#"
++ in the output of toString(QUrl::FullyEncoded) or toEncoded()
++ * QUrl now defaults to decoded mode in the getters and setters for
++ userName, password, host, topLevelDomain, path and fileName. This
++ means a '%' in one of those fields is now returned (or set) as '%'
++ rather than "%25". In the unlikely case where the former behavior was
++ expected, pass PrettyDecoded to the getter and TolerantMode to the
++ setter.
++ * QUrl now normalizes the path given in setPath, removing ./ and ../ and
++ duplicate slashes.
++
++ - QWheelEvent has gained a "phase" attribute and may now be sent with
++ zero delta() in order to indicate beginning and end of transient
++ scrolling.
++
++ - Mac OS X framework builds of Qt no longer contain a Unix-like include/
++ directory; all headers are located in the frameworks. This may affect
++ 3rd party build systems not based on qmake or cmake.
++
++ ****************************************************************************
++ * Platform deprecation notice *
++ ****************************************************************************
++
++ - The support for the old implementation of QAtomicInt and
++ QAtomicPointer is deprecated in Qt 5.2 and will be removed in Qt
++ 5.3. Building with the following compilers or environments will not
++ be possible in Qt 5.3 or the build will suffer greatly in
++ performance, unless support is revived by writing new atomics code.
++ * Green Hills compiler for INTEGRITY
++ * Sun Studio compiler suite for Solaris
++ * IBM Visual Age compiler suite for AIX
++ * Kernel-mode VxWorks
++
++ Developers interested in picking up support should contact the
++ development mailing list at development@qt-project.org for more
++ information. Note that those platforms are currently not tested. Most
++ likely, they have further problems than just the atomics code.
++
++ ****************************************************************************
++ * Library *
++ ****************************************************************************
++
++ QtCore
++ ------
++
++ - Added QCollator, a class to collate Unicode strings.
++ - Added QCommandLineParser, a class to parse command lines.
++ - Added QFileSelector, a class to select platform-specific file assets.
++ - Added QLoggingCategory and related functions for logging
++ - [QTBUG-23946] Fixed a bug that prevented Qt from being built in a
++ namespace on Mac OS X.
++ - Updated the locale database to CLDR 23.1
++ - Added support for ARMv8 64-bit mode.
++
++ - Metatype system (QMetaType & QVariant):
++ * Qt now handles metatypes automatically for std::vector, std::list,
++ std::pair and std::map
++ * The metatype system now supports registering explicit conversion
++ functions via QMetaType::registerConverter
++ * The metatype system now supports iteration over a container type via
++ QSequentialIterable and QAssociativeIterable
++ * Registering the same type name twice will now print only a warning (as
++ opposed to aborting the execution of the program)
++
++ - Qt Containers:
++ * In debug mode, the Qt containers will now verify whether the iterators
++ passed to most mutating functions belong to the iterator in question.
++ * Fixed a number of bugs that would modify shared containers when calling
++ erase(), under corner-case conditions.
++
++ - QtAlgorithms
++ With STL no longer being optional for building and using Qt, a number of parts
++ of QtAlgorithms no longer make sense, and have therefore been deprecated.
++
++ Replacements are available in the STL, and generally have much better
++ performance, but are not instantly source-compatible in all cases. For
++ instance, specialization of qLess or qSwap means that a direct port to
++ std::sort from qSort may not be possible, as std::sort does not use any of
++ them; a possible workaround is explicitly passing a qLess functor to
++ std::sort:
++
++ std::sort(container.begin(), container.end(), qLess<T>());
++
++ The functions in QtAlgorithms that have been deprecated, along with their
++ STL counterparts, are:
++ - qBinaryFind (std::binary_search / std::lower_bound)
++ - qCopy (std::copy)
++ - qCopyBackward (std::copy_backward)
++ - qEqual (std::equal)
++ - qFill (std::fill)
++ - qFind (std::find)
++ - qCount (std::count)
++ - qSort (std::sort)
++ - qStableSort (std::stable_sort)
++ - qLowerBound (std::lower_bound)
++ - qUpperBound (std::upper_bound)
++ - qLess (std::less)
++ - qGreater (std::greater)
++
++ - QByteArray:
++ * Added QByteArray::Base64Url and QByteArray::OmitTrailingEquals flags
++ for QByteArray::toBase64 and fromBase64.
++ * [QTBUG-34694] Fixed a bug that would cause QByteArray to overflow some
++ size calculations.
++
++ - QCoreApplication:
++ * [QTBUG-15379][QTBUG-30628] Fixed a bug that caused Qt to mis-parse a
++ command-line argument like -DKEY=\"VALUE\" on Windows.
++
++ - QDateTime:
++ * [QTBUG-26161][QTBUG-29666] Fully implement support for Qt::TimeSpec of
++ Qt::OffsetFromUTC, added new methods for offsetFromUTC(),
++ toTimeSpec(), and toOffsetFromUTC().
++ * Added convenience methods for fromMSecsSinceEpoch() and fromTime_t()
++ to take time spec to be used in returned datetime.
++ * Add method timeZoneAbbreviation() to return effective time zone
++ abbreviation.
++ * The debug datastream is now an ISO-like format instead of Qt::TextDate
++ * The Standard Time to Daylight Time transition for Qt::LocalTime is now
++ handled correctly. Any date set in the "missing" hour is now
++ considered invalid. All date math results that fall into the missing
++ hour will be automatically adjusted to a valid time in the following
++ hour.
++ * Added new method isDaylightTime() to return if the datetime is in
++ Daylight Time or not.
++ * Added support for a new Qt::TimeZone spec to be used with QTimeZone to
++ define times in a specific time zone.
++ * Added Qt::RFC2822Date format that can be passed to QDateTime and
++ QLocale formatters and parsers.
++ * Fixed a bug that caused QDate::toString() to return empty for dates
++ with years beyond 9999.
++
++ - QFileSystemWatcher:
++ * [QTBUG-33211] Fixed a bug that caused QFileSystemWatcher to emit change
++ notifications with the wrong path on Linux.
++
++ - QJson:
++ * [QTBUG-33229] The Writer and the Parser now fully accept non-character
++ unicode points.
++ * The Writer will no longer write inf, -inf and nan for infinites and NaN
++ values, which resulted in parsing back as strings. Instead, it will now
++ output null.
++ * The Writer now emits numeric values with full numeric precision. This
++ also allows QJson to support integer values with no loss of precision
++ up to 2^53.
++
++ - QJsonValue:
++ * Added QJsonValue::toInt(). QJsonValue can store 32-bit signed integers
++ with no loss of precision.
++
++ - QObject:
++ * New-style signal connections to functors, lambdas, and static functions
++ now works with a receiver object. The connection will be removed when
++ the either the sender or receiver objects are destroyed.
++
++ - QPluginLoader:
++ * QPluginLoader will no longer load the plugins on Mac OS X and iOS
++ systems when scanning for valid plugins.
++ * Added QPluginLoader::staticPlugins(), which returns the list of
++ built-in plugins (linked to the executable and any loaded libraries).
++
++ - QProcess:
++ * [QTBUG-32958] Fixed a bug that would cause QProcess to crash if
++ waitForStarted() were called after an unsuccessful start()
++ * Added QProcess::nullDevice(), which returns the platform's "blackhole"
++ device (/dev/null on Unix, NUL on Windows). This can be used with
++ QProcess::setStandardOutputFile.
++ * Added enum values QProcess::ForwardedOutputChannel and
++ QProcess::ForwardedErrorChannel, which allow for more fine-grained
++ control over which channel is forwarded and which one is captured.
++ * Added QProcess::ForwardedInputChannel, which allows for stdin to be
++ forwarded to this process's input.
++ * [QTBUG-32979] On Unix, QProcess now correctly forwards the siginfo_t
++ and context parameters of the signal handler to the previous handler.
++
++ - QScopedPointer:
++ * Added QScopedPointerDeleteLater, a new class that can be used as the
++ second template to QScopedPointer and will call deleteLater() on the
++ pointer when it goes out of scope.
++
++ - QSocketNotifier:
++ * Fixed a bug that caused socket notifiers not to be re-enabled after
++ they had been activated on BlackBerry.
++
++ - QStandardPaths:
++ * QStandardPaths::enableTestMode is deprecated and is replaced by
++ QStandardPaths::setTestModeEnabled.
++ * Added QStandardPaths::GenericConfigLocation, which refers to a location
++ where applications can store config files to be shared with other
++ applications.
++
++ - QThread:
++ * Added an advisory interrupt mechanism (QThread::requestInterruption and
++ QThread::isInterruptionRequested).
++
++ - QThreadPool:
++ * Added method clear() to remove any queued QRunnables.
++ * Fixed a number of race conditions.
++
++ - QTime:
++ * [QTBUG-30250] When calling QTime::toString(Qt::TextDate) and
++ QTime::toString(Qt::ISODate), milliseconds are now included in
++ the returned string. This also applies to
++ QDateTime::toString(Qt::TextDate) and
++ QDateTime::toString(ISODate).
++ * Added new methods fromMSecsSinceStartOfDay() to create a new QTime
++ from an msecs value, and msecsSinceStartOfDay() to return the QTime as
++ the number of msecs since the start of the day.
++
++ - QTimeZone:
++ * Added new QTimeZone class to support time tone calculations using the
++ host platform time zone database and the Olsen time zone ID's.
++
++ - QUrl:
++ * [QTBUG-33229] QUrl now fully accepts non-character unicode points;
++ they are encoded as percent characters; they can also be pretty
++ decoded
++ * Added QUrl::RemoveFilename flag which can be passed to path(),
++ authority() and toString() and will cause the filename part of the path
++ (the contents after the last '/') to be removed.
++ * Added QUrl::fileName(), which returns just the filename part of the
++ path.
++ * Added QUrl::NormalizePathSegments flag, which will cause QUrl to
++ remove "/./" or "/../" sequences as much as possible. It will not
++ remove "/../" from the beginning of the path.
++ * Added QUrl::adjusted(), which returns a new QUrl with certain parts of
++ the original URL removed or normalized.
++ * Added QUrl::matches(), which can be used to compare parts of two URLs
++ or to compare two URLs after normalization.
++
++ - QUtf8:
++ * [QTBUG-33229] UTF-8 now accepts non-character unicode points; these
++ are not replaced by the replacement character anymore
++
++ - QVariant:
++ * Fixed QVariant::canConvert with longlong
++ * Variant containing enum types can now be converted to integer
++ * [QTBUG-33981] Fixed a bug that would cause QPolygonF to be saved or
++ loaded incorrectly in QDataStream.
++
++ QtDBus
++ ------
++
++ - Improved error handling so as to give more feedback to the developer when
++ certain marshalling or demarshalling actions fail.
++ - [QTBUG-27809] Fixed some race conditions related to delivering method
++ reply deliveries.
++ - Fixed a bug that made non-slot invokables not get listed in the
++ auto-generated introspections.
++
++ QtDeclarative
++ -------------
++
++ - ColorDialog:
++ * Added currentColor property.
++
++ - [QTBUG-32928] ShortcutOverride events now work for QQuickItem
++ subclasses
++
++ QtGui
++ -----
++
++ - Accessibility classes are now public allowing accessibility
++ information for custom widgets/QQuickItems
++
++ - Session Management:
++ * [QTBUG-28228] The new QPlatformSessionManager class brings back
++ the session management functionality. It allows the
++ implementation of platform specific behavior related to session
++ management. For platform that don't support this feature the
++ default behavior has not changed. Both X11 and Windows session
++ management are supported.
++
++ - QPolygonF:
++ * When a QVariant holds a QPolygonF() then it will be correctly seen as
++ a null QVariant.
++
++ - QImage:
++ * Added three byte-ordered RGBA8888 format that simplifies interaction
++ with OpenGL and other technologies that internally using RGBA formats.
++
++ - [QTBUG-27349] Reintroduced command line argument for positioning
++ windows (-geometry on X11, -qwindowgeometry on other platforms)
++
++ - [QTBUG-28832] Fixed regression from Qt 4 when using
++ QTextOption::ShowLineAndParagraphSeparators.
++
++ QtNetwork
++ ---------
++
++ - API was added to store and resume TLS session tickets.
++ - The minimum support openssl version has been increased to openssl
++ 1.0. The code to support older versions has not been removed, but is no
++ longer supported.
++ - An off-by-one error in NTLM proxy authentication has been fixed.
++ - Various improvements to reduce the memory used by qtnetwork have been
++ made.
++ - Improved support for HTTP proxy authentication.
++ - Support for preconnecting to servers before making HTTP and HTTPS
++ connections. This allows for much reduced latency when the hosts to be
++ connected to are known.
++
++ QtPrintSupport
++ --------------
++
++ - QPrintDialog:
++ * Added support for setting CUPS job options in the print dialog.
++ * Added support for setting CUPS Banner pages in the print dialog.
++ * Added support for setting CUPS Page Set (even/odd pages only) in the
++ print dialog.
++ * Added support for setting CUPS Pages Per Sheet and Pages Per Sheet
++ Layout options
++ * Added CUPS server-side print range support for apps that can't support
++ print range option themselves
++
++ QtSql
++ -----
++
++ Changes in Qt 5.1.0 (missing from released changelog dist/changes-5.1.0)
++ - [QTBUG-28088] Remove dependency of DB driver headers on qsqlcachedresult_p.h.
++ - Deprecate QSqlError setters. The constructor is sufficient, since it has
++ a parameter for each member variable.
++ - Rename the SQL driver header files to _p.h (make private)
++ The drivers were never public API. They were exposed by mistake in
++ public headers. What's more, they have #include'd a private header
++ (qsqlcachedresult_p.h) since at least Qt 4.5.1. That means no one used
++ those headers in Qt 4 (private headers weren't installed then) and
++ it's unlikely anyone did in 5.0.
++ - ODBC: Implemented lastInsertId() for some ODBC compatible databases.
++ - PSQL: Make lastInsertID work for tables without OIDs.
++ - [QTBUG-14904] SQLITE: Fix for Sql query aliases with dots
++ - [QTBUG-2192] ODBC: fix loss of milliseconds when binding QDateTime
++ - [QTBUG-30076] PSQL: escape backslashes only when server requires it
++ IMPORTANT: Applications that implemented their own workarounds must be
++ updated to avoid misbehavior and SQL injection vulnerabilities.
++ - [QTBUG-10569] ODBC: fixed QODBCResult::exec() return value for DELETE
++ operations when no rows are affected.
++ - ODBC: Fixed loss of column metadata on SQL_NO_DATA.
++ - QSqlTableModel: expose methods for getting primary values.
++ - ODBC: Fixed possible cause of spurious errors (commit af35ee291a1bbbc8)
++
++ Changes in Qt 5.2.0
++ - [QTBUG-29261] IBASE: Construct a valid QTime when creating timestamps for
++ iBase SQL driver.
++ - [QTBUG-33389] PSQL: Format QDateTime following ISO8601.
++ - Add QSQLITE_OPEN_URI option to QSQLITE driver
++
++ QtWidgets
++ ---------
++
++ - Added class QKeySequenceEdit.
++ - Added QMaxCocoaViewContainer and QMacNativeWidget classes.
++ - [QTBUG-1016] Added API to control tool tip timing via:
++ * new QToolTip::showTip() overload
++ * QWidget::toolTipDuration() property.
++ * QStyle::SH_ToolTip_WakeUpDelay and SH_ToolTip_FallAsleepDelay
++ style hints.
++ - [QTBUG-30255] Fixed a bug where spans across empty cells in a grid
++ layout got broken.
++ - [QTBUG-31569] WA_QuitOnClose now works even if there are other
++ windows that don't have it set.
++ - [QTBUG-32788] Properly handles Qt::WidgetWithChildrenShortcut
++ shortcuts in MDI subwindows now.
++ - [QTBUG-33078] QWidget::setWindowOpacity() now works when called
++ before QWidget::show().
++ - [QTBUG-33104] Fixed a bug where layout items with a Preferred size
++ policy would be treated as fixed size, if mixed with Expanding
++ items having maximumSize set.
++ - [QTBUG-33247] Changed accessible trees and tables to always expose
++ hidden headers, instead of only exposing the visible headers.
++ - [QTBUG-34007] Fixed a crash in tablet support.
++ - Fixed a bug where the maximum size hint of a layout with spans was
++ wrong.
++ - Item delegates now cycle through all three states of tri-state
++ checkboxes, the same way QCheckBox itself does.
++
++ - QAbstractItemView:
++ * [QTBUG-7232] In ItemViews scrollbars will now by default only
++ scroll 1 pixel when scrollMode is set to scrollPerPixel. That is
++ it will (when scrollMode is scrollPerPixel) do what is stated in
++ the documentation, and no longer automatically adjust the
++ scrollbar's singleStep. The user can now control that value.
++
++ - QAbstractScrollArea:
++ * QAbstractScrollArea now has a SizeAdjustPolicy. If it is set to
++ AdjustToContents it will make use of the protected viewportSizeHint()
++ virtual function. This function returns a suggested size based on
++ contents. Note that although the viewportSizeHint() virtual function
++ was reserved in 5.0, user code was not supposed to be overriding it
++ (as the function was private and undocumented). Code that was
++ overriding viewportSizeHint() needs to be recompiled against 5.2 for
++ this feature to work correctly.
++
++ - QButtonGroup:
++ * [QTBUG-14857] Added buttonToggled() signals.
++
++ - QColorDialog:
++ * Added a web color QLineEdit.
++ * [QTBUG-14332] Added a screen color picker button.
++ * [QTBUG-31998] Does no longer create widgets when using the
++ platform dialog.
++ * [QTBUG-32054] Fixed a bug with keyboard navigation.
++
++ - QComboBox:
++ * [QTBUG-31146] Fixed selection of items with identical text in
++ popup completion.
++ * Added currentData() convenience function which allows to retrieve
++ the user data set for the current item.
++
++ - QCompleter:
++ * [QTBUG-3414] Added filterMode property.
++ * The activated() signal now passes invalid indexes instead of
++ random bogus ones when falling back to the completion prefix.
++
++ - QDesktopWidget:
++ * [QTBUG-32567] Fixed emission of workAreaResized() signal.
++
++ - QDialogButtonBox:
++ * Added a (StandardButtons,QWidget*) constructor.
++
++ - QDockWidget:
++ * [QTBUG-31044] The position of a dock widget is now kept when
++ undocking.
++ * [QTBUG-32260] Fixed a bug where visibilityChanged was signaled
++ wrongly in certain multi-screen setups.
++
++ - QFileDialog:
++ * setDefaultSuffix() now removes leading dot characters.
++ * Introduced DontUseCustomDirectoryIcons. This improves the file
++ dialog performance under Windows for the case where there are
++ lots of folders. Went from taking 60 seconds to 2 seconds, on a
++ SDCard with 10k folders.
++ * Added setMimeTypeFilters() for mimetype-based filtering, as an
++ alternative to pattern matching.
++ * Fixed removing of directories containing hidden or system files.
++ * Added QUrl-based API for remote files.
++ * [QTBUG-13182] Improved performance on Windows by
++ + not resolving NTFS symlinks (15x speedup on pessimistic
++ workloads) and
++ + using extensions over calling GetFileAttributesEx() in certain
++ cases.
++ * [QTBUG-29403] Fixed potential crash in destructor of
++ ~QFileInfoGather in threaded applications.
++ * [QTBUG-34132] QFileDialog does no longer instantiate widgets if a
++ native dialog will be used instead. Therefore some accessors
++ which previously returned unused objects will now return null.
++ As before, you can set the DontUseNativeDialog option to ensure
++ that widgets will be created and used instead.
++ * [QTBUG-33039] Does no longer create widgets when using the
++ platform dialog.
++
++ - QFontComboBox:
++ * [QTBUG-1573] Made QFontComboBox locale-sensitive.
++
++ - QFontDialog:
++ * Now has finer-grained control over the types of fonts listed,
++ similar to what QFontComboBox already had.
++
++ - QGestureManager
++ * Now supports Mac OS X native gestures.
++
++ - QGraphicsView etc
++ * Fixed a crash in QGraphicsProxyWidget.
++ * [QTBUG-8061] Allow handling of mouseDoubleClickEvent in
++ QGraphicsItems.
++ * [QTBUG-19036] Make QGraphicsScene::items(QPointF) work using
++ Qt::{Contains,Intersets}ItemBoundingRect with items that contain
++ the point in the bounding rectangle, but not their (custom)
++ shape.
++ * [QTBUG-29945] Fixed drop-shadow and blur effects when using a
++ QGLWidget viewport.
++
++ - QGroupBox:
++ * [QTBUG-33610] The check indicator of a checkable group box is no
++ longer clipped when using a small title font.
++
++ - QHeaderView:
++ * Reduced memory usage by 33%.
++ * [QTBUG-4346] A maximumSize for sections has been introduced. The
++ maximum section size is by default the largest possible section
++ size which in Qt 5.2 has been limited to 1048575 pixels.
++ * [QTBUG-32203] Fixed a painting bug involving hidden and reordered
++ sections.
++
++ - QInputDialog:
++ * Added getMultiLineText static method.
++
++ - QLayout:
++ * Added replaceWidget() function.
++
++ - QLineEdit:
++ * [QTBUG-32061] The cursor is now positioned correctly in an empty
++ line edit with placeholder text.
++ * Keep placeholderText visible when focused, until text is added.
++ * Context-menu actions now have icons.
++ * Made it possible to add side widgets.
++ * Made it possible to add a clear button commonly used for item
++ view filtering as a side widget
++
++ - QListView:
++ * [QTBUG-1180] Dragging an item outside the QListView in icon mode
++ no longer loses the icon. Also fixed a bug where under certain
++ conditions code overriding QAbstractItemView::viewOptions() would
++ not be called.
++ * [QTBUG-21433] Fixed content size calculation when either
++ horizontal or vertical scroll bar policy is always off.
++
++ - QMacStyle:
++ * [QTBUG-31668] Fixed a case where multiple auto-default button
++ animations were running in parallel on OS X
++
++ - QMainWindow:
++ * Added takeCentalWidget() function.
++
++ - QMenu:
++ * Added QMenu::toNSMenu() conversion function (Mac only)
++ * Added QMenu::setAsDockMenu() and qt_mac_set_doc_menu(QMenu *menu)
++ functions (Mac only).
++ * [QTBUG-31664] Moving the mouse over a menu separator now closes
++ any open sub menus.
++
++ - QMenuBar:
++ * [QTBUG-32807] Menus now close again on second click.
++ * Added QMenuBar::toNSMenu() conversion function (Mac only)
++
++ - QMessageBox:
++ * May use native message boxes on some platforms now.
++ * setDetailedText() now works after show().
++ * [QTBUG-2450] Added setCheckBox() function.
++ * [QTBUG-6731] It is now possible to select some or all text from a
++ QMessageBox and copy it to the clipboard.
++
++ - QScrollBar:
++ * Transient scrollbars are now properly shown when starting
++ two-finger scrolling on OS X.
++
++ - QSizePolicy:
++ * Added a retainSizeWhenHidden attribute.
++
++ - QSpinBox:
++ * Values can now be displayed in different bases
++ (cf. displayIntegerBase property)
++ * [QTBUG-31602][QTBUG-34305] Fixed size calculation when
++ stylesheets are used.
++
++ - QSplashScreen:
++ * Added message(), a getter for the currently displayed message.
++
++ - QSplitter:
++ * Now gets the default value of opaqueResize property from (new)
++ QStyle::SH_Splitter_OpaqueResize styleHint.
++
++ - QStyle:
++ * Added SH_ToolTip_WakeUpDelay and SH_ToolTip_FallAsleepDelay.
++ * Fixed SH_ItemView_ActivateItemOnSingleClick not being retrieved
++ correctly from the platform theme.
++
++ - QSystemTrayIcon:
++ * [QTBUG-31762] Fixed position of system tray icon on Linux/X11
++ (except Unity).
++ * [QTBUG-33461] Increased the maximum length of a system tray
++ tooltip on Windows to what it was in Qt 4.
++
++ - QTableView:
++ * [QTBUG-4206] resizeToContents will now adjust to actual contents
++ and not just visible area. QHeaderView::setAutoResizePrecision()
++ has been introduced to control how precise the autoResize should
++ be.
++
++ - QTextEdit:
++ * Added placeholderText akin to QLineEdit.
++ * Context-menu actions now have icons.
++
++ - QToolTip:
++ * Added new showText() overload taking a duration.
++
++ - QTreeView:
++ * Added setTreePosition() function.
++
++ - QWidget:
++ * Added window{Title,Icon,IconText}Changed() signals.
++ * Added toolTipDuration property.
++
++ - QWindowContainer:
++ * [QTBUG-32177] Sets active window correctly now.
++ * [QTBUG-34138] Will not create native child widgets any more.
++
++ - QWindowsVistaStyle:
++ * [QTBUG-26503] Does no longer draw inapplicable scroll bar
++ grippers on Windows 8.
++
++ - QWizard:
++ * [QTBUG-26722] The default background pixmap works again on OS X.
++ * [QTBUG-29924] Gave all buttons an objectName().
++
++ ****************************************************************************
++ * Platform Specific Changes *
++ ****************************************************************************
++
++
++ Android
++ -------
++
++ - Project structure and deployment has changed with the introduction of
++ androiddeployqt. Source and build files are no longer mixed, and the
++ build files for the APK package should not be touched. Customizing
++ the build files is possible. Read the documentation for androiddeployqt
++ for more information.
++ - Status bar visibility is now controlled by Qt, so the window state will
++ override settings in the AndroidManifest.xml. The default is still to
++ show the status bar (QWindow::showMaximized()). Use
++ QWindow::showFullScreen() to hide it.
++ - Implemented support for accessibility on Android.
++ - Implemented support for native action bar backend for menu bars in
++ Qt Quick Controls and Qt Widgets.
++ - Implemented support for native popup menus and comboboxes in Qt Quick
++ Controls.
++ - Implemented support for native message boxes in Qt Widgets.
++ - Several improvements to handling dialogs and multiple top-level
++ windows in Qt Widgets.
++ - Implemented automatic inclusion of necessary permissions in manifest
++ when linking against Qt Multimedia.
++ - Fixed crash on startup when running on Android 4.4.
++ - Add requirement for Android SDK version 13 or higher for building
++ Qt application. Note that this is for building only. The application
++ can still be targeted for devices with SDK versions 9 and up.
++ - Default to target SDK version 14 to disable overflow button in
++ system navigation.
++ - New module: Qt Android Extras. Contains convenience APIs for using
++ JNI, and will in the future include support for Android-specific
++ features which do not fit in a cross-platform API.
++ - Implemented support for thread-affinity in qrand() functions.
++ - Fixed several problems with predictive text in soft keyboard.
++ - Made several improvements to stability.
++ - Implemented support for camera and low-latency audio in Qt Multimedia.
++ - Fixed driver-specific bugs in text rendering in Qt Quick 2.
++ - Added preference in default manifest for installing applications to
++ external storage if possible.
++ - Fixed delivery of key press event for the Back key.
++ - Fixed race condition when showing a window in full screen which would
++ cause it to not be maximized.
++ - Fixed input method hints.
++ - Made font point sizes compatible with the interpretation of point
++ sizes on iOS to ease sharing code between the two platforms.
++ - Added support for QAmbientTemperatureSensor, QPressureSensor
++ and QProximitySensor to Qt Sensors.
++ - Removed dependency on Qt Widgets in default build of Qt Quick Controls.
++
++ OS X
++ ----
++
++ - Added QMaxCocoaViewContainer and QMacNativeWidget classes.
++ - Qt for OS X is now identified by the macro Q_OS_OSX. This complements the
++ existing Q_OS_DARWIN macro (which identifies the open source kernel and
++ could identify non-Apple products) and Q_OS_MAC, which is defined for
++ both OS X and iOS. The old macro Q_OS_MACX is now deprecated.
++ - Qt no longer complains about new versions of OS X that haven't been
++ released yet. This will allow Qt 5.2 and future versions to build on
++ future versions yet to be released. Note that those versions are not
++ supported until official announcement by the Qt Project.
++ - Added a number of functions to QtCore to convert to and from
++ CFString/NSString and QString, CFURL/NSURL and QUrl.
++ - QGestureManager now supports Mac OS X native gestures.
++ - Added QMenu::setAsDockMenu(), QMenu(Bar)::toNSMenu(),
++ qt_mac_set_doc_menu() functions.
++ - [QTBUG-26722] The QWizard default background pixmap works again.
++
++ BlackBerry
++ ----------
++
++ - Cover windows (aka active frames) are now supported. Cover windows must
++ have the Qt::CoverWindow flag set. They are shown when the application
++ is minimized.
++
++ Windows
++ -------
++
++ - [QTBUG-33409][QTBUG-8764][QTBUG-10032] Fixed virtual key mapping on
++ Windows.
++ - QCoreApplication::arguments() changed the handling of single quotes, double quotes
++ and the backslash character, in order to match what argv[] contains.
++ In particular, single quotes are no longer removed from the argument string.
++ (QTBUG-15379, QTBUG-30628)
++
++ X11
++ ---
++
++ - [QTBUG-31762] Fix position of system tray icon (except Unity)
++ - [QTBUG-27349] Reintroduced command line argument for positioning
++ windows (-geometry)
++
++ ****************************************************************************
++ * Tools *
++ ****************************************************************************
++
++ - configure
++
++ * Added option to disable the QtMultimedia WMF backend
++ * [Unix] Added option to build with gcov support
++ * Added -extprefix option to support Qt installing into a different
++ location than the on-device -prefix within the -sysroot.
++ * [QTBUG-33584][Unix] Fixed parsing of -device-option with equal signs.
++
++ - cmake config files
++
++ * [QTBUG-33145] Fixed usage of non-QtBase modules with Qt compiled from
++ source tarballs.
++ * [QTBUG-33223] Fixed header file location on multi-arch systems.
++ * Added support for automatic packaging of Qt plugins with cpack.
++
++ - qmake
++
++ * [QTBUG-491] Added saner approach to debug/release path rewriting.
++ * Added the parseJson() function.
++ * Added "osx" scope as an alias for "macx". Note that matching on the
++ makespec is generally deprecated - use "linux", "gcc", etc.
++ * Added support for .qmake.stash files which are really *just* caches.
++ * [Xcode] Added support for QMAKE_PRE_LINK and QMAKE_POST_LINK.
++ * [QTBUG-31129] Added installation of PDB files for dlltarget.
++ * [QTBUG-28102] Added support for querying disabled Qt features.
++ * Removed macx-clang-libc++* makespecs. libc++ is now handled automatically.
++ * [QTBUG-32912][MSVS] Fixed moc not being run in case of DBUS_ADAPTORS or
++ DBUS_INTERFACES being present.
++ * [QTBUG-30644] Fixed unsatisfied requires() breaking recursive targets.
++ * [QTBUG-31204] Fixed extra compilers not finding their inputs.
++ * [QTBUG-32885][MSVS] Made it possible to disable debug information.
++ * [QTBUG-33446][MSVS] Fixed generation of VS2010+ solution files.
++ * [QTBUG-32375][MSVS] Fixed output directory of nested projects.
++ * [QTBUG-34392][MSVS] Fixed /SAFESEH:NO with VS2010+.
++ * [QTBUG-34357][MSVS] Fixed breakage with multiple VS versions in PATH.
++ * [MSVS] Fixed sub-project dependency generation.
++
++ - moc
++ * Porting moc to QCommandLineParser has changed one specific option in its
++ command line handling: using the -f option without argument
++ is not supported anymore (it wasn't necessary, since including the header
++ file is the default behavior).
++