From 0792943d59eaa41f5e04b6ccaf39322eb8657f2a Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@intel.com>
Date: Tue, 18 Nov 2014 21:30:45 -0800
Subject: [PATCH] Update the ChangeLog for 5.4.0 for the rest of qtbase

Change-Id: I255892a9c84a8d873195f9440f9c1808cbe2b5a8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
---
 dist/changes-5.4.0 | 443 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 437 insertions(+), 6 deletions(-)

diff --git a/dist/changes-5.4.0 b/dist/changes-5.4.0
index 614f57afe29..f9899044844 100644
--- a/dist/changes-5.4.0
+++ b/dist/changes-5.4.0
@@ -16,26 +16,398 @@ Each of these identifiers can be entered in the bug tracker to obtain more
 information about a particular change.
 
 ****************************************************************************
-*                          Library                                         *
+*                          Deprecation Notice                              *
 ****************************************************************************
 
+ - The Q_COMPILER_xxx macros for C++14 compiler features introduced in Qt
+   5.3 are deprecated and will not be updated for new compilers either.
+   User code should be changed to use the macros from Standing Document 6
+   instead:
+   http://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations.
+   This does not affect C++11 feature macros.
+
+****************************************************************************
+*                        Important Behavior Changes                        *
+****************************************************************************
+
+ - QExplicitelySharedDataPointer's copy constructor which performs a
+   static_cast from "X *" to "T *" (when constructing a
+   QExplicitlySharedDataPointer<T> from a QExplicitlySharedDataPointer<X>)
+   doesn't perform a static_cast from "X *" to "T *" any more. Instead, an
+   implicit cast is now performed. This change will break compilation of code
+   that relied on the downcast (i.e.  cast towards a more derived type) of the
+   templated type when copy constructing a QExplicitelySharedDataPointer
+   object. Please refer to the class documentation for more information about
+   this issue and a workaround to keep old code compiling.
+ - QImageReader now automatically rotates JPEG images according to Exif
+   orientation
+ - [QTBUG-18980] HarfBuzz-NG is now the default shaper on all platforms.
+   This results in a better shaping results for various languages, better
+   performance, and lower memory consumption.
+ - [QTBUG-41858] Changed QStringRef::right() to be consistent with
+   QString::right(). The function now returns the N right-most characters,
+   like the documentation already claimed.
+ - The mutable Java-style iterators like QListMutableIterator and
+   QHashMutableIterator no longer set the parent container to unsharable
+   mode. If you create a copy of the container being iterated on after the
+   iterator, any changes done with the iterator might affect the copy too.
+
+ - Logging (including qDebug and qWarning):
+   * Support for the deprecated environment variables QT_NO_JOURNALD_LOG
+     and QT_ANDROID_PLAIN_LOG has been removed. Instead, set
+     QT_LOGGING_TO_CONSOLE to 1 to force logging to the console (stderr).
+     Set that variable to 0 to force logging to the system-specific event
+     log (if any).
+   * [QTCREATORBUG-12564] Log output will now go to the system log (if
+     support for it was compiled into Qt) if the application has no
+     controlling terminal or console window. Set QT_LOGGING_TO_CONSOLE to 1
+     to force logging to go to stderr.
+
+ - QSettings:
+   * [QTBUG-41812] QSettings::value() now returns an invalid QVariant when
+     passing an empty key. The code path ran into an assert, which was only
+     noticeable in debug builds.
+   * [QTBUG-21739] The locking mechanism inside QSettings has changed
+     and is no longer compatible with the one of previous versions of
+     Qt. There might be corruption if two applications running different
+     versions of Qt are writing to the same config file at the same
+     time. You must also now have write permissions in the directory
+     containing the settings file in order to write settings.
+
+****************************************************************************
+*                               Library                                    *
+****************************************************************************
+
+QtConcurrent
+------------
+
+ - [QTBUG-17220] run() now optionally takes as its first argument the
+   QThreadPool to run the task on.
+
 QtCore
 ------
 
  - Added QEnableSharedFromThis, a class that allows obtaining a
    QSharedPointer for an object already managed by a shared pointer.
+ - Added qHashBits() to aid implementing qHash() overloads for custom
+   types.
+ - Added new QByteArrayList class.
+ - Added QStorageInfo class to retrive information about mounted volumes
+   and drives
+
+ - Logging:
+   * QT_MESSAGE_PATTERN can include a backtrace using %{backtrace}
+   * Added QtMsgType argument to QLoggingCategory constructor and
+     Q_LOGGING_CATEGORY macro that controls the default category
+     configuration.
+   * File, line, function information are not recorded anymore for logging
+     statements in release builds. Set QT_MESSAGELOGCONTEXT explicitly to
+     enable recording in all configurations.
+
+ - QAbstractProxyModel:
+   * [QTBUG-39549] QAbstractProxyModel now forwards the drop-related API.
+
+ - QByteArray:
+   * Added convenience methods to convert directly to and from std::string.
+   * Fixed a bug that would cause QByteArray to stop converting toUpper or
+     toLower at the first embedded null character.
+
+ - QCommandLineParser:
+   * Added addOptions() method.
+
+ - QElapsedTimer:
+   * Is no longer a POD; its default constructor now initializes the object to
+     an invalid QElapsedTimer
+
+ - QFlags:
+   * [QTBUG-39786] Added initializer_list constructor
+
+ - QFuture:
+   * [QTBUG-17220] Can now be used with any QThreadPool, not just
+     globalInstance().
+
+ - QPair:
+   * Can now be used in C++11 constexpr contexts.
+
+ - QSaveFile:
+   * Now follows symbolic links when writing to a link instead of
+     replacing the link with the contents.
+
+ - QSettings:
+   * [QTBUG-21739] Fixed data loss while writing the config to the disk
+     fails.
+
+ - QStandardPaths:
+   * [QTBUG-38483] QStandardPaths now has new enumeration values
+     AppDataLocation, AppLocalDataLocation to be able to differentiate
+     between roaming and local paths on the Windows operating system.
+     DataLocation is deprecated in favor of AppDataLocation.
+
+ - QString:
+   * QString can now split a string to a list of QStringRef.
+   * Added the QStringRef::split() function
+
+ - QTextStream:
+   * QTextStream now uses group separators when writing floating-point
+     numbers when the locale is not the C locale. The old behavior can be
+     restored by setting QLocale::OmitGroupSeparator on the locale.
+
+ - QTimer:
+   * [QTBUG-26406] Implemented new style connect syntax, including
+     functors, in QTimer::singleShot
+
+ - QUrl:
+   * QUrl::fromLocalFile now returns an empty URL if the input string is
+     empty.
+
+ - QVariant:
+   * [QTBUG-40363] Fixed ordered comparison between QVariants that do not
+     match but produce identical toString output.
+
+ - QVector:
+   * Added removeOne() and removeAll() for QList compatibility.
+
+ - QWeakPointer:
+   * Added lock() method for std::weak_ptr compatibility.
+   * Added member-swap function.
+
+ - QtJson:
+   * [QTBUG-26606] QJsonArray and QJsonObject now supports C++11
+     initializer lists.
+
+ - QtMath:
+   * Introduced qNextPowerOfTwo methods.
+
+QtDBus
+------
+
+ - Blocking calls that take a long time will now generate a warning. The
+   time taken may be tuned using the environment variables
+   Q_DBUS_BLOCKING_CALL_MAIN_THREAD_WARNING_MS and
+   Q_DBUS_BLOCKING_CALL_OTHER_THREAD_WARNING_MS. The value represents (in
+   milliseconds) how long before a blocking call is warned about. A value
+   below zero disables the warning, a value of zero will warn about all
+   blocking calls.
+
+QtGui
+-----
+
+ - Added QPixelFormat class.
+ - [QTBUG-38168] QtGui's OpenGL headers are now automatically including the
+   highest available header (gl31.h, gl3.h or gl2.h) in OpenGL ES builds.
+ - [QTBUG-36483] Dynamic OpenGL implementation loading is now supported on
+   Windows. This requires Qt to be configured with -opengl dynamic.
+ - [QTBUG-39583] Keymaps are now changeable at runtime when using eglfs.
+ - [QTBUG-40841] environment variable QT_DBL_CLICK_DIST customizes the
+   amount of movement allowed when detecting a double click.
+
+ - Clipboard:
+   * [QTBUG-41852] Fixed a memory leak in setMimeData() when the platform
+     plugin did not support the requested mode.
+
+ - Painting:
+   *[QTBUG-41413] Fixed some very rare cases of mismatched raster modes
+    in QPainter.
+
+ - QEvent:
+   * [QTBUG-38858] The debug output for events has been significantly
+     improved.
+
+ - QFont:
+   * [QTBUG-22814][QTBUG-22946] QFont now serializes its data properly,
+     without any data loss.
+
+ - QGuiApplication:
+   * Add support for -icon command line argument on X11, add -qwindowicon
+     on all platforms.
+   * Added QGuiApplication::screenRemoved signal to inform that a screen
+     has been removed, before Qt reacts to it.
+
+ - QImage:
+   * [QTBUG-25998] Added support for 10-bit per color channel image
+     formats.
+
+ - QOpenGLBuffer:
+   * [QTBUG-38168] Added QOpenGLBuffer::mapBufferRange().
+
+ - QOpenGLFramebufferObject:
+   * Introduced an argument to QOpenGLFramebufferObject::toImage() to save
+     mirroring the result.
+   * Added support 10-bit per color channels formats as the internal
+     framebuffer format, making it possible to render in that precision.
+
+ - QOpenGLTextureCache:
+   * Added support for uploading common QImage formats directly to OpenGL,
+     if supported by the OpenGL implementation.
+
+ - QPicture:
+   * [QTBUG-20578] QPicture now serializes its data properly by also
+     accounting for QDataStream versions greater than Qt 4.5.
+
+ - Tablet support:
+   * [QTBUG-39458] Added buttons to QTabletEvent
 
+ - Text:
+   * [QTBUG-41372] Fixed regression when rendering Uchen text in WebKit
+     on Windows.
+   * Fixed use of uninitialized memory in the FreeType font engine
+
+QtNetwork
+---------
+
+ - QNetworkAccessManager:
+   * Fixed behavior of upload QIODevice that generate data on readyRead()
+     for HTTP PUT/POST
+
+ - QSsl:
+   * QSsl::SecureProtocols now also excludes SSLv3
+
+ - QSslCertificate:
+   * Can now be used as a key in QSet/QHash.
+
+ - QSslError:
+   * Can now be used in QSet/QHash.
+
+ - QSslSocket:
+   * [QTBUG-28471] Added support for finding the version of SSL/TLS in
+     use by a connection.
+   * Added accessors for the version of OpenSSL used at build-time. This
+     will help when debugging problems caused by a mismatch with the
+     run-time version.
+   * [QTBUG-1565] Support for loading PKCS#12 bundles was added. These are
+     often used to conveniently transport keys and certificates,
+     particularly when making use of client certificates.
+
+QtPrintSupport
+--------------
+
+ - QPrinter:
+   * [QTBUG-11332] Added duplex support for Windows and OS X.
 
 QtSql
 -----
 
- - qsql ibase: fix memory corruption due to LONG being 4 bytes in firebird.
- - QSqlDriver::dbmsType(): New method reports DBMS type. Especially useful when using ODBC.
+ - ibase: Fixed memory corruption due to LONG being 4 bytes in firebird.
+
+ - QSqlDriver:
+   * Add support for determining DBMS type from SQL driver using
+     QSqlDriver::dbmsType()
+
+QtTest
+------
+
+ - Tests now output build information.
+
+QtWidgets
+---------
+
+ - All widgets with a setReadOnly method now send a ReadOnlyChange event
+   (e.g., for app-specific palette changes)
+ - [QTBUG-32888] Accessibility for widgets is now included in the widget
+   library instead of being a separate plugin. For static builds this means
+   that libqtaccessiblewidgets is no longer required.
+
+ - QComboBox:
+   * [QTBUG-33537] Fixed positions of items when QComboBox is set as
+     editable in Fusion style.
+   * [QTBUG-33537] Fixed updating appearance of popup menu when changing
+     the editable state of the combo box.
+
+ - QDialog / Windows:
+   * [QTBUG-2027] Dialogs can now be menuless.
+
+ - QGraphicsScene:
+   * Added the minimumRenderSize property which can be used to speed up
+     rendering by not painting items smaller than a give size.
+   * The removal of items when using the linear index is now more
+     efficient.
+
+ - QLayout:
+   * [QTBUG-37673] Widgets and dialogs containing layouts with
+     heightForWidth (such as a label with word wrap) will no longer get a
+     minimum size of 0x0.
+
+ - QLineEdit:
+   * [QTBUG-40287] The signal textEdited() is now emitted when the user
+     clicks the clear button created by setClearButtonEnabled() as well.
+
+ - QMainWindow:
+   * [QTBUG-40410] Dock widgets will now be resized properly when the
+     central widget has a fixed size.
+
+ - QPlainTextEdit:
+   * [QTBUG-36415] Fixed a crash when using full width selections and
+     issuing a complex undo command chain which removes and inserts an
+     empty block in one go.
+   * [QTBUG-40347] Fixed a possible divide by zero crash when font metrics
+     were missing for the font.
+
+ - QTabBar:
+   * Added changeCurrentOnDrag property.
+
+ - QTableView / QTableWidget:
+   * [QTBUG-29239] currentIndex() now reflects the top left cell when in a
+     span.
+
+ - QTreeView:
+   * Indentation is now style-dependent by default.
+   * Added resetIndentation().
+
+ - Styles:
+   * Allow overriding standardIcon() in a proxy style
 
 ****************************************************************************
 *                      Platform Specific Changes                           *
 ****************************************************************************
 
+Android
+-------
+
+ - [QTBUG-36019] Enable using native style also when Ministro deployment
+   mechanism is not in use.
+ - [QTBUG-29069] Release all windows when the application is suspended.
+ - Added Gradle support to build the APK.
+ - [QTBUG-39688] Back key no longer kills the application when no window is
+   visible.
+ - [QTBUG-41365] Default open-source license for Qt for Android is now
+   LGPLv3. For compatibility with the LGPLv2.1 license, add
+   "-no-android-style-assets" to your configuration.
+ - [QTBUG-32399] Input panels are now hidden when focus changes to an object
+   that does not accept input.
+ - [QTBUG-41854] Added support for QClipboard::clear()
+ - [QTBUG-41852] Fixed memory leak in QClipboard::setMimeData()
+ - [QTBUG-41817] QClipboard::mimeData() now returns an empty object instead
+   of null pointer from QClipboard when clipboard is empty for consistency
+   with other platforms.
+
+ - Important Behavior Changes:
+   * [QTBUG-36274] The main event loop is now stopped when the app is
+     suspended
+
+iOS
+---
+
+ - [QTBUG-39097] Accessibility was added to the iOS platform port. This
+   enables Qt applications to be read by VoiceOver on iOS devices.
+ - [QTBUG-42276] Fixed path to QStandardPaths::DataLocation. Until now,
+   DataLocation was pointing to the Document directory. With this patch,
+   it will return the more accurate Library/Application Support.
+   Applications making use of DataLocation should move these data to the
+   new location. This can be done using the path provided by
+   DocumentLocation as the source path.
+
+Linux/XCB
+---------
+
+ - [QTBUG-35832] Fixed transparency of tray icons in cases where there
+   is no alpha channel or system tray visual.
+ - environment variables QT_XCB_DEBUG_XINPUT and
+   QT_XCB_DEBUG_XINPUT_DEVICES are deprecated and replaced with logging
+   categories qt.qpa.events.input and qt.qpa.devices respectively
+ - [QTBUG-39572] Wacom touch devices are not mistaken for additional
+   graphics tablets any more.
+
+
 OS X
 ----
 
@@ -43,17 +415,51 @@ OS X
  - OS X 10.10 is now supported.
  - QMacStyle has been updated with better OS 10.10 support.
  - The Qt binary packages are now configured with C++11 enabled.
+ - [QTBUG-41208] Fixed detection of writing system support in fonts for
+   some scripts such as Mkhedruli.
+ - [QTBUG-41192] Fixed menu item shortcuts without keyboard modifiers.
+ - [QTBUG-31301] Drag-and-drop QMimeData requests are now delayed until
+   drop time.
+ - [QTBUG-10899] Added support for ApplicationState
+   capability. Application can now detect when an application states
+   have changed as well when the dock icon has been clicked.
+
+ - Fonts:
+   * [QTBUG-40986][QTBUG-40549] Fixed missing glyph box shown in place of
+     some uncommon Unicode code points.
 
 Windows
 -------
 
- - [QTBUG-38259] Changed configure defaults so that Qt5Core does not
-   link against ICU libraries anymore. Pass '-icu' to enable it.
+ - [QTBUG-38259] Changed configure defaults so that Qt5Core does not link
+   against ICU libraries anymore. Pass '-icu' to enable it.
+ - [QTBUG-35432][QTBUG-23687] Command line parsing on Windows now uses
+   the WinAPI function CommandLineToArgvW() to exactly match the quoting
+   behavior used by the majority of applications.
+
+ - Fonts:
+   * [QTBUG-41783] Fix off-by-one in font descent when using the
+     DirectWrite font engine.
+   * [QTBUG-39961] Set default fallback font to MS Shell Dlg 2 instead of
+     Arial.
+
+****************************************************************************
+*                      Compiler Specific Changes                           *
+****************************************************************************
+
+ - Release builds with Microsoft Visual Studio 2013 now enable the
+   standard-conforming C and C++ strict string behavior. This option will
+   be enabled in all builds with future Visual Studio versions.
+   Non-conforming code should be fixed for maximum portability and
+   correctness. See http://msdn.microsoft.com/en-us/library/dn449508.aspx
+   for more information.
 
 ****************************************************************************
-*                          Tools                                           *
+*                                Tools                                     *
 ****************************************************************************
 
+ - [QTBUG-30900] The obsolete findtr script was removed.
+
 configure & build system
 ------------------------
 
@@ -66,6 +472,12 @@ configure & build system
    from a pre-existing Qt installation.
  - [QTBUG-41267] Fixed parallelized (jom) -debug-and-release builds.
 
+moc
+---
+
+ - Fixed "zero as null pointer constant" warnings in moc's generated
+   code.
+
 qmake
 -----
 
@@ -86,3 +498,22 @@ qmake
  - QMAKE_EXTRA_COMPILERS' commands and depend_command are no longer mangled.
    Use $$shell_path() and $$shell_quote() to prepare the commands correctly.
  - Added link-time optimization support for Clang, GCC and ICC. CONFIG+=ltgc.
+
+rcc
+---
+
+ - rcc now supports an optional, two-pass compilation that improves build
+   times for large resource bundles. This feature can be enabled by adding
+   "CONFIG += resources_big" to your .pro file. Note that this feature may
+   interfere with builds that enable link-time code generation or other
+   optimization techniques.
+
+****************************************************************************
+*                          Third-party libraries                           *
+****************************************************************************
+
+ - ANGLE has been upgraded to version 2.1, bringing partial support for
+   OpenGL ES3 over Direct3D 11, numerous bug fixes, and several new vendor
+   extensions.
+ - [QTBUG-40649][QTBUG-40658][QTBUG-41031][QTBUG-41081][QTBUG-41308][QTBUG-
+   41563] ANGLE updated to 2.1~f8602ad91e4f
-- 
GitLab